ISO/IEC IEC 29341-4-2:2011 — UPnP AV架构

可互操作家庭媒体网络的蓝图:UPnP AV架构v1.0

UPnP AV架构:统一框架

ISO/IEC 29341-4-2:2011定义了UPnP AV架构,这是描述ISO/IEC 29341系列中定义的各种设备类型和服务如何协同工作以形成完整、可互操作的家庭音视频网络系统的基础框架。与关注特定功能的单个服务规范不同,这份架构文档提供了总体设计模式、交互协议和系统级行为,使得来自供应商A的媒体服务器能够将内容流式传输到来自供应商B的渲染器,并由来自供应商C的应用程序控制。

AV架构不是软件规范——它是系统架构。它定义了三个逻辑实体(媒体服务器、媒体渲染器、控制点),并规定了它们如何相互发现、协商能力、建立连接以及管理端到端的媒体流生命周期。在实现任何UPnP AV组件之前,理解这一架构至关重要。

该架构定义了AV交互的四个基本阶段:发现(SSDP)、描述(设备和服务XML文档)、控制(SOAP动作)和事件通知(GENA)。每个阶段都建立在UPnP设备架构v1.0(ISO/IEC 29341-1系列)之上,并增加了AV特定的语义。该架构还定义了两种3-box模型(标准的服务器-渲染器-控制点三角关系)和一种2-box模型(其中一台设备合并了两个角色)。

设备角色与3-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模型

标准的3-Box交互流程如下:(1) 控制点通过SSDP多播发现媒体服务器和媒体渲染器。(2) 控制点从两个设备检索设备描述和服务XML。(3) 控制点通过GetProtocolInfo()查询两个设备的CMS,找到兼容的协议。(4) 控制点调用服务器CDS上的Browse()向用户展示内容选择。(5) 用户选择后,控制点调用两个设备CMS上的PrepareForConnection()。(6) 控制点调用SetAVTransportURI(),然后调用服务器AVT上的Play()。(7) 媒体数据直接从服务器流向渲染器。(8) 控制点在流媒体期间可以通过RCS调整渲染参数,通过AVT控制播放。

关键架构洞察:在第7步中,媒体数据直接从服务器流向渲染器——不经过控制点。这是一个关键设计决策,确保控制点(通常是资源受限的移动设备)永远不会处于媒体数据路径中。控制点仅发送轻量级的SOAP控制消息。

高级架构概念

2-Box模型

在2-Box模型中,三个角色中的两个被合并到一个物理设备中。最常见的变体是”媒体服务器+控制点”组合,其中像智能手机这样的设备同时充当内容源和控制器,流式传输到单独的渲染器。较少见但在架构上同样有效的是”媒体渲染器+控制点”组合,其中带有内置浏览器的智能电视发现和浏览远程媒体服务器。2-box模型减少了网络往返次数,代价是合并角色之间的耦合度更高。

协议独立性与可扩展性

AV架构有意将控制平面(通过SOAP的UPnP动作)与数据平面(媒体传输)分离。这种分离使架构能够支持任何可以用ProtocolInfo字符串格式描述的传输协议。当新的流媒体技术出现时(例如WebRTC、HLS、MPEG-DASH),只需定义其协议标识符并确保CMS协商处理新格式,即可将它们集成到UPnP AV框架中。

部署考虑:虽然架构是协议独立的,但HTTP GET在TCP端口80上的流媒体是最广泛支持的传输方式,因为它无需特殊配置就能穿越NAT路由器和防火墙。RTSP流媒体虽然延迟更低,但通常需要额外的UDP端口转发网络配置。

该架构还规定了全面的事件通知模型。任何服务中的状态变更都通过GENA推送给已订阅的控制点。每个服务中的LastChange事件变量将多个状态变量更新聚合到单个XML文档中,减少了事件数量。为获得可扩展性,架构建议控制点使用超时订阅(默认300秒)并按需刷新,使设备能够清理过期的订阅。

安全架构局限性:UPnP AV架构v1.0(ISO/IEC 29341-4-2:2011)不包含任何安全或认证机制。所有动作都可以被网络上的任何设备访问。这一设计假设了一个受信任的家庭网络环境。对于需要访问控制的部署,请实施网络级隔离(VLAN)或通过VPN隧道使用UPnP AV。

常见问题

Q: 单个物理设备可以实现多个角色吗?
可以。2-box模型明确允许合并角色。智能电视可以同时是媒体渲染器和控制点;智能手机可以同时是媒体服务器和控制点。每个角色是独立的,并公开自己的一组UPnP服务。
Q: 如果控制点在流媒体期间断开连接会发生什么?
媒体流继续不受影响,因为它直接在服务器和渲染器之间流动。控制点仅在发出控制动作时需要。如果用户想在控制点断开后停止流媒体,他们必须重新建立控制点连接。
Q: 架构如何处理多个同时存在的控制点?
多个控制点可以独立发现并控制同一台媒体服务器和媒体渲染器。服务通过其状态变量和事件通知机制管理并发访问。然而,冲突的动作(例如两个控制点设置不同的音量)可能导致用户感知到的不稳定。
Q: UPnP AV架构与DLNA兼容吗?
是的。DLNA(数字生活网络联盟)指南直接建立在UPnP AV架构之上。DLNA增加了媒体格式配置文件、DRM要求和认证测试,但不会改变ISO/IEC 29341-4-2中定义的基本UPnP AV设备和服务模型。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注