关于DLNA
Version:0.9 StartHTML:-1 EndHTML:-1 StartFragment:00000099 EndFragment:00005587
概念
DLNA的全称是DIGITAL LIVING NETWORK ALLIANCE, 其宗旨是Enjoy your music, photos and videos, anywhere anytime,
DLNA(Digital Living Network Alliance) 由索尼、英特尔、微软等发起成立、旨在解决个人PC,消费电器,移动设备在内的无线网络和有线网络的互联互通,使得数字媒体和内容服务的无限制的共享和增长成为可能,目前成员公司已达280多家。
简介
DLNA并不是创造技术,而是形成一种解决的方案,一种大家可以遵守的规范。所以,其选择的各种技术和协议都是目前所应用很广泛的技术和协议。
DLNA将其整个应用规定成5个功能组件。从下到上依次为:网络互连,网络协议,媒体传输,设备的发现控制和管理,媒体格式。
DLNA功能模块
DMS DMR DMC DMP
详细介绍
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。其他可选的媒体格式见表2。
DLNA 媒体格式
媒体分类 必须支持的格式 可以支持的格式
Image JPEG PNG, GIF, TIFF
Audio LPCM AAC, AC-3, ATRAC 3plus, MP3, WMA9
AV MPEG2 MPEG-1, MPEG-4*, AVC, WMV9
以上,就DLNA的技术做了简单的阐述,仅就技术而言,DLNA离我们应该说很近了。但是,这里面还有很多商业上的因素。所以,DLNA离我们还有一段距离。
关于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 ...
- DLNA
DLNA最早由索尼.英特尔.微软等提出,全称是DIGITAL LIVING NETWORK ALLIANCE,旨在解决个人PC,消费电器,移动设备在内的无线网络和有线网络的互联互通,其实就是解决电脑和 ...
- 基于PlatinumKit库的DLNA服务端开发
首先,需要特别感谢蓝斯老师的资料,我这里有很大一部分是参考蓝斯老师的,附上传送门:http://blog.csdn.net/lancees/article/details/9178385 一.DLNA ...
随机推荐
- 关于generate用法的总结
Abtract generate语句允许细化时间(Elaboration-time)的选取或者某些语句的重复.这些语句可以包括模块实例引用的语句.连续赋值语句.always语句.initial语句和门 ...
- zabbix 实现 iptables 监控
安装iptstate # yum install iptstate 配置zabbix key iptables.conf # cat /etc/zabbix/zabbix_agentd.d/iptab ...
- 在TypeScript中扩展JavaScript基础对象的功能
最近工作中用到,记录一下:假设我们需要一个功能,把一个数字比如10000输出为下面的字符串格式“10,000”,一般是写一个方法,那么我希望更方便一点,直接向Number类型添加一个格式化方法,比如叫 ...
- CCZone
/**************************************************************************** Copyright (c) 2010 coc ...
- distill 来自google,openai,deepmind,YC research
https://distill.pub/ https://colah.github.io/
- Hmily:高性能异步分布式事务TCC框架
Hmily框架特性 无缝集成Spring,Spring boot start. 无缝集成Dubbo,SpringCloud,Motan等rpc框架. 多种事务日志的存储方式(redis,mongdb, ...
- angular五种服务详解
在这之前angular学习笔记(十五)-module里的'服务'这篇文章里,已经大致讲解了ng中的'服务',在之后的很多地方也用到了服务,但是,所有的服务都是使用app.factory来创建的.但其实 ...
- tornado源码分析-iostream
tornado源码分析-iostream 1.iostream.py作用 用来异步读写文件,socket通信 2.使用示例 import tornado.ioloop import tornado.i ...
- 每日英语:How to Save Detroit
Detroit is beautiful-though you probably have to be a child of the industrial Midwest, like me, to s ...
- JavaScript 模块化简述
JavaScript 模块化简述 前言 关于模块化,最直接的表现就是我们写的 require 和 import 关键字,如果查阅相关资料,就一定会遇到 CommonJS .CMD AMD 这些名词,以 ...