august wrote:
hi
gavl is a really brilliant low-level library which handles the details of audio and video formats like colorspaces, samplerates, multichannel configurations etc.
i basically agree. and it is super simple. it took me two days during(!) piksel (while drinking beer and stuff) to hear of gavl/gmerlin and implement support for it in Gem.
gmerlin_avdecode uses gavl to deliver frames of audio and video (including conversions and resampling). It can decode all kinds of media files....mp3, ogg, flac, mp4, x264..etc. Pretty much everything that can be played with mplayer.
Together, they are as close to a full-fledged multi-media api that I have seen yet on linux. gstreamer comes close, but has a really large and complex design.
for me, gstreamer and gmerlin do not directly compete. while both claim to be "multimedia frameworks", the former is hard to interface on the data-level from a host application; however pipelines (within the gst-framework) are highly optimized and do not require much thinking of the host-programmes authors. otoh, gmerlin is a straighforward API to read data from a media-stream into your host application (writing is possible but more complicated)
I think you will see gavl/gmerlin become more standard in the future. Lumiera, the new video editing software from the cinelerra-cv folks, is based on it.
and Gem :-)
It IS unfortunate that they aren't yet apt-get'able, but I think that should happen soon.
gavl itself has been packaged into debian since etch. unfrotunately gavl is just the interface that defines how frames of data look like, whereas the actual decoding library is in a a package called gmerlin_avdec, which is _not_ in proper debian. however, it is available through debian-multimedia by christian marillat.
fgmasdr IOhannes