Welcome to BBTECH Lab

Technical Note for Developing Embedded Media Devices, Set-Top-Boxes, Broadband TV, DVR, etc.

[DLNA][2]Introduce DLNA features

[DLNA][2]Introduce DLNA features

I. DLNA documents

These documents are very important for you to implement a DLNA application, you must understand them in detail

UPNP Specification

  • AV Architecture: to understand how DMS & DMR work, you should review this specs which describes interoperability between these DLNA components.
    • UPnP-av-AVArchitecture-vX-XXXXXXXX.pdf
  • DMS specification
    • UPnP-av-MediaServer-vX-Device-XXXXXXXX.pdf: describes Media Server itself such as device description information for Media Server with “urn:schemas-upnp-org:device:MediaServer:1” device type.
    • UPnP-av-ContentDirectory-vX-Service-XXXXXXXX.pdf: describes how to construct media files hierarchically
  • DMR specification
    • UPnP-av-MediaRenderer-vX-Device-XXXXXXX.pdf: describes Media Renderer itself such as device description information
    • UPnP-av-RenderingControl-vX-Service-XXXXXXXX.pdf: describes how to control a configuration of video and audio of player
    • UPnP-av-AVTransport-vX-Service-XXXXXXXX.pdf: how to play a media content
  • Commonly used UPnP service
    • UPnP-av-ConnectionManager-vX-Service-XXXXXXXX.pdf

DLNA Guidelines

  • Part 1-1 Architectures and Protocols.
  • Part 1-2 Extended Digital Media Renderer (XDMR).
  • Part 1-3 Cloud Access
  • Part 2 Media Format Profiles
  • Part 3 Link Protection
  • Part 4 DRM Interoperability Solutions (DIS)
  • Part 6-1 Remote User Interface – HTML5
  • Part 6-2 Remote User Interface – RVU
  • Part 7 Authentication
  • Part 8 Diagnostics
  • Part 9 HTTP Adaptive Delivery

II. DLNA features

2.1 DLNA functional components

[Refer to DLNA Guidelines June 2016 – Part 1-1 Architectures and Protocols.pdf]

Table 1. The specific functional components and technology ingredients that are covered in the interoperability guidelines

Figure 1 illustrates these functional components within the networking architecture of the interoperability guidelines
  • Media formats describles how content is encodd and formatted for media transport & how it is rendering on the home network
  • Media transport defines how content travels across the home network
  • Device discovery and control enables enables a device on the home network to discover the presence and capabilities of other deivces on the network and collaborate with these devices in a uniform and consistent manner.
  • Media management defines two types of UPnP devices on the home network: UPnP AV MediaServers and UPnP AV MediaRenders
  • Remote UI defines how UI content is decribled, formatted and transported from one device to other device. This also includes mechanisms for sending events and UI updates between different devices.
Figure 1. DLNA functional components within the networking architecture

2.1.1 Digital Media Controller – DMC

  • Contains MSCP (Media Server Control Point) and MRCP (Media Render Control Point) for discovering Media Server, Media Render and controlling the servers.
    • MSCP is in charge of Control Point of Media Server.
      • Discovers DMS.
      • Browse and searches the media contents from DMS.
    • MRCP is in charge of Control Point of Media Render. It discovers DMR.
      • Discovers DMR
      • Controls URL for playback such as pause, stop, and seek.
  • It is used for 3 box model [described in UPnP-av-AVArchitecture-vX-XXXXXXXX.pdf ] document.
  • Well know DMC

2.1.2 Digital Media Player – DMP

2.1.3 Digital Media Render – DMR

  • As you know well, MRCP make the DMP play a content such as audio, photo and video.
  • DMR contains AV Transport, Rendering Control and Connection Manager service
    • AVTransport service provides set of functions such as setURL, play, pause, stop and seek.
    • ConnectionManager service
      • provides an ability to control simultaneously (e.g. playing music in background while playing photo)
      • provides the protocol info to be supported by DMS.
      • DMR & DMS have ConnectionManager service.
    • RenderingControl service provides a set of function such as volume up/down, mute, brightness, contract, etc.
  • All APIs provided by AVTransport and RenderingControl service have instanceID parameter. InstanceID is equal to connectionID of ConnectionManager service.
  • Most DMRs support single instance. So connectionID is used as default value zero (Normally, many DMRs don’t support multi-instance)
Figure 2. Example a DMR service

2.1.4 Digital Media Server – DMS

  • DMS’s media contents consist of object unit.
  • Container object
  • Item inherit form “object”.
  • The object has an ID called “objectID” that must be unique in DMS.
    • objectID of root  object must be always Zero. Whenever a DMP calls Browse APT of ContentDirectory Service (CDS), objectID=0 must be used because the DMP can’t know another objectID except for root’s objectID.
Figure 3. Example DMS constructs the media contents hierarchically
  • Class hierarchy for item & container
Figure 4. Class hierarchy for item and container
  • DMS contains normally ContentDirectory and ConnectionManager service.
    • Shows its media files via ContentDirectory service: Provides a set of function such as Browse, Search, etc. [refer to UPnP-av-ContentDirectory-vX-Service-XXXXXXXX.pdf]
    • ConnectionManager service
Figure 5. DMS service

2.2 Explain DLNA Device Model

[Refer to DLNA Guidelines June 2016 – Part 1-1 Architectures and Protocols.pdf]

In the interoperability guidelines, the following system usages are defined

  • 2-box Pull system usage
    • Involves a user at DMP/M-DMP, which enables the user to find and play content that is advertised and distributed by a DMS/M-DMS
  • 2-box Push system usage
    • Involves a user at a Push Controller, which enables the user to distribute content to a DMR for playback purposes.
  • 3-box system usage
    • Required a user at a DMC/M-DMC, which enables the user to find content on a DMS/M-DMS that in turn will be played on a user selected DMR.
  • Upload Synchronization system usage
    • Involves a user at an Upload Synchronization Controller, which enables the user to reflect any changes to the local store of content into a DMS/M-DMS with the Content Synchronization Device Option so that the DMS/M-DMS can receive and distribute the new or changed content to other endpoints.
  • Download Synchronization system usage
    • Involves a user at a Download Synchronization Controller, which enables the user to obtain any changes to the store of content on a DMS/M-DMS supporting the Content Synchronization Device Option.
  • Scheduled Recording system usage
    • Involves a user at a Scheduled Recording Controller, which enables the user to instruct a media server DMS/M-DMS to browse, create, modify, and cancel scheduled recordings.
  • EPG system usage
    • Involves a user at an EPG Controller, which enables the user to view EPG metadata exposed by a DMS/M-DMS.

2.2.1 2-box Pull system usage

  • 1: Invoke UPnP actions to browse and select content.
  • 2: Request the content for playback
  • 3: Transport the content to the DMP/ M-DMP
Figure 6. 2-box Pull system usage interaction model

2.2.2 3-box system usage

  • 1: Invoke UPnP actions to browse and select content.
  • 2: Invoke UPnP actions to verify that DMR has the capability to render the selected content and then setup a connection for the selected content between the DMR & the DMS/M-DMS
  • 3: Request the content for playback
  • 4: Transport the content to the DMR
Figure 8. 3-box system usage interaction model

2.3 Example System Usage

2.3.1 Example For 2-BOX System Usage

2 Box model: DMP + DMS

Figure 15. Example for 2-box model

2.3.2 Example For 3-BOX System Usage

3 Box model: DMC + DMS + DMR

Figure 16. Discovery in 3-box model
Figure 17. Actions in 3-box model
bbtechlab