[Bf-committers] GStreamer

neXyon nexyon at gmail.com
Tue Aug 25 19:14:13 CEST 2009


Due to the latest discussion about ffmpeg also the question about 
alternatives came up and such I got to know that there has been a 
discussion about using GStreamer, but nobody can remember the exact 
reason why we finally didn't use it, so I started investigating a bit if 
we could use it.

The design of GStreamer is basically that you put so called elements 
into a pipeline; example: filesource file.ogg -> oggdemuxer -> 
vorbisdecoder -> audioconverter -> audioresampler -> alsaoutput. So 
first I thought we have to write our own elements (which should be 
easily possible with the plugin system), but in the #gstreamer channel 
on IRC they told me that there are App* elements to let applications use 
GStreamer without having to write such, so the integration should be 
easily possible.

About losing functionality or not if we use gst instead of ffmpeg, I 
found out that there is gst-ffmpeg, so if we include that with all 
plattforms, we have no loss of supported codecs.

Moreover gst also supports QT and a hell lot of other libs (ogg, 
DirectShow (Windows), ...), so I would propose to use ffmpeg and QT 
through gst in case we decide to use gst, that would be a big advantage 
for the video code in blender as we'd have to maintain less. For example 
some ppl poked me about writing a backend for QT too for audaspace, if 
we'd have a gst backend, we could drop the ffmpeg and sndfile backend 
and I don't have to write the QT backend as we have all in one then via gst.

I then asked questions concerning the deployment. It's clear that it 
should be possible to still have the blender zip run without the need of 
installing dependencies and according to the ppl in #gstreamer thats not 
a problem, it's even possible to link gst statically (they only told me 
that we have to take care about GPL compatibility of the stuff we link). 
The size of blender sholdn't grow to much too, as the core of gst is 
pretty small. It depends on how many plugins we ship and gst-ffmpeg for 
example shouldn't add to much, we currently ship the ffmpeg libs anyway.

Let the discussion begin!


More information about the Bf-committers mailing list