DLNA 投屏的基本原理

DLNA(Digital Living Network Alliance),即数字家庭网络联盟。DLNA不是技术,而是一种解决方案,它是多种技术的整合,并致力于构建家庭媒体共享。DLNA包含多种网络协议,如http、https、upnp等,其中upnp是其重要组成部分。

DLNA主要包含以下四种产品:

DMS,即Digital Media Server(数字媒体服务器)的缩写,其主要作用是作为媒体内容的提供者,为DMP/DMR提供内容播放,DMS可控制提供哪些媒体内容。

DMP,即Digital Media Player(数字媒体播放器)的缩写,可搜索并播放DMS的内容,其作用相当于DMR+DMC。

DMC,即Digital Media Controller(数字媒体控制器)的缩写,可搜索并控制DMR播放DMS提供的内容,即控制DMR与DMS的交互。

DMR,即Digital Media Renderer(数字媒体渲染器)的缩写,可播放DMS提供的内容。

Upnp设备架构(Upnp Device Architecture)

Upnp DA将家庭网络中的角色分为三种:控制点、设备和服务。它们之间主要通过HTTP技术实现通信。设备和相关服务的规格信息使用XML方式向其他节点公布。
Upnp DA中各角色的关系如下图:

各个角色的基本概念如下:

  1. 根设备/设备,即硬件设备,如电脑、电视盒子等。一个设备可提供多个服务。但是家用电器内部一般都包含了多个功能不同的设备,这样由多个设备集合而成的设备集合体,被称为根设备。
  2. 设备所能提供的功能服务。分为控制服务、事件服务、展示服务。服务是Upnp系统中最小的可控制单元(动作与状态)。
  3. 控制点。即控制设备,可发现并控制其他设备。如控制其他设备的视频播放、暂停等。
    在DLNA投屏的过程中,Android设备充当的角色是控制点,它初始化并配置好DMS和DMR设备之间的连接,并不直接参与真正的内容传输,内容传输由DMS和DMR完成。