How gstreamer play audio and video file

Nicolas Dufresne nicolas.dufresne at collabora.com
Wed Jul 9 10:40:44 PDT 2014


Hi,

Le mercredi 09 juillet 2014 à 21:45 +0530, Ravikumar B a écrit :
>     I am new to gstreamer. Previously i was worked bootolader and Linux device drivers.. Recently i moved to gstreamer work.
> I want to know following things about gstreamer.
> 
>    -> how gstreamer will communicate with Linux low level multimedia framework.
> 
>    -> when i was worked previous, i heard pulse audio and alsa and OSS.
> 
>        How gstreamer play  audio and video / camera files with hardware.. 
> 
>        ex: gst-launch playbin2 uri=file:///xxxx.vob 
> 
>        I have understand gstreamer API's for playing multimedia files..
> 
>        But i am intersted to learn lowlevel communication with gstreamer.
> 
> 
>        Can anyone please clarify my Querries..

This is a pretty wide question, hopefully this is what you are looking
for. The "Linux multimedia framework" not being a single thing does help
that much. Let's split by categories:

Video capture/acquisition:

This can come from v4l2, dvb, firewire etc. You will find different
elements like v4l2src, dvdsrc, dv1394src, hdv1394src, etc. The most used
right now is v4l2src, it's code can be found in
gst-plugins-good/sys/v4l2. Decklink support is also present.

Video decoding/encoding:

There is initial support for v4l2 m2m decoder gst-plugins-good/sys/v4l2.
Some work in ongoing for decoder support. Some support for HW
accelerated decoder support exist using higher level API like libvaapi
(gstreamer-vaapi on gitorious), OMX IL (see gst-omx), and more.

Video convertion:

There is initial support in gst-plugins-good/sys/v4l2.

For display:

There is display sink for many different graphic systems, the choice is
pretty large (e.g. ximagesink, xvimagesink, glimagesink, cluttersink,
etc.). Many project uses custom sink for their application needs (e.g.
WebKit). There is few attempts (not upstream yet) so support raw DRM
access.

hope this helps,
Nicolas



More information about the gstreamer-devel mailing list