Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
ISO/IEC 29341-4-3:2011 标准定义了 UPnP AV Datapath(音视频数据通路),这是 UPnP 设备架构的核心组成部分,实现了家庭或企业网络中媒体服务器、渲染器和控制点之间音视频内容的无缝传输。该标准规定了数字媒体从源设备(如网络附加存储或媒体服务器)流向终端设备(如智能电视、无线扬声器或数字媒体适配器)的完整路径。AV Datapath 架构抽象了底层传输机制(无论是 HTTP、RTP 还是专有流媒体协议),使应用程序能够与统一的操作和状态变量集合进行交互,而无需关心底层传输细节。
AV Datapath 的核心定义了一个连接管理模型,控制点可以枚举源设备和终端设备支持的传输协议和媒体格式,协商双方兼容的流媒体会话,然后启动、监控和终止数据流。该标准利用了 UPnP 设备架构中已有的通用事件通知架构和简单服务发现协议,确保 AV Datapath 服务无需自定义传输层即可被发现并支持事件通知。
在典型的数字家庭网络中,AV Datapath 的工作流程如下:用户通过智能手机上的 UPnP 控制点应用浏览媒体服务器上的视频库,选择一部电影后,控制点通过 PrepareForConnection 动作在电视(渲染器)和 NAS(服务器)之间建立数据通路,协商使用 HTTP-GET 传输 MPEG-TS 格式流媒体,然后发送 Play 动作启动播放。整个过程对用户透明,无需手动配置 IP 地址或端口号。
AV Datapath 规范引入了一个有状态的连接模型。每个连接由唯一的连接 ID 标识,并跟踪当前传输状态——从空闲到准备、播放、暂停或停止。PrepareForConnection 动作允许控制点在播放开始之前预留资源并协商传输协议和媒体格式。这种预先协商机制可以防止在多个媒体流竞争带宽或解码能力的场景中出现资源争用问题。
| 状态 | 描述 | 触发条件 |
|---|---|---|
| 空闲 | 未建立连接 | 系统启动 / 断开连接 |
| 准备中 | 正在进行资源协商 | 调用 PrepareForConnection |
| 播放中 | 正在媒体流传输 | 收到 Play 动作 |
| 已暂停 | 流暂停,保留资源 | 收到 Pause 动作 |
| 已停止 | 流结束,释放资源 | 收到 Stop 动作或流结束 |
协议协商采用类似 SIP 的请求-应答模型。控制点查询源设备和终端设备各自支持的协议信息列表。每条协议信息条目包含传输协议(如 HTTP-GET、RTP)、内容格式 MIME 类型以及其他传输参数。控制点随后选择兼容的组合并建立连接。这种设计实现了不同厂商设备之间的互操作性——符合 DLNA 认证的媒体服务器可以向任何兼容 UPnP AV Datapath 的渲染器传输流媒体,无需专有中间件。
实现健壮的 AV Datapath 组件需要关注以下几个非功能性的关键方面。首先,资源管理至关重要:具有有限硬件解码器的媒体渲染器必须跟踪其支持的并发连接数,并在容量耗尽时拒绝 PrepareForConnection 请求。其次,事件模型的实现需要精心设计——AV Datapath 服务发布诸如 LastChange 之类的状态变量,用于封装连接状态转换信息。实现者应在快速状态变化期间(例如执行快进操作时)批量处理事件通知,以避免冗余的 GENA 消息淹没控制点。
从安全角度来看,AV Datapath 标准并未强制要求对媒体流进行加密或认证。在敏感部署场景中(例如医疗视频监控或企业级音视频系统),实现者应在协商的传输协议之上叠加 TLS,或使用设备保护服务建立信任边界后再开始流传输。连接管理动作可以通过设备的访问控制框架进行保护,防止未经授权的流劫持。
性能优化技术包括:在设备启动时预先协商协议信息对(缓存减少运行时协商开销)、尽量减少使用 GetCurrentConnectionInfo 动作进行轮询(优先使用事件订阅)、以及实现连接超时释放机制(例如在调用 PrepareForConnection 后 30 秒内未收到 Play 则释放资源)。对于无线网络环境,通过在不同质量级别暴露多个 ProtocolInfo 条目实现自适应比特率信号传输——控制点可以在这些条目之间切换,无需重新从头开始协商。