DLNA
- DLNA最早由索尼、英特尔、微软等提出,全称是DIGITAL LIVING NETWORK ALLIANCE,旨在解决个人PC,消费电器,移动设备在内的无线网络和有线网络的互联互通,其实就是解决电脑和其他电子产品,比如手机、平板之间的通过无线或者有思安网络的互联互通,让我们的照片、视频、音乐能在以上设备中共享,使得数字媒体和内容服务的无限制的共享和增长成为可能
- DLNA并不是创造技术,而是形成一种解决的方案,一种大家可以遵守的规范。所以,其选择的各种技术和协议都是当前所应用很广泛的技术和协议。
- DLNA 成立于2003 年6 月24 日, 其前身是DHWG (Digital Home Working Group 数字家庭工作组),由Sony、Intel、Microsoft等发起成立、旨在解决个人PC ,消费电器,移动设备在内的无线网络和有线网络的互联互通,使得数字媒体和内容服务的无限制的共享和增长成为可能。DLNA的口号是Enjoy your music, photos and videos, anywhere anytime。
功能模块
DMS DMR DMC DMP
DMS:Digital Media Server 服务器
DMR:Digital Media Renderer 渲染器(受控端)
DMC:Digital Media Controller 控制器
DMP:Digital MediaPlayer 播放器(可理解为DMC+DMR)
组件构成
| 功能组建 | 重要技术和协议 |
|---|---|
| Media | Formats |
| Media Format | Required and Optional Format Profiles |
| Device Discovery Control and Media Management | Device Discovery and Control UPnP Device Architecture 1.0 Media Management and Control UPnP AV 1.0 and UPnP Printer:1 |
| Media Transport | Media Transport HTTP (Mandatory) and RTP (Optional) |
| Network Stack | Networking IPv4 Suite |
| Network Connectivity | Connectivity Ethernet,802.11, and Bluetooth |
DLNA的5个功能组件
DLNA将其整个应用规定成5个功能组件。从下到上依次为:网络互连,网络协议,媒体传输,设备的发现控制和管理,媒体格式。
1. 网络互连
其规定了所接入网络的类型和协议。目前,主要包括:
有线网络:802.3.i/u
无线网络:802.11/a/b/g/n
![]()
2. 网络协议
其规定了所使用的网络协议。目前,其规定必须支持IPv4。但是,考虑到地址空间等IPv4的缺点,将在不久的将来支持IPv6。当然,考虑已经存在的IPv4的诸多应用和设备。在未来的很长一段时间内同时支持IPv4和IPv6并保证IPv4和IPv6的互连的双重协议栈将会受到青睐。
![]()
3. 媒体传输
其规定了所有DLNA设备都必须支持使用HTTP协议进行媒体的传输。这将使得未来很长一段时间如何提高HTTP协议上高速安全的进行大数据量的传输成为一个课题。单纯就安全而然,TLS(安全传输层协议)也许是个不错的选择。另外,在IPv6的协议中IPSEC已经成为了一个必选项。这也在一定程度上解决了安全问题。不过好像使用软件做加解密的工作始终都不是个正确的选择。因为,在真正的应用中,很少有客户不对你的速度指手画脚。当然,同时你也可以使用RTP(实时传送协议)的其他专用的媒体流传输协议。但是,前提是你已经支持了HTTP协议下的传输。
![]()
4. 设备的发现
控制和媒体的管理。这个功能组件是最重要的一个层次。也许是由于英特尔是UPnP的发起者吧,所以,在其再次发起DLNA的时候,UPnP所有的东西当然其不会浪费了呀。是不是因为UPnP很长时间停留在协议阶段,很少有应用,IDG是个例外,英特尔才又来发起DLNA的呢,目前,其采用了UPnP Device Architecture 1.0和UPnP AV 1.0 and UPnP Printer:1。这只是UPnP论坛上一堆标准中的冰山一角了。将其UPnP的东西,好像还是蛮多的,这里就不详细讲了。总之,其通过一系列的步骤和协议来达到设备的发现和管理,同时也通过厂商定义的AV和Printer标准达到对媒体的管理。
![]()
5.媒体格式
这是最后的一个组件了。其规定了进行数字媒体和内容的共享和使用的时候的媒体格式。其必须支持的是:JPEG, LPCM(线性脉冲编码调制), MPEG2。其他可选的媒体格式。
其他可选的媒体格式有:
Image JPEG PNG, GIF, TIFF
Audio LPCM AAC, AC-3, ATRAC 3plus, MP3, WMA9
AV MPEG2 MPEG-1, MPEG-4*, AVC, WMV9
DLNA的更多相关文章
- TigerLeapMC V1.3 for Windows(支持DLNA)
TigerLeapMC V1.3 2014-04-10: 1.更新tlplayer TigerLeapMC是基于tlplayer作为播放器的集成DLNA,(DMS,DMR,DMP)等,支持各种网络播放 ...
- IOS DLNA PlatinumKit库的使用
前段时间进行了IOS DLNA的开发,使用的是PlatinumKit库.网上查了很多资料都未果,经过自己的摸索,遂将如何使用PlatinumKit进行DLNA的开发分享给大家. 1.PlatinumK ...
- IOS DLNA开发(CyberLink和PlatinumKit)
1.CyberLink 和 PlatinumKit 两者的比较 CyberLink大概在2010年之后功能就没有更新,部分功能不够完善,网上有下载地址 http://www.pudn.com/down ...
- DLNA介绍(包含UPnP,2011/6/20 更新)
这部分的内容大多来源于网络及官方文档,依照自己的翻译理解整理所成.东西比較多,从头慢慢看还是能够懂个大概的. 文件夹: 一.DNLA的建立 二.DLNA的成员 三.DLNA标准的制定 四.DLNA的设 ...
- DLNA架构在机顶盒上播放云存储文件的实现
DLNA 架构在机顶盒上播放云存储文件的实现 摘要: 随着越来越多的数码设备,音像设备等对 UPNP 协议的支持和普及,业界对多媒体内容提供服务的需求越越来越强烈,为了实现遵循 UPNP 协议和 ...
- DLNA它 Error, can't findlibavformat ! 解
DLNA库版本号为libdlna-0.2.4 运行./configure出错: ------------------------------ Error, can't findlibavformat ...
- win7/win8通过媒体流(DLNA技术)共享音乐照片和视频
http://www.jb51.net/os/windows/79421.html 工具/原料 Windows 7/8/10家庭高级版以上版本 家庭WiFi局域网(无须连接互联网) 支持DLNA的手机 ...
- [原]关于在 iOS 中支持 DLNA
目前国内的视频播放器中,支持 DLNA 播放比较好的是:腾讯视频. 刚才反编了一下他们的代码,发现使用了一个开源库, 地址:https://github.com/FuruyamaTakeshi/DLN ...
- 基于PlatinumKit库的DLNA服务端开发
首先,需要特别感谢蓝斯老师的资料,我这里有很大一部分是参考蓝斯老师的,附上传送门:http://blog.csdn.net/lancees/article/details/9178385 一.DLNA ...
随机推荐
- Symfony官方视频教程
视频获取方式,添加Symfony学习群,在群文件中获取,QQ群182983780
- Chrome 开发者工具的使用
Console 那里是可以调节上下文的,不同的文档上下文互相隔离,默认是top,也就是当前打开的页面.这个功能在页面包含 iframe 或者开发插件的时候才用得到. 早期版本的 Resource 已经 ...
- 引用AForge.video.ffmpeg,打开时会报错:找不到指定的模块,需要把发行包第三方文件externals\ffmpeg\bin里的dll文件拷到windows的system32文件夹下。
引用AForge.video.ffmpeg,打开时会报错:找不到指定的模块,需要把发行包第三方文件externals\ffmpeg\bin里的dll文件拷到windows的system32文件夹下. ...
- 【Time系列一】datetime的妙用
今天在弄个自动关机小脚本的时候,遇到了时间转换的问题,也难怪,以前没学过, 不能怪我不会哦! 首先,先学会打印出当前时间的几种方式 参考开源社区: http://my.oschina.net/u/1 ...
- Ecstore启用www.ecstore.com和m.ecstore.com域名
Ecstore启用www.ecstore.com和m.ecstore.com域名 修改config/mapper.php if($_SERVER['SERVER_NAME']=='www.ecstor ...
- Framebuffer的配置及应用——先转载留着,以后一定要弄懂
http://blog.csdn.net/tju355/article/details/6881389 借助于framebuffer,我们能够在console下面作很多事情.首先下载framebu ...
- dll间接应用问题
在项目prj引用一个dll,a.dll,时,此dll应用b.dll 此时不将b.dll引用添加到prj,会有问题
- 第一个Android crackme(2016-05)
第一个Android crackme 0x00 背景 最近在学习Android的逆向,把基本的环境搭好后,看了看<第一行代码--Android>,然后就按照非虫大牛的<Android ...
- util:properties与context:property-placeholder
spring 使用注解装配的Bean如何使用property-placeholder属性配置中的值 这个问题不大不小,以前偷懒凡是碰到需要引用属性文件中的类时就改用xml来配置. 今天看了下sprin ...
- ARM裸板调试思路总结、笔记
1. 点灯 2. 串口打印 3. JTAG调试器3.1 命令行调试 3.2 源码级别的调试前提a. 程序必须已经重定位好,位于它的链接地址a.1 如果程序的链接地址是SDRAM, 使用openocd初 ...