DLNA,全称Digital Living Network Alliance,直译为“数字生活网络联盟”,是一个由家用电器、移动电话以及电脑厂商组成的联盟组织,其目标在于创建一套不同厂商的产品可以互联的工业标准,方便消费者数字化生活。该组织于2003年6月成立,2017年2月解散。虽然DLNA已经解散,但是其标准仍被很多消费类电子设备厂商遵循使用。
DLNA标准体系分为8层,如下表所示
Functional Components | 功能组件 | Technology Ingredients |
---|---|---|
Connectivity | 连通性 | Ethernet, 802.11 (including Wi-Fi Direct), MoCA, HD-PLC, HomePlug-AV, HPNA and Bluetooth |
Networking | 网络 | IPv4 and IPV6 Suite |
Device Discovery and Control | 设备发现控制 | UPnP* Device Architecture |
Media Management and Control | 媒体管理控制 | UPnP AV, EnergyManagement, DeviceManagement, and Printer |
Media Formats | 媒体格式 | Required and Optional Format Profiles |
Media Transport | 媒体传输 | HTTP (Mandatory) , HTTP Adaptive Delivery (DASH) and RTP |
Remote User Interfaces | 远程用户界面 | CEA-2014-A , HTML5 |
Device Profiles | 设备简介 | CVP-NA-1, CVP-EU-1, CVP-2 |
这里仅关心“设备发现控制”和“媒体管理控制”部分的UPnP协议。 UPnP协议实际上不是DLNA制定的,是微软和英特尔在主推,DLNA组织是直接采用了。
在DLNA体系里有10种设备:
- 数字媒体服务器(DMS,Digital Media Server):提供媒体文件的获取、录制、存储能力,可以作为源头设备。
- 数字媒体播放器(DMP,Digital Media Player):能从DMS/M-DMS上查找并获取媒体内容并播放和渲染显示。如智能电视、家庭影院(媒体播放机)
- 数字媒体渲染器(DMR,Digital Media Renderer):可接收并播放从 DMC 推送过来的媒体文件。与DMP的区别是,不能浏览查找DMS。如显示器、音箱。
- 数字媒体控制器(DMC,Digital MediaController):作为遥控设备使用,可查找 DMS 上的多媒体文件,并指定可播放该多媒体文件的 DMP 进行播放或是控制多媒体文件上下传到 DMS 的设备。
- 数字媒体打印机(DMPr,Digital Media Printer):DMPr 的打印机可以在 DLNA 网络架构下提供打印功能。
- 便携式数字媒体服务器(M-DMS,Mobile Digital Media Server):针对手机等体积较小、轻巧可移动式的电子设备所定义的服务器,多媒体格式支持与一般 DMS 稍有不同。
- 便携式数字媒体播放器(M-DMP,Mobile Digital Media Player):针对移动设备的播放器,多媒体格式支持与一般 DMP 稍有不同。
- 便携式数字媒体上传控制器(M-DMU,Mobile Digital Media Uploader):可将文件上传至服务器,供服务器分享给播放器作播放。
- 便携式数字媒体下载控制器(M-DMD,Mobile Digital Media Downloader):可将服务器上的文件下载到设备上。
- 便携式数字媒体控制器(M-DMC,Mobile Digital Media Controller):功能与 DMC 相同。
除非是设备厂商,普通程序员常见的编程需求是编写控制DMS、DMP的程序。本文也将主要聚焦这个需求。