Algorithm of preparing pipelines
Ian Davidson
id012c3076 at blueyonder.co.uk
Tue Mar 17 02:14:01 PDT 2015
There is no simple algorithm – it is a matter of experience.
The Gstreamer elements are like a set of Lego bricks – if you have a set
of Lego bricks, you can build any shape you want. Gstreamer elements
allow you to manipulate audio and video in a wide variety of ways.
What you need to know is that a 'Video File' will typically contain one
(or more) stream of video data and one (or more) stream of audio data.
These streams have been encoded (if you like, 'compressed') so as not to
be 'just a stream of bits', but something that is recognised as a set of
frames (or whatever). The streams have also been multiplexed together so
that one file/stream contains both the audio and the video.
If you want to work with a video file as your input, the first thing you
would probably need to do would be to de-multiplex the data – to
separate out the video and the audio. You would then have two paths in
your pipeline – one for the video and one for the audio. You would then
need to decode the data to get the 'raw' audio or video data which you
could manipulate. You might want to change the size of a video image or
the rate of an audio stream – whatever it is that you are working on the
data. Then, if you were planning to output a new file, you would need to
encode the data, and then multiplex the two streams together.
There are many different formats to choose from, so you will need to
study the documentation to see what elements are available to work on
your data, depending on what you are trying to do.
Your computer probably has more then one CPU – but left to itself, your
pipeline will be a single thread and will just use one core. The Queue
element will introduce a new thread into your pipeline – allowing
another core to take part in processing the data. You probably want more
than one thread – but 20 would probably be overkill. It is up to you to
place the queue elements where they will work for you.
On 16/03/2015 23:29, doon wrote:
> I want to build my own pipelines(not create) and understand that which
> elements, pads and containers I can use on my OS(windows 7 in my case),
> hardware and how? I mean that I seen enough prepared pipelines, but how they
> are made? I know about basic concepts(src, sink...), but why in the specific
> pipeline, we have to use just such a sequence of elements? Where we need to
> encode and decode? Where demultiplex? Which elements we need to use? etc.
> *So where I can find "algorithm" of preparing pipelines(which I'll can use
> in CMD)?*
>
>
>
> --
> View this message in context: http://gstreamer-devel.966125.n4.nabble.com/Algorithm-of-preparing-pipelines-tp4671163.html
> Sent from the GStreamer-devel mailing list archive at Nabble.com.
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20150317/207a975b/attachment-0001.html>
More information about the gstreamer-devel
mailing list