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