From LinuxMCE wiki
The Digital Living Network Alliance is an international, cross-industry collaboration of consumer electronics, computing industry and mobile device companies. Members of DLNA share a vision of wired and wireless interoperable networks where digital content such as photos, music, and videos can be shared through consumer electronics (CE), personal computers (PCs), and mobile devices in and beyond the home. DLNA is focused on delivering an interoperability framework of design guidelines based on internationally recognized open industry standards together with a certification and logo program to officially verify and validate the conformance and interoperability of compliant products for consumers.
DLNA published its first set of Interoperability Guidelines in June 2004, and the first set of DLNA Certified products began appearing in the market soon thereafter. The latest version of the DLNA Interoperability Guidelines, version 1.5, was published in March 2006 and then expanded in October 2006. The current guidelines expand the capabilities of the DLNA-defined network to include more device classes and functional capabilities – including printers, mobile devices, controllers, uploaders and downloaders.
How does it work
First of all we need some kind of network. It might be LAN, WAN, wifi, wimax, gprs, 3g etc. As long as it can talk TCP/IP and handle multicast it should work in theory. Next you need a couple of dlna compatible devices. For example a Playstation 3 and a DMS. For example Fuppes or MediaTomb. As soon as you power up your PS3 you should see a the DMS under each of the three categories (Pic, Audio, Video).
Digital Media Server: Store media content and makes it available to DMP and DMRs.
Digital Media Player: Plays content stored on DMRs and render its output to a screen, audio amplifier etc.
Digital Media Renderer: Plays content received from DMC which get its media from a DMS.
Digital Media Controller: Gets content from DMS and plays it on a DMR. Its like a remote control. Just control stuff. For example: Internet Tablets etc.
Digital Media Printer: Provides printing capabilities to a dlna enabled network.
- Other device classes:
MHDx P: Player U: Uploader D: Downloader C: Controller
HID: M-NCF: Mobile Network Connectivity Function MIU: Media Interoperability Unit
Supported media formats (DLNA approved formats)
MPEG-1, MPEG-2 H.263, MPEG-4 Part 2, MPEG-4 Part 10 WMV9, VC-1
LPCM MPEG-1/2 L2, MPEG-1/2 L3 MPEG-4 AAC LC, MPEG-4 AAC LTP, MPEG-4 HE AAC, MPEH-4 BSAC AC-3, ATRAC3plus, WMA, WMA Professional, AMR, AMR-WB+, G.726
JPEG, PNG, GIF, TIFF
Media Format Profile
A format profile define a combination of media formats that create a media object. MPEG-2 video + AC-3 sound, make up a DVB PS stream.
Video: MPEG-2 (NTSC constraints) Audio: Encoded using either AC-3, LPCM, or MPEG 1/2 L2 System: Program Streams
DRM exist in DLNA world too. It consist of serveral DRM technologies together with something calle Link Proctection. Basically you by the right to use a media and you are able to transport it to any of your dlna devices. They DMR handle encryption, decryption and re-encryption. Above is a oversimplified.
LMCE implementation status
As of today LMCE use Fuppes as its UPnP/DLNA server. There is a proposed change to MediaTomb since it is more complete in terms of functionality and maintenance/maturity.
- 2-box push:
In this scenarion only two boxes (might be software or hardware boxes) interact. We have DMS and one DMP. The DMP fetch content from DMS and render it and plays it.
- 3-box push:
This scenario involve three components. One DMS. A DMC and a DMP. In this scenarion we can use the DMC to control what is played on the DMP.
DMS---->DMP | ^ | | |->DMC-|