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