DLNA Magic Transcoding


One of the key features of Rygel (as a DLNA media server) is on the fly transcoding of content to formats that the client/player can handle. The idea is basically to make a DLNA media server (like Rygel) completely abstracted from transcoding so that it only has to choose a (DLNA) profile to transcode to and rest is handled by gstreamer and gupnp-dlna. Please refer to this email I sent to gupnp and rygel mailing-lists in June 2010 in which I explained the idea in detail. You might want to skip to "#2 Fully automatic transcoding". Things have changed since then and here is what you need to know also:

  • If you follow the whole thread, all the work went into a separate new library called gupnp-dlna and not gupnp-av.
  • gst-convenience has already been completely merged into relevant GStreamer components, mostly in the pbutils library in gst-plugins-base.
  • 'DLNA profile detection' part mentioned in the mail pretty much already in place and working. There is still not enough profiles covered though.
  • We already have the needed API (to fetch GStreamer profile given a DLNA profile) in gupnp-dlna. The task would now be mostly about getting it actually working by fixing various gstreamer elements (encoders and muxers of our choosing based on popularity).
  • Arun has mostly been working on some other projects for past many months and his work was continued by Parthasarathi Susarla first and now Luis de Bethencourt.


Zeeshan Ali (Khattak) (IRC nick: zeenix)

Luis de Bethencourt (IRC nick: luisbg)