[Lumiera] gstreamer

Christian Thaeter ct at pipapo.org
Tue Jun 2 17:46:59 CEST 2009


Bhikkhu Mettavihari wrote:
> Dear List members,
> 
> I had a mail with some comments that might interest you.
> 
> with metta Mettavihari
> 
> =========
> 
> 
> Thank you for the input.
> 
>> Sure! I'll send this around few guys i know, in SL. just out of
>> curiosity, any special reason why Lumiera was chosen ?.
> 
> I am personally using Cinelerra in a big way in my Television
> Channels. I would like to contribute whatever I can. Taking Only!  is
> not the spirit of the community. Giving back is also required.  I
> feel this project is coming along in a good way and needs support
> from Programmers.
> 
>> the open source world and most of the commercial world. have
>> settled down to a standards produced by The Gstreamer :). and The
>> project Piviti which is a non linear video editor made purely with
>> gstreamer :). For a newcomer, I believe this is more of a suitable
>> project since, it's done in a modular way with a easy learn API
>> with C and Glib. for a example. you could write a gstreamer effect
>> plugin, or a rendering backend. without being a die-hard c
>> programmer, and it creates a platform for testing advance 
>> algorithms of live video processing for some one who knows the
>> trade. and Gstremer framworks was born out of the failures and
>> problems caused by programs like Lumeria/ffmpeg..etc in the past
>> :). So frankly, I would recommend Lumiera to switch to gstreamer as
>> well, if it's to make a good impression in the foss/freedesktop
>> community :). So that's one positive way of contributing, if they
>> don't like it. Sri lanka can starts it's own Editor based on
>> Gstreamer .. right :D ?

"..born out of the failures and problems caused by programs like Lumeria.."

Nice try :), just for the note: gstreamer predates Lumiera by years!

Gstreamer is a nice framework for advanced media players and simple
editors. But we found early that it is not suitable and scaleable for
what we want to do. Lumiera will likely come with a gstreamer plugin
itself to integrate gstreamer pipes into the Lumiera render pipe. If
anyone wants a pure gstreamer based NLE, try Pitivi.

We decided to build Lumiera on our own rendering and I/O system and that
is a core design decision for Lumiera. Only this way we can exactly do
what is needed for Lumiera and not just make just another GUI to some
existing multimedia framework.

I don't want to go into deep technical details here, basically in
Lumiera the I/O and caching backend will be tightly coupled with the
render engine, requests are 'pulled' through the pipe. Then, because of
intelligent caching and masking, only parts of a scene where parameters
have changed since it was last rendered (and cached) have to be
recomputed. There is a very efficent memory and I/O handling which
scales with the capabilites of the hardware. GStreamer in contrast needs
to push data through the render graph. This (for example) has the effect
that all input data needs to completely processed (decoded, apply
filters, ...) even if some stream might be faded out or covered by some
mask in the final output. Further I really dont know if (and how easy)
it would be possible to cache intermediate rendering results.

Futher, ichthyo plans some 'intelligent' render pipe which can be driven
partly by rules (possibly in a prolog like language) which acts as
'Expert System' doing the cumbersome tasks of wireing nodes to each
other in a intelligent (non-loss, quality preserving, ..) way. Gstreamer
has only a simple api to wire nodes on a very low level, of course, we
need that too, but thats just the most basic thing which is not that
complicated anyways.


	Christian


More information about the Lumiera mailing list