- 浏览: 1473585 次
- 性别:
- 来自: 郑州
文章分类
最新评论
-
getelephantbyid:
make 无法通过.....
php-5.3,php-5.4的thttpd2.25b补丁,及编译方法 -
getelephantbyid:
patch -p1 ../php-5.4.7_thttpd-2 ...
php-5.3,php-5.4的thttpd2.25b补丁,及编译方法 -
zander:
zander 写道c 语言是静态类型语言还是动态类型语言阅读理 ...
什么是动态语言和静态语言? -
zander:
c 语言是静态类型语言还是动态类型语言
什么是动态语言和静态语言? -
lunajiayou:
很有道理,赞一个
跟着苍蝇会找到厕所,跟着蜜蜂会找到花朵
说到DLNA,UPnP协议就一定要提到,这点从DLNA分层就能看出来。
UPnP是Universal Plug and Play的缩写,亦即通用即插即用。这个协议是由intel和microsoft主导的,主要针对家庭网络和企业网络。
UPnP组织论坛地址是: http://www.upnp.org .
UPnP架构以IP技术为基础,使家庭网络和企业网络设备自动连接和协同工作。
UPnP基础协议是UPnP Device Architecture,最新的版本是1.1。这个UDA架构给出了局域网内设备如何发现对方,了解对方以及与对方交流的流程。
UPnP使用的技术包括IP, TCP, UDP, HTTP, XML。
UPnP设备加入网络的过程
UPnP设备加入网络首先要获得IP(即使DHCP服务不提供的情况下)。
接下来的步骤称之为 发现或者寻找
。如果一个控制点(Control Point)加入到网络中,会发送一个广播协议,所有局域网的UPnP设备会做出响应。如果一个设备加入网络,会定时发送广播自己的设备信息和服务信息,以便感兴趣的控制点能找到。这个发现对方的过程是基于SSDP协议的。
请注意,这里的设备指的是具备存储内容的设备,例如媒体服务器,或者播放媒体的设备,例如播放器,或者网关设备。而控制点(CP)扮演的是客户端,不具备存储内容,播放媒体或者网关等设备的功能,只能浏览设备内容。
控制点和设备发现了对方,下一步就是 描述 ,意思是控制点了解设备有哪些功能。在这一个阶段,设备会告诉控制点设备的信息,设备可以提供的服务以及服务包含哪些命令,还包括命令所需要的参数。
控制点了解了设备的能力后,下一步就是 控制 。根据设备提供的服务和命令列表,控制点可以发送指令来控制设备做出回应。例如浏览设备内容, 控制点可以发送Browse指令得到设备内容,并呈现给用户。控制点发送的控制指令是通过SOAP协议使用XML描述的。
控制的下一步是 事件 。一个UPnP描述包括一组命令列表和描述运行时状态信息的变量。服务在 这些变量改变的时候进行更新,控制点可以进行订阅以获取相关改变。 服务通过发送事件消息来发布更新。事件消息包括一个或多个状态信息变量以及它们的当前数值。这些消息也是采用 XML 的格式,用GENA协议进行格式化。一个特殊的初始化消息会在控制点第一次订阅的时候发送,它包括服务相关的变量名及值。为了支持多个控制点并存的情形, 事件被设计成对于所有的控制点都并行通知。因此,所有的订阅者同等地收到所有事件通知。
最后一步是 表现 。如果设备带有表现URL,那么控制点可以通过它来获取设备表现信息,即在浏览器中加载URL,并允许用户来进行相关控制或查看操作。具体支持哪些操作则是由表现页面和设备完成的。
上面说到有控制点和设备两个概念。控制点英文称之为Control Point ,简称为CP;设备称之为device 。控制点不能称之为一个设备,它只具备浏览设备内容的能力,这一点是需要强调的。
我们用图形来描述UPnP的协议栈和UPnP设备交互过程:
UPnP协议栈
UPnP设备交互过程
UPnP的应用场景包括哪些呢?
典型应用场景
随着PC成为网络的中心并提供日益丰富的介质和连接服务,在设备与PC相连之后,越来越多的应用将被开发出来。下面的例子只是其中很小的一部分:
智能家庭网络
许多智能家居环境使用了现存的家庭控制网络,例如家庭网络来控制和监控整个家居环境,比如灯光,安防和其他家庭设备。这些网络可以连接PC上,但是除了
PC之外,不能被其他的设备存取。使用UPnP设备可以桥接这些网络成为一个网络,并提供用户更多设备存取家庭网络中的设备。在实现时也无须对家庭网络中
的现有布线和设备进行昂贵的升级,只需要将设备变成UPnP设备并能够与控制点通讯并接受控制点的控制命令。
数字音视频文件管理
可以在PC和其他设备上播放的数字化音视频文件在近几年正在成指数级的增长。一个家庭中,可能有几台计算机或者其他设备用于保存这些文件。使用UPnP可
以使这些分布在不同PC的文件统一管理。这些设备能被发现然后被其他控制点(比如个人电脑、UPnP接收器)控制,播放器可以通过家庭网络获得这些音视频
文件并播放它们,用户可以在电视上欣赏这些音视频文件。
数字图片库
许多家庭使用数字相机拍照,或者将已有照片扫描保存,然后将这些照片上载到他们的计算机中保存。在计算机中对其进行分类,或者以幻灯片的形式进行显示。随
着照片的增加,照片可能保存在多种设备或者多种介质上,比如光盘、硬盘、Flash卡。使用UPnP技术,图片库可以自己作为一个设备存在,并自动在网络
上声明。这使得一个照片库可能临时为多个应用程序使用,例如可以进行幻灯片显示的同时,在电子像框、机顶盒和电视上进行显示。
UPnP设备包括哪些类型呢?
1. 基本设备。这实际上是一个抽象设备,不提供任何服务。
2. UPnP AV设备。这个为DLNA框架提供的设备类型,包含media server, media render。
3. UPnP Printer设备。提供打印服务。
4. 网关设备(IGD)。这个应用非常广泛,很多路由器包含这个设备的服务。
5. UPnP Scanner设备。提供扫描服务。
6. 数字摄像头。提供摄像头类似的服务。
7. 亮灯控制。这是UPnP设备协议的一个标准例子服务。
下面的图包含了以上UPnP设备类型。
我们主要看UPnP AV设备以及他们能提供哪些服务和配套的内部设备。
在UPnP Device Architecture基础上,UPnP组织增加了UPnP AV Architecture,规定了音视频设备与控制点之间的交互过程和音视频设备提供的服务。
这个架构包含两种AV设备和一个控制点。一种AV设备为Media Server,保存各种音视频、图像等多媒体资料;另一种设备为Media Render,可以从Media Server获取多媒体数据并在本地进行播放。
下面的图描述了这三个组件(Media Server,Media Render,Control Point)的交互过程。
从这个图,我们还可以看出来Media
Server提供的服务至少包含内容目录(Content Directoy)、连接管理(Connection
Manager)和音视频传输(AVTransport),简称为CDS,
CMS和AVT。其中CDS和CMS是必须提供的服务,而AVT则是可选的服务。
而Media Render提供的服务至少包含播放控制(Rendering Control)、连接管理(Connection Manager)和音视频传输(AVTransport),简称为RCS, CMS和AVT。其中RCS和CMS是必须提供的服务,而AVT则是可选的服务。
在这个架构中,还提供了这个三个组件在实际应用中交互模型,有兴趣的朋友可以进一步阅读。
其它资料
http://miniupnp.free.fr/
http://www.upnp-hacks.org/
发表评论
-
使用strongswan建立基于ikev2 eap-mschapv2的ipsec服务器
2017-04-17 23:14 3225sudo apt-get install strongsw ... -
使用strongswan/xl2tpd建立ipsec/l2tp服务器
2017-04-17 22:32 6179sudo apt-get install strongsw ... -
SecureFX中文件名乱码的解决
2014-08-28 03:23 3359原始贴子:https://forums.vandyke.c ... -
为Linux编译atheros ar1111(设备ID:168c:0037,AW-NB100H – AR5B225 Atheros half size)网卡驱动
2012-07-15 22:57 4626买了个zotac h61itx-a-e wifi主板,从zot ... -
PHY管理接口(MDIO)
2012-01-17 17:01 4221对吉比特以太网而言,串行通信总线称为管理数据输入输出 (MDI ... -
理解ipsec身份标识和认证选项
2012-01-11 15:42 6887This article is part of the Ide ... -
netfiletr和iptables的状态和连接跟踪机制
2012-01-11 15:38 3350Como se lleva a cabo el rastreo ... -
编译安装iw
2011-11-09 13:31 2380ubuntu安装build-essentials libnl- ... -
从ip addr add和ifconfig的区别看linux网卡ip地址的结构
2011-09-24 13:06 1692转至:http://blog.csdn.net/dog25 ... -
Linux 用户态与内核态的交互——netlink 篇
2011-09-19 01:39 3540转至:http://bbs.chinaunix.net/thr ... -
netlink与rtnetlink(二)
2011-09-19 01:36 16018转至:http://blogold.chinaunix.net ... -
netlink和rtnetlink(一)
2011-09-19 01:35 5237转到:http://blogold.chinaunix.net ... -
Linux——Netlink
2011-09-19 01:24 9687转载:http://blog.csdn.net/firo_ba ... -
linux notification chains
2011-08-13 00:26 1060linux内核由各个不同的子系统构成,比如网络子系统、存储 ... -
内核中的notification chain浅析
2011-08-13 00:25 1381内核中的很多子系统都是联系很紧密的,因此有可能某个子系统的某些 ... -
Linux Notification chains
2011-08-13 00:24 2854Notifier是Linux 中提供一种在内核子系统 中共 ... -
printk 使用方法
2011-08-12 22:28 9894内核通过 printk() 输出的信息具有日志级别,日志级 ... -
WEXT/mac80211/nl80211/cfg80211
2011-07-29 02:32 11271Wireless-Extensions--旧的无 ... -
fedora上wpa_supplicant上网配置
2011-07-29 01:28 35451,vi /etc/sysconfig/wpa_supplic ... -
vi替换命令用法详解
2011-07-19 01:06 2205vi替换命令用法详解 : ranges /pat1/ ...
相关推荐
总结来说,DLNA 2016和UPNP 2.0技术手册是理解这两种协议及其在现代智能家居环境中的应用的关键。通过阅读这份手册,开发者和用户都能更好地了解如何利用这些协议构建和利用一个高效、便捷的家庭网络生态系统。无论...
对于熟悉编程的用户来说,这是一个很好的学习和实践平台,可以深入了解DLNA和UPnP技术,以及媒体播放器的实现细节。对于普通用户,这则提供了一个方便的工具,用以在家庭网络中无缝分享和享受多媒体内容。
FFmpeg、DLNA(Digital Living Network Alliance)和UPnP(Universal Plug and Play)是网络多媒体技术中的关键组件,而UShare则是一个基于这些技术的开源媒体服务器项目。在这个压缩包中,你可能找到了用于编译...
通过深入分析UPnP协议的原理、实现步骤及其在实际应用中的代码实现,我们不仅能够更好地理解UPnP技术的核心价值,还能掌握其实现的关键技术和实践方法,为未来智能设备的互联互通奠定坚实的基础。
总的来说,Android平台上实现UPnP DLNA功能涉及网络通信、设备控制和多媒体内容管理等多个技术领域,需要扎实的编程基础和对UPnP、DLNA规范的深入理解。通过不断学习和实践,可以打造出高效、稳定的DLNA应用程序,为...
This Standardized DCP Framework Annex has been adopted as a Standardized DCP Framework Annex by the Steering Committee of the UPnP Forum, pursuant to Section 2.1(c)(ii) of the UPnP Forum Membership ...
通用媒体服务器 通用媒体服务器是兼容DLNA的UPnP媒体服务器。 它能够在大多数现代设备之间共享视频,音频和图像。 它最初是由shagrath基于PS3 Media Server来确保更大的稳定性和文件兼容性的。 要查看流行媒体服务器...
DLNA ,UPNP 相关文档规范。英文资料,很全面。 UPnP-arch-DeviceArchitecture-v2.0-20200417.pdf 其中这个文件是 upnp架构2.0规范 upnp的设备架构规范包括:发现,描述,控制,事件,展示。 另外还有很多不同设备...
UPNP(通用即插即用,Universal Plug and Play)与DLNA(数字生活网络联盟,Digital Living Network Alliance)是两个紧密关联的网络技术,主要用于家庭和小型办公环境中的设备间互联互通。这两个协议允许智能设备,...
DLNA__Guideline UPnP-arch-DeviceArchitecture-v1.0 UPnP-arch-DeviceArchitecture-v2.0 UPnP-av-AVArchitecture-v1 UPnP-av-AVArchitecture-v2
DLNA DLNA DLNA DLNA DLNA DLNA DLNA DLNA DLNA DLNA DLNA DLNA DLNA DLNA DLNA DLNA DLNA DLNA DLNA DLNA DLNA DLNA DLNA DLNA DLNA DLNA DLNA DLNA DLNA DLNA DLNA DLNA DLNA DLNA DLNA DLNA DLNA DLNA DLNA DLNA ...
DLNA是基于UPnP技术的数字家庭网络标准,它定义了如何在数字家庭中分享和管理媒体内容。DLNA技术让用户可以在家中各种设备之间共享音频、视频和图片文件,而不需要关心设备类型或网络细节。 知识点6:Android多屏...
DLNA(Digital Living Network Alliance)和UPnP(Universal Plug and Play)是两个在数字家庭网络中广泛使用的标准,它们使得设备能够轻松地发现、连接和共享媒体内容。本压缩包包含了一系列与DLNA和UPnP相关的开发...
本文将围绕"用于DLNA开发的UPnP开发源码参考资料3"来深入探讨UPnP与DLNA的相关技术知识点。 1. **UPnP架构**:UPnP架构基于标准的互联网协议如TCP/IP、HTTP和XML,其核心组件包括设备控制协议、服务定义、事件订阅...
### 基于uPnP协议在DLNA架构中多媒体播放设备DMP的开发 #### uPnP协议概述 uPnP(Universal Plug and Play)协议是一种旨在简化电子设备网络连接的标准,允许设备自动发现并建立通信,无需复杂的配置过程。它的...
UPnP(Universal Plug and Play,通用即插即用)和DLNA(Digital Living Network Alliance,数字生活网络联盟)都是用于家庭网络中设备间共享多媒体内容的协议。UPnP提供设备自动发现和网络服务自动配置的功能,而...
本项目是一套关于家庭互联的项目源码,首先设备需要在一个局域网中,才能通过uPnP/Dlna服务可以实现设备间的点播交互,就像通过局域网你可以连接到你的智能电视上并且让你智能电视里面的某个视频文件开始播放。...
标题:"dlna upnp RemoteUI" 描述:"这是一个intel公司工程师关于UPnP RUI的讲稿" 标签:"RUI UPNP" 部分内容摘要:"Application Remoting for the Digital Home"由Intel公司的高级技术营销工程师Russ Campbell在...
通用UPnP、DLNA安卓播放器是一套关于家庭互联的项目源码,首先设备需要在一个局域网中,才能通过uPnP/Dlna服务可以实现设备间的点播交互,就像通过局域网你可以连接到你的智能电视上并且让你智能电视里面的某个视频...
UPnP(通用即插即用)和DLNA(数字生活网络联盟)是两个在现代智能家居和多媒体设备中广泛使用的协议,它们旨在简化设备间的互联互通,实现媒体内容的共享和流式传输。以下是对这两个概念的详细阐述。 UPnP,全称为...