| DLNA协议分析 
 1、简介
 DLNA最初是有sony,英特尔,微软等公司于2003年发起,包含吴物理层,网络层,传输层,设备发现,控制媒体管理,媒体格式,流媒体协议和用户接口一系列功能的家庭媒体互联互通协议。
 
 
 
 
 
 2.协议架构
 
 
 
 
 
 物理层:基本包含所有物理层协议,包括802.11,蓝牙,802.3等
 
 网络层: 必须支持ipv4,ipv6可选
 
 设备发现: UPNP协议,用户感知新设备加入局域网的协议
 
 媒体管理: 媒体服务器和媒体播放器支持以下形式:
 
 Content Directory Service(CDS): 列出可播放资源
 Connection Manager Service(CMS): 用于传递媒体资源从服务端到播放端.
 AVTransport Service: 媒体控制,暂停/播放,快进/快退.
 Rendering Control Service: 控制音量或亮度等功能.
 媒体传输协议: 首选http,rtp为可选方式(rtp具备更好的媒体传输效率)
 
 媒体格式: DLNA设备需要支持以下协议:
 
 
 
 
 
 Append:
 
 Video
 
 Audio
 
 Images
 
 H264
 
 
 
 
 
 H265
 
 
 
 
 
 AVS
 
 
 
 
 
 远程用户接口: 通用用户接口
 
 设备角色
 M-DMS/DMS: 媒体源,如:手机,MP3.
 
 M-DMP/DMP: 媒体播放器:电视,pc,平板等.
 
 
 
 
 
 DMR:类似player,但是仅仅是单独渲染内容,自身不存在控制属性.(基本没用)
 
 
 
 
 
 M-DMC/DMC:位置DMS和DMR之间的控制器. 例如: 路由器.
 
 
 
 
 
 UPNP (universal plug and play)
 upnp是DLNA的基础协议,用于发现新加入局域网的设备,协议架构如下:
 
 
 
 
 
 寻址
 
 所有设备应当支持DNCP作为动态获取ip的方式,upnp设备应当获取一个独立的ip在169.254 ~ 169.16.
 
 设备发现
 
 新加入的设备首先要通告控制节点。一个新的控制节点在局域网内扫描所有的设备,确实是否支持upnp。
 
 SSDP是基于UDP的应用层协议,用于设备通告或撤回它的服务,或者控制节点搜索设备。具备http的包头但是没有内容。
 
 
 
 
 
 描述
 
 控制节点以xml的格式从设备获取信息:
 
 设备描述: 描述当前为什么设备,TV,PC或者是其他设备
 
 服务描述: 描述设备的能力。
 
 控制
 
 Simple Object Access Protocol (SOAP) 基于UDP实现三种配置用于控制节点控制设备: UPnP Control Request,UPnP Control Response, UPnP Control Error Response.
 
 事件
 
 由于局域网内设备的状态可能发生改变,所有upnp需要一套完善的机制确保控制节点可以及时知晓设备状态变化。
 
 以订阅通告模式可以实现此功能,(有点类似wifiaware)
 
 
 
 转存失败重新上传取消
 
 呈现方式
 
 使用URL在控制节点呈现设备能力是最好的解决办法,因为URL可以以html方式预览。(XML是信息交换方式,URL是展示给用户的方式)
 
 
 |