Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
ISO/IEC 29341-9-1 为 UPnP 音频/视频(AV)设备建立了基础设备模板,定义了所有 UPnP AV 组件遵循的核心架构。作为 UPnP AV 规范套件的基石,本标准描述了媒体服务器、媒体渲染器和控制点如何交互,以实现音频和视频内容在家庭网络中的无缝流式传输。该模板定义了每个合规 AV 设备必须实现的强制嵌入式服务、状态变量和操作集。
AV 设备模板采用模块化设计理念。它不是规定单一设备定义,而是定义了一个可重用的服务组件框架,这些组件可以组合起来创建媒体服务器(内容源)、媒体渲染器(播放设备)和专用 AV 设备。这种灵活性使得该标准在多个硬件代际中始终保持相关性——从早期的 DLNA 认证媒体播放器到现代智能电视和流媒体盒子。
AV 设备模板定义了三种基本设备类型:MediaServer(媒体服务器)、MediaRenderer(媒体渲染器)和 AVControlPoint(控制点,一种没有物理设备类型 UDN 的逻辑设备)。每种设备类型嵌入特定的必需服务。媒体服务器必须实现 ContentDirectory(内容浏览)、ConnectionManager(连接管理)和 AVTransport(传输控制)。媒体渲染器必须实现 RenderingControl(音量/图像调节)、ConnectionManager 和 AVTransport。
该模板使用 XML 规范了设备描述文档格式,定义了 friendlyName、manufacturer、modelName、UDN(唯一设备名称)和 serviceList 等标准元素。所有 AV 设备必须包含 UPnP 设备架构 v1.1 的必需字段,同时通过设备描述发布 AV 特定的服务能力。这使得控制点能够发现 AV 设备并与之交互,而无需事先了解其能力。
| Device Type | Required Services | Optional Services |
|---|---|---|
| MediaServer | ContentDirectory, ConnectionManager, AVTransport | RenderingControl, ScheduledRecording |
| MediaRenderer | RenderingControl, ConnectionManager, AVTransport | ContentDirectory (for local playback queues) |
| AVControlPoint | No required services (logical device) | All services are optional based on use case |
AV 设备模板中的服务集成模式遵循分层架构。在基础层,UPnP 设备架构提供发现(SSDP)、描述(XML 设备/服务模式)、控制(SOAP)和事件(GENA)。在此基础上,AV 模板定义了服务层次结构:必需服务(所有 AV 设备都需要)、条件服务(存在特定硬件能力时需要)和可选服务(如 DLNA 功能的增强)。
AV 设备模板中的一个关键设计决策是将传输控制与内容管理分离。AVTransport 处理播放、暂停、停止、跳转和速度控制操作,而 ContentDirectory 管理内容浏览、搜索和元数据检索。这种分离允许单个 MediaServer 同时向不同的 Renderer 提供多个独立流,每个流具有独立的传输状态。ConnectionManager 服务充当桥梁,协商源端和接收端之间的流式传输协议(HTTP GET、RTSP、RTP)和数据格式。
该模板还定义了”AV 场景”的概念——预定义的交互模式,例如”两盒推送”(控制点命令 MediaServer 将内容发送到 MediaRenderer)和”三盒”(控制点协调独立的 MediaServer 和 MediaRenderer之间的通信)。这些场景不是协议扩展,而是记录在案的使用模式,指导应用程序开发者实现一致的用户体验。
基于此模板实现 UPnP AV 设备需要仔细关注几个工程方面。首先,设备描述 XML 必须准确反映设备能力——少报能力会限制功能,而多报会导致控制点尝试不支持的操作时连接失败。推荐的方法是首先实现所有必需服务(ContentDirectory、ConnectionManager、AVTransport),然后逐步添加可选服务。
对于 MediaServer 实现,ContentDirectory 服务是性能最关键的部分。其 Browse() 和 Search() 操作必须高效处理大型媒体收藏。实现容器级缓存、分页结果(使用 requestedCount 和 startingIndex 参数)以及通过 SystemUpdateID 状态变量实现增量元数据更新,对于响应式用户体验至关重要。模板建议使用面向对象的容器层次结构组织内容,最多支持 16 级嵌套。
互操作性测试至关重要,因为不同供应商实现了 AV 规范的不同子集。该标准提供了一致性指南,但并未强制要求每个可选功能。设备制造商应发布设备兼容性矩阵,列出其设备支持的 AV 场景、传输协议(HTTP GET、RTSP、IEC 61883)和媒体格式(MPEG2、H.264、AAC、LPCM)。UPnP AV 认证程序提供基线互操作性的正式验证。