Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
ISO/IEC 29341-4-2:2011定义了UPnP AV架构,这是描述ISO/IEC 29341系列中定义的各种设备类型和服务如何协同工作以形成完整、可互操作的家庭音视频网络系统的基础框架。与关注特定功能的单个服务规范不同,这份架构文档提供了总体设计模式、交互协议和系统级行为,使得来自供应商A的媒体服务器能够将内容流式传输到来自供应商B的渲染器,并由来自供应商C的应用程序控制。
该架构定义了AV交互的四个基本阶段:发现(SSDP)、描述(设备和服务XML文档)、控制(SOAP动作)和事件通知(GENA)。每个阶段都建立在UPnP设备架构v1.0(ISO/IEC 29341-1系列)之上,并增加了AV特定的语义。该架构还定义了两种3-box模型(标准的服务器-渲染器-控制点三角关系)和一种2-box模型(其中一台设备合并了两个角色)。
媒体服务器角色提供内容存储、元数据管理和流媒体能力。它实现了ContentDirectory、ConnectionManager和AVTransport服务。媒体渲染器角色接收和渲染内容,实现了RenderingControl、ConnectionManager和可选的AVTransport服务。控制点角色协调交互,自身不实现任何媒体服务,而是作为智能指挥者,告诉服务器提供什么内容以及渲染器如何渲染。
| 角色 | 必需服务 | 示例 | 网络位置 |
|---|---|---|---|
| 媒体服务器 | CDS, CMS, AVT | NAS、PC媒体库、DVR | 内容源(HTTP/RTSP服务器) |
| 媒体渲染器 | RCS, CMS, (AVT可选) | 智能电视、Sonos音箱、AV接收器 | 内容接收端(HTTP/RTSP客户端) |
| 控制点 | 无(仅客户端) | 智能手机应用、遥控器UI | 协调者(在两个设备上调用动作) |
标准的3-Box交互流程如下:(1) 控制点通过SSDP多播发现媒体服务器和媒体渲染器。(2) 控制点从两个设备检索设备描述和服务XML。(3) 控制点通过GetProtocolInfo()查询两个设备的CMS,找到兼容的协议。(4) 控制点调用服务器CDS上的Browse()向用户展示内容选择。(5) 用户选择后,控制点调用两个设备CMS上的PrepareForConnection()。(6) 控制点调用SetAVTransportURI(),然后调用服务器AVT上的Play()。(7) 媒体数据直接从服务器流向渲染器。(8) 控制点在流媒体期间可以通过RCS调整渲染参数,通过AVT控制播放。
在2-Box模型中,三个角色中的两个被合并到一个物理设备中。最常见的变体是”媒体服务器+控制点”组合,其中像智能手机这样的设备同时充当内容源和控制器,流式传输到单独的渲染器。较少见但在架构上同样有效的是”媒体渲染器+控制点”组合,其中带有内置浏览器的智能电视发现和浏览远程媒体服务器。2-box模型减少了网络往返次数,代价是合并角色之间的耦合度更高。
AV架构有意将控制平面(通过SOAP的UPnP动作)与数据平面(媒体传输)分离。这种分离使架构能够支持任何可以用ProtocolInfo字符串格式描述的传输协议。当新的流媒体技术出现时(例如WebRTC、HLS、MPEG-DASH),只需定义其协议标识符并确保CMS协商处理新格式,即可将它们集成到UPnP AV框架中。
该架构还规定了全面的事件通知模型。任何服务中的状态变更都通过GENA推送给已订阅的控制点。每个服务中的LastChange事件变量将多个状态变量更新聚合到单个XML文档中,减少了事件数量。为获得可扩展性,架构建议控制点使用超时订阅(默认300秒)并按需刷新,使设备能够清理过期的订阅。