Rygel transcoding (results of GSOC 2011)



Oops, I sent this to gupnp-list instead of rygel-list. Sorry!


----- Forwarded Message -----
> From: David Wendt JR. <dcrkid yahoo com>
> To: "gupnp-list gnome org" <gupnp-list gnome org>
> Cc: 
> Sent: Thursday, August 25, 2011 4:00 PM
> Subject: Rygel transcoding (results of GSOC 2011)
> 
> So, you may not know me yet, and that's... probably because I've 
> probably done a kinda bad job at communication thus far, but I was the person 
> selected to do the transcoding improvements[0] to Rygel. My name is David Wendt. 
> I'll start by listing off what happened:
> 
> 
> 1. I wrote a new Gst plugin called "Transcodebin" which abstracts the 
> existing Rygel.Transcoder autoplugging logic, so that it's now just a matter 
> of connecting a sink and source to transcodebin and setting the profile 
> property. This will have to be run by some of the Gstreamer maintainers, and it 
> is -very much- subject to change, but you can see the status of GstTranscodeBin 
> here[1].
> 
> 2. I wrote a patch to Rygel to replace said Rygel.Transcoder logic with the 
> transcodebin element, which is available in this github repo[2], branch 
> gsoc2011-gsttranscodebin.
> 
> 3. I wrote a Rygel patch to pull encoding profiles from GUPnP-DLNA, all of which 
> is focused in a new class Rygel.DLNATranscoder. The transcode manager now 
> creates one for each profile given from GUPnP-DLNA, and Rygel.DLNATranscoder 
> then takes said profile and does a bunch of introspection on the profile's 
> caps to determine the encoding distance and what to advertise in the DIDL 
> resources. It's in the same github repo[2] as the gsttranscodebin patch, but 
> under the branch gsoc2011-gupnpdlna-integration.
> 
> There's still a few issues with the whole system - most notably, with part 3 
> applied you now require every encoder necessary to encode to every DLNA profile. 
> We don't yet have a way to test if the system's gstreamer setup can 
> handle a particular transcoder and to filter out the ones that don't work. 
> In fact, as part of #3, I removed the old fixed transcoders as well as their 
> individual command-line options. Perhaps for the time being we could specify 
> certain video/audio codecs to ignore in a new command-line option, and then 
> profiles involving those codecs would be ignored, like so:
> 
>    --ignore-codec="mp3, wma, wmv"
> 
> which would exclude profiles that need an MP3 encoder, WMA encoder, or WMV 
> encoder. But I do think the most user friendly option would be automatic 
> detection of broken/non-existent codecs.
> 
> Additionally, there are issues involving the MP3 profiles that GUPnP-DLNA gives 
> us, which cause autoplugging to fail. I'm not sure if that's a 
> deficiency in the way our autoplugging works, GUPnP-DLNA, or my particular 
> system[3]. I do know that I was able to transcode using the gsttranscodebin 
> plugin with rygel using the Rygel.MP3Transcoder, but not using the existing 
> transcode logic in rygel using the GUPnP-DLNA MP3 profiles.
> 
> [0] http://socghop.appspot.com/gsoc/project/google/gsoc2011/dwendt09/28001
> [1] https://github.com/kmeisthax/gst-transcode
> [2] https://github.com/kmeisthax/rygel
> [3] Fedora Rawhide + rpmfusion-* is my development environment
>


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]