Fuppes is really great, so far it's the best free UPnP media server available for GNU/Linux and works great with Canola (http://garage.maemo.org/projects/canola/), the application we at INdT work on.
You have done Audio transcoding, which is really great, since we all love OGG, but not every player out there decodes it (Canola, depending on Maemo Media Player, is an example).
I've read FUPPES code and the transcoding subsystem is extensible, but have some limitations that would make ellaborated audio transcoding more difficult and video transcoding almost useless: you can't set parameters and filters to modify quality, bitrate, size and other components that make a huge difference for small devices.
Example, if I have 5.1 audio and some devices doesn't deal with it, I would like to make a 2-channel version of it.
A more complex example is a h.264 with high definition and 5.1 audio, that takes 50-60% CPU just for decoding on my desktop, it would be impossible to play on a small device as Nokia 770 or even some phones or sound systems that supports UPnP out there. In this case I have to convert it to mpeg, which almost every device plays nice.
The way to expose these is to use various UPnP CDS object resource (<res>) elements, each with pre-configured bitrate, dimension and fps. Users would be able to configure these parameters, so optimal codec and parameters for their devices will be used.
Another "problem" I see with current architecture is that too much work have to be done in fuppes to support these conversion. The approach you use is really straightforward, but it doesn't scale well. I would rather use some multimedia framework like ffmpeg or gstreamer and let these handle it. Configuration parameter would then just be the pipeline you would assemble with framework.
Thanks for the great job!
Log in to post a comment.