SoC 2006 ([email protected])

Yay I got my SoC project accepted!

So what is it: avKode - A Phonon backend for FFMPEG

It is basically killing a horrible interface and an error-source called xinelib, and going directly to the source. This also enables more powerfull features in the long run such as capture and encoding.

avKode will be a Qt/C++ implementation of libavformat which uses the universal decoder libavcodec as a backend.

At the same time I will attack a number of problems the other Phonon backends are running into. Basically fixing KIO in KDE4 to be much more usefull (adding seeking, cleaning interface, etc.)

The order of attack is something like:

  • Update/implement the aKode phonon backend; to have a base for step 2.
  • Clean-up and implement needed streaming/file-abstraction functionality in KIO
  • Start porting libavformat to some sane Qt/C++
  • Make playback work
  • Make synchronization perfect.

Sometime post SoC I hope to be able to add encoding and other features provided by FFMPEG.

Right now I am sitting K3M - The KDE MultiMedia Meeting. It's a great opportunity to found out what everybody thinks we need, and get a good multimedia friendly start for KDE4 KIO.


Can FFmpeg automatically detect and play all the audio and video formats Xine-lib can (ie. Windows media, Quicktime, Real Player, AAC, AVI, Ogg, Dirac, DVB etc)? In other words, if I give it a random codec, does FFmpeg just work? My experience has been that Xine-lib certainly does!

Users want something that just works for any file they have. There must be some advantages to using Xine-lib, or otherwise it would never have been made by its developers.

I wonder why so few (if any!) KDE apps currently use FFmpeg directly as a backend -- amaroK, Kaffeine, Codeine, Juk don't have an FFmpeg backends. Perhaps there is no need in the userbase for FFmpeg by itself.

What makes you think that once FFmpeg is able to do capturing and encoding, Xine-lib won't be able to as well? Will avKode be simple a glue between FFmpeg and Phonon or will it also be a backend for libMAD, libmpeg2, liba52, FAAD2, ogle, mpc, and xiph as well as be a sound server?

I wish you good luck, but I just hope you're not duplicating Xine-lib's work.

By vladc at Fri, 05/26/2006 - 17:12

I am very surprised Google approved this project. Creating another wrapper for a ffmpeg seems utterly redundant. 90% (aacPlus streams, DVD viewing, MP3, OGG etc) of what I use xine for (in amarok, Kaffeine, etc) are not supported by ffmpeg.

What next? Separate Phonon wrappers for ogg, aac, DeCSS libs?

Creating a Phonon wrapper for xine would instantly make KDE4 multimedia-capable.

I hope you can enlighten the many of us who are puzzled at the withdom of your undertaking.

By suslikreal at Fri, 05/26/2006 - 19:32