Spring 2008, Redmond, Washington DLNA Device Implementation Edwin Heredia Program Manager Windows Devices & Media Rally Technologies www.microsoft.com/rally Digital Media Server (DMS) Rally Technologies www.microsoft.com/rally DMS Protocols and Services UPnP MediaServer Content Directory Service (CDS) Connection Manager Service (CMS) Media Streaming UPnP DA (Device) HTTP TCP/IP Wi-Fi and/or Ethernet Rally Technologies www.microsoft.com/rally CDS The CDS provides a logical structure for the media library available in the Server: Containers Collection of other containers or items Items Single entity that users perceive as one piece of content Resources Binary representation of the content (a file or a stream) DMCs and DMPs retrieve media library information from a DMS using different CDS actions Rally Technologies www.microsoft.com/rally Windows CDS (partial view) ROOT (0) MUSIC (1) VIDEO (2) PICTURES (3) PLAYLISTS (12) All Music (4) All Video(8) All Pictures(B) All Playlists(13) Genre (5) Genre (9) Date Taken(C) Folders (17) Artist (6) Actor (A) Albums (D) Album (7) Series (E) Keyword (D2) Folders (14) Playlists (10) Playlists (11) Album(7) Folders (15) Rating (101) Rating (200) Folders (16) Rating (300) Rally Technologies www.microsoft.com/rally Item and Resources One “Item” can have more than one “Resource” Example: The Item describes the movie “Terminator” Resource 1: MPEG-2 version Resource 2: WMV version Resource 3: Low res MPEG4 version Most implementations select only the first Resource (not the best approach) A good implementation selects a Resource based on Available bandwidth Native vs. Transcoded Receiver features (cell phone vs. TV, etc) Rally Technologies www.microsoft.com/rally <item ….. > <dc:title> …… </dc:title> <upnp:class> ….. </upnp:class> <res …….> URI </res> <res …….> URI </res> <res ……..> URI </res> </item> protocolInfo The most important attribute in DLNA! In a DMS, it describes all the server features per resource Divided in 4 fields: 1st Field Defines the streaming protocol (http vs. rtp/rtsp) 2nd Field Empty 3rd Field MIME type 4th Field DLNA parameters: •ProfileID • Time Seek, Byte Seek, Server-driven play speeds • Transcoding flag • Streaming, Interactive, Background flags • Others… Rally Technologies www.microsoft.com/rally CDS Actions (partial) GetSearchCapabilities GetSortCapabilities CDS By title By date By creator Etc CDS By title By date By creator Etc Search SearchCriteria Browse BrowseFlag CDS CDS Containers Items Rally Technologies www.microsoft.com/rally Optional Containers Items Windows DMS For more information about the parameters and the implementation features of the Windows DMS, please use the following document: http://www.microsoft.com/whdc/device/media/ NetCompat_WMP11.mspx Rally Technologies www.microsoft.com/rally Digital Media Renderer (DMR) Rally Technologies www.microsoft.com/rally DMR Protocols and Services UPnP MediaRenderer Connection Manager Service (CMS) AVTransport Service (AVT) Rendering Control Service (RCS) Media Decoding UPnP DA (Device) HTTP TCP/IP Wi-Fi and/or Ethernet Rally Technologies www.microsoft.com/rally UPnP Optional, DLNA required Typical sequence of operations 1. Get Media Library info 3. User selects content 2. Send me the “Profiles” that you can play (protocolInfo) 4. Pass URI & metadata for selected item; Play 5. Pause, Stop, Seek, FF, Rewind, etc 6. Adjust volume, brightness, etc Rally Technologies www.microsoft.com/rally Typical sequence of operations CDS operation 1. Get Media Library info 3. User selects content 2. Send me the “Profiles” that you can play (protocolInfo) CMS operation 4. Pass URI & metadata for selected item; Play AVT operation 5. Pause, Stop, Seek, FF, Rewind, etc AVT operation 6. Adjust volume, brightness, etc RCS operation Rally Technologies www.microsoft.com/rally DLNA upgrades for DMR/DMC DMRs return a “protocolInfo” that includes the ProfileIDs they support DMRs always have available a default connection, a default AVT service, and a default RCS service DMCs pass the content URI but also must pass associated metadata DMCs can make seek requests to a DMR using Time or Byte information Actual content seek operations and play speed operations can happen locally (DMR) or with the help of a networked Server (DMS) DMRs have the means to communicate to DMCs the list of play speeds, and the flavor of seek operations available per resource Upgrades described in recently approved documents CR13, CR58, CR155 Rally Technologies www.microsoft.com/rally List of relevant actions 1. Get Media Library info 2. Send me the “Profiles” that you can play (protocolInfo) CMS:GetProtocolInfo 3. User selects content 4. Pass URI & metadata for selected item; Play AVT:SetAVTransportURI AVT:Stop AVT:Pause AVT:Play (Speed = 1) 5. Pause, Stop, Seek, FF, Rewind, etc AVT:Play (Speed = 3) AVT:Seek (REL_TIME = 0:05:35) RCS:SetVolume Rally Technologies www.microsoft.com/rally AVT:Seek (X_DLNA_REL_BYTE = 224688) RCS:SetBrightness 6. Adjust volume, brightness, etc Certification of DLNA devices Rally Technologies www.microsoft.com/rally A sketch of the process Become a DLNA member Participate in plugfests Do internal testing; use the CTT tool Ensure compliance with pre-requisites (UPnP certification, Wi-Fi certification, etc) Contact DLNA to start the certification program Submit your device to Certification Labs After passing tests, get a DLNA Certificate A DLNA Certificate (version 1.5) will be a requirement for Networked Media Devices that apply for the new Certified for Windows Logo Program Rally Technologies www.microsoft.com/rally DLNA Certification Conformance Interoperability Test Lab - Independent Certification Vendor (ICV) Conformance Test Tool (CTT) Rally Technologies www.microsoft.com/rally Interop Testing with Test Bed Reference Devices Certification Logo and Certificate DLNA Certification Labs XXCAL Yokohama, Japan Professional Multimedia Test Centre (PMTC) Hasset, Belgium Rally Technologies www.microsoft.com/rally Allion Computer Taipei, ROC University of New Hampshire Interoperability Lab. UNH-IOL Additional Resources DLNA web site: www.dlna.org DLNA Technical Operations Manager (certification program): Andi Hall (andi.hall@dlna.org) Program Manager for Windows Networked Media Services: Scott Manchester (scottman@microsoft.com) Program Manager for the Windows Logo program for Networked Media Devices: Kevin Larkin (kevinla@microsoft.com) Questions about the Windows program for Networked Media Devices: nmdinfo@microsoft.com Questions or comments about this presentation: Edwin Heredia (edwin.heredia@microsoft.com) Rally Technologies www.microsoft.com/rally Spring 2008, Redmond, Washington © 2006 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries. The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION. Rally Technologies www.microsoft.com/rally