GNOME Bugzilla – Bug 722888
Proposed DLNA-compliant MediaEngine plugin
Last modified: 2018-05-22 12:45:00 UTC
Created attachment 267100 [details] [review] ODIDMediaEngine (v0.1) Attached is a patch that defines a Rygel MediaEngine plugin that works in concert with the Rygel MediaServer described in bug 722724 and utilizes the MediaObject, HTTP processing, and MediaEngine API enhancements described in the bug 720128, bug 720220, and bug 720223. This MediaEngine exposes and operates on AV content files in an on-disk item/resource/metadata directory structure ("ODID"). It can provide scaled/trick content streams (PlaySpeed), time-seek support, DTCP protection, and multi-resource representations. CableLabs has released tools for producing odid content items from common flat-file AV content files. See https://github.com/cablelabs/server-ingest for more information. CableLabs currently is using the ODIDMediaEngine and server-ingest tools to perform DLNA CVP-2 client compliance testing. But this ME can be used to host content from other sources - such as pre-transcoded content, device-supplied content that includes metadata, and/or pre-scaled content streams. And it illustrates how a MediaEngine can utilize multiple content/metadata files behind-the-scenes. This kind of indirection can be of particular use for devices which wish to utilize Rygel to host device-supplied content via DLNA - where the device may provide metadata and/or have unique forms of content access. We will try to supply more complete documentation/examples of the ODID (on-disk item directory) layout & metadata format in the near future. Currently, we are adding support for limited-operation and live streaming modes to the ME as well as fully-asynchronous IO. So expect a new version of this plugin shortly. Comments and feedback are welcome.
Here's a link describing the odid layout and metadata: https://community.cablelabs.com/wiki/pages/viewpage.action?pageId=72649469
-- GitLab Migration Automatic Message -- This bug has been migrated to GNOME's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.gnome.org/GNOME/rygel/issues/65.