What's the difference between ffmpeg and gstreamer?

Sebastian Dröge sebastian at centricular.com
Sat Dec 28 04:01:32 PST 2013


On Fr, 2013-12-27 at 16:19 +0100, Aleve Sicofante wrote:
> So ffmpeg is just one of those set of codecs that gstreamer can use, but
> not the only one at all, right?

ffmpeg/libav is a library that contains all kinds of codecs, support for
various container formats, some filters, etc. It's a library providing
some API to use these things separately.

GStreamer is one level/layer above that and a generic multimedia
framework, based on pipeline graphs (check Wikipedia for the pipes and
filters software design pattern for example). It allows you to put
together arbitrary multimedia processing pipelines built from different
components (we call them elements) that all do different tasks.
GStreamer provides generic mechanisms to put together these pipelines,
control them, synchronize data flow, etc.

Some of these elements are for example decoders, that could for example
be implemented by using ffmpeg/libav. Others could be filters or
elements that read data from a network stream, or write data to a file,
or ...

> Is there any good book/website to learn all about gstreamer?

This should be a good start:
http://gstreamer.freedesktop.org/data/doc/gstreamer/head/manual/html/index.html

Or any of the many GStreamer introduction talks done at various
conferences, e.g. this one here by Stefan:
http://lac.linuxaudio.org/2010/download/GStreamerAudioApps.pdf

Note that everything on the gstreamer.com website linked by Dan Kegel is
nothing provided by the GStreamer project (it's something provided by
two companies) and is also using the very old 0.10 version of GStreamer.

The 1.x versions are the latest versions, and the ones supported by the
community, and have an improved API compared to 0.10.

-- 
Sebastian Dröge, Centricular Ltd - http://www.centricular.com
Expertise, Straight from the Source
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 966 bytes
Desc: This is a digitally signed message part
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20131228/1f6e31d2/attachment.pgp>


More information about the gstreamer-devel mailing list