DLNA&UPnP开发笔记(2)

简介:

1.  UPnP协议组成


UPnP协议中,定义了两个主要的组件,一个是设备(Device),一个是控制点(Control Point)。这就是为什么很多UPnP协议栈的SDK的接口代码一般都主要由Device和Control Point构成。设备是在网络中可见的对象,而控制点在网络中不可见。


一个UPnP的设备(Device)是不能直接访问和控制另一个UPnP的设备(Device)的,对设备的访问和控制都必须通过控制点(Control Point)来代为完成。而控制点对设备的控制则主要是由设备定义的“服务”(Service)来实现。


设备(Device)需要向网络中广播自己的信息,并提供设备描述和服务(Service)描述,并发送设备事件消息.


控制点(Control Point)则是搜索设备,并使用其提供的服务(Service)访问和控制设备,同时监听设备事件消息。


2. 典型的UPnP AV应用架构


wKiom1U45h_x1rP4AAESqPv2zVk980.jpg


如图所示是一种典型的UPnP AV应用架构,它来自《UPnP-av-AVArchitecture》。在一个典型的UPnP应用中,有三个主体,一个服务器(MediaServer),一个播放器(MediaRender),以及一个控制点(Control Point)


服务器(MediaServer)主要负责提供多媒体文件的浏览和控制。

播放器(MediaRender)主要负责提供播放和渲染。

控制点(Control Point)则控制整个播放过程。


它们三个在物理上可以是同一个设备,当然,也可以在不同的设备上。


对应到UPnP协议组件的话,“MediaServer”和“MediaRnederer”都属于UPnP的Device。


“ContentDirectory”、“ConnectionManager”、“AVTransport”、“RenderingControl”这些都属于UPnP设备所提供的服务(Service),通过这些服务描述,Control Point就知道该如何访问和控制设备了。


3.  UPnP的设备描述和服务描述


UPnP的设备(Device)是通过广播包来通知局域网中的控制点自己的设备信息和服务的,而这些设备信息和服务都必须根据UPnP协议规定的XML文档格式来编写,UPnP提供了标准的模板可以参考,具体的文档地址:


http://upnp.org/sdcps-and-certification/standards/sdcps/


由这些文档我们可以看到,UPnP官网为我们定义了12种设备,在每种设备的文档中详细地定义了设备描述XML如何编写,定义了每种设备需要实现哪些服务,每种服务的XML文档如何编写。


到这里,我们其实可以看到,实现一个上述的UPnP AV应用也并没有那么可怕,一切都是有章可循的,我们需要做的就是熟读协议所定义了一系列文档。



本文转自 Jhuster 51CTO博客,原文链接:http://blog.51cto.com/ticktick/1637727,如需转载请自行联系原作者

相关文章
|
10月前
|
Windows
[笔记]windows驱动开发
[笔记]windows驱动开发
|
缓存 API 网络安全
APICloud平台使用融云模块实现音视频通话实践经验总结分享
APICloud平台使用融云模块实现音视频通话实践经验总结分享
227 0
APICloud平台使用融云模块实现音视频通话实践经验总结分享
[iOS初级教程之一]社会化分享实践(一)
[iOS初级教程之一]社会化分享实践
182 0
[iOS初级教程之一]社会化分享实践(一)
|
小程序 开发工具 iOS开发
[iOS初级教程之一]社会化分享实践(三)
[iOS初级教程之一]社会化分享实践
732 0
[iOS初级教程之一]社会化分享实践(三)
|
开发工具 iOS开发 开发者
[iOS初级教程之一]社会化分享实践(二)
[iOS初级教程之一]社会化分享实践
163 0
[iOS初级教程之一]社会化分享实践(二)
好工具推荐系列:护眼工具软件 LightBulb
好工具推荐系列:护眼工具软件 LightBulb
253 0
|
算法 数据安全/隐私保护 API
关于一对一视频聊天系统的那些干货必备知识
直播行业的风头还未过,一对一视频聊天系统作为后来者其威力也是不容小觑。在开发过程中,解码器和DRM管理器与一对一直播的操作系统平台也是有着密切的联系的。今天来给大家简单分享一下,关于DRM管理器和解码器的知识内容。
|
开发工具 Android开发 智能硬件