DLNA 协议接入

更新时间:2024-06-25 03:28:21下载pdf

本文介绍了 DLNA 的协议适用情况,最新版本的 TuyaOS IPC 类型开发包已集成本文协议内容,可以实现将设备的媒体信息通过 RTSP 或者 HTTP 形式推送到支持 DLNA 协议的屏幕。

DLNA 介绍

DLNA 协议接入

DLNA(Digital Living Network Alliance)是由英特尔、微软、索尼等公司于 2003 年制定的数字媒体互连协议,适用于图片、音频、音视频(AV)等多媒体文件。

接入方式

您可以 提交工单 联系涂鸦开通 DLNA 协议接入。

技术架构

DLNA 的技术架构如下图所示:

DLNA 协议接入

网络与连接

在数字化家庭中,网络协议族(IPv4 和 IPv6)是网络与连接的基础。DLNA 实现了对 IPv4 和 IPv6 的支持,以确保可以兼容旧的设备和未来将要加入的新设备。因为 IP 是网络设备通信的基础,所以大量的设备都实现了 IP 的功能,在 DLNA 方面,使用 IP 具有如下优点:

  • 应用程序可以在 IP 网络拓扑上透明运行,更容易发现其他设备。
  • 家庭中的每个设备都可以通过 IP 连接到互联网。
  • 成熟的 IP 协议已被广泛使用,成本低。

在家庭网络环境中设备的最常使用的是以太网(IEEE 802.3i 和 IEEE 802.3u)和无线技术(IEEE 802.11a、IEEE 802.11b、IEEE 802.11g 和 IEEE 802.11n),这两种都可以很方便的使设备连接到互联网上去。

设备发现与控制

设备发现与控制能够使家庭网络中的设备发现其他相关的设备,并与这些设备进行信息互通,协作完成一些工作。UPnP 设备架构 1.0 版本(ISO/IEC 29341-1)解决了所有这些需求,并简化了家庭设备联网。因此,UPnP 设备体系结构是 DLNA 设备的设备发现和控制解决方案。

媒体管理

媒体管理功能可以使设备通过家庭网络识别,管理和分发媒体数据。UPnP 音视频(AV)技术解决了家庭网络中所有可能遇到的需求,所以使用 UPnP 作为 DLNA 的媒体管理解决方案。

UPnP AV 协议定义了应用程序与 UPnP 音视频设备的交互模型。UPnP AV 设备可以被定义为(但不限于)电视、VCR、DVD 播放器、机顶盒、立体声系统、静像照相机、便携式媒体播放器、手机和 PC。并且 UPnP AV 协议允许使用任何媒体协议以任何格式进行传输内容。在 UPnP AV 协议中,将家庭网络中的设备定义为 UPnP AV 服务器和 UPnP AV 渲染器,还定义了 4 个相关的服务,如下所示:

  • CDS(Content Directory Service):公开可获取的内容
  • CMS(Connection Manager Service):决定 UPnP AV 服务器是如何向 UPnP AV 渲染器传输数据
  • ATS(AV Transport Service):控制数据流
  • RCS(Rendering Control Sevice:控制数据流如何被播放

媒体格式

媒体格式描述了需要在家庭网上传输的数据是如何被编码和格式化以及如何被显示的。DLNA 媒体格式分为三类媒体(图像、音频和 AV),并定义一组必选和可选的媒体格式配置文件。媒体格式配置文件是一组属性、参数、系统和压缩级别详细信息,足以描述内容二进制文件的媒体格式,以实现每个设备类别中 DLNA 设备之间的互通互用性。

媒体传输

媒体传输定义了数据是如何在家庭网络上进行传输的。DLNA 的源设备或者是接收设备都应支持 HTTP 进行传输数据,而 RTP(Real Time Protocol)作为可选传输协议。

设备角色

在 DLNA 中设备可分为 4 类:

简称 名称 作用
DMC(Digital Media Controller) 数字媒体控制器 在 DMS 与 DMR 之间建立连接,查找由 DMS 提供的内容并提供给 DMR 设备。
DMP(Digital Media Player) 数字媒体播放器 查找 DMS 提供的内容并在本地进行播放。
DMR(Digital Media Renderer) 数字媒体渲染器 显示由 DMS 提供的内容(该内容由 DMC 控制显示)。
DMS(Digital Media Server) 数字媒体服务器 公开并分发内容(内容可被 DMC,DMP,DMR 所使用)。

协议列表

设备发现

DLNA 使用 UPNP 协议来进行设备发现和控制。DLNA 设备会定期向 239.255.255.250:1900 这个固定的地址和端口发送 NOTIFY 多播报文,告诉网络中的其它设备,本设备具有哪些服务。同时,也可以向这个地址发送 M-SEARCH 多播报文搜索其它设备。

获取设备描述信息

在控制点发现设备之后,控制点仍然对设备知之甚少,仅仅能获取发现消息中涉及到的信息,即设备(或服务)的 UPnP 类型,设备的通用标识符以及设备 UPnP 描述的 URL。为了控制点了解有关设备及其功能的更多信息,或与设备交互,控制点必须从发现消息中由设备提供的 URL 检索设备及其功能的详细描述。

设备的 UPnP 描述包含几条特定于供应商的信息,所有嵌入式设备的定义,用于设备显示的 URL,所有服务的列表以及用于控制和事件的 URL。

获取服务信息

每个服务可能有零个或多个动作。每个动作可以具有零个或多个参数。这些参数可以是输入参数或也可以是输出参数。如果一个动作具有一个或多个输出自变量,则这些自变量中的一个可被标记为返回值。每个参数应对应一个状态变量。

设备控制

给定一个设备和该设备服务的信息,控制点可以向该设备发起请求调用服务的 action,并接受服务执行动作的响应。调用的方式是通过 RPC 的方式实现的,控制点向服务点发送请求控制数据,服务点接收控制命令,并且返回成功或者失败的结果给控制点。

如何控制设备

在设备的 description 中有个 controlURL 元素,该元素的值即为服务器地址,控制点向这个地址发送合适的请求,即可实现对设备的控制。控制请求采用 SOAP 协议。

媒体传输

DMR 会根据 SetAVTransportURI 中的媒体地址采用 HTTP 或 RTSP 协议进行拉流。其中 HTTP 是协议要求必须实现的,RTSP 是可选的。