We have transcoding!

Since transcoding is one of the hottest feature almost every user expects from a decent modern MediaServer, I finally manged to put some time into implementing it. After two weeks of hacking, I finally have transcoding implemented in Rygel. Yay! The source format/codec could be anything that gstreamer's decodebin2 can handle. The target format/codec had to be specific and I currently support mp3, PCM and mp2 video + mp2 audio encapsulated in mpeg transport stream.

Before you ask, no! none of the above transcoding classes work against PS3 but PCM. So you can listen to your OGG vorbis file on your PS3, yes but no videos that are in format alien to PS3. With transcoding working with PCM, I don't think any PS3 user will miss transcoding to mp3 (especially keeping in mind the inevitable loss in quality because of transcoding from one lossy codec to another) but transcoding of videos is something users would want/need so I will look into why PS3 refuses the mpeg ts stream from Rygel, however I have a feeling that the problem is most probably not in my code but mpegtsmux gstreamer element. If that is the case, I might not be able to get to dig into this issue any time soon myself. However, anyone willing to contribute is welcome to look into this matter.

Comments

Unknown said…
Hi!

I would love to try Rygel, have you considered using a PPA to distribute it?
zeenix said…
David!
With so many things on my TODO for Rygel and GUPnP, I think I better leave the task of packing for individual distros to other people. I will of course do it myself for Debian/Ubuntu at least if nobody else do it before Rygel is in a very good shape.
Awesome! I'll have to give it a go some time.
Anonymous said…
Really cool work. Maybe your problems are related to these two bugs:
http://bugzilla.gnome.org/show_bug.cgi?id=550613

http://bugzilla.gnome.org/show_bug.cgi?id=564622

Anyway, please keep up the good work!

/Andreas

Popular posts from this blog

Welcome to the virtual world!

clutter-gst

zbus and Implementing Async Rust API