展会信息港展会大全

在android系统中开发DLNA 多媒体共享
来源:互联网   发布日期:2016-01-19 12:24:25   浏览:3085次  

导读:(注:以下文档为鄙人在开发过程中的总结,属于抛砖引玉,只适合尚未涉 足这一技术方面的开发者参考学习,想要精通此技术,需要自己多多专研。)内容目录Part 1 前言:DLNA简介Part 2 主体:DLNA在androi ...

(注:以下文档为鄙人在开发过程中的总结,属于抛砖引玉,只适合尚未涉 足这一技术方面的开发者参考学习,想要精通此技术,需要自己多多专研。)

内容目录

Part 1. 前言:DLNA简介

Part 2. 主体:DLNA在android中的开发流程

Part 2. 关于DLNA的其他知识

Part 1. 前言:DLNA简介

DLNA,Digital Living Network Alliance的简称,意在解决pc,家电,移动设备在局域网内的多媒体共享(音频,视频,图片)。说DLNA是多屏互动,太牵强了,专业点来讲,应该 是媒体共享技术。使用DLNA功能需要满足的条件:

设备需要在同一局域网内;

至少需要一个DMS端,一个DMP端。

DLNA的几种产品:

1、DMS, Digital Media Server的缩写,把本设备内的多媒体文件(自己控制需要共享哪些文件)到DLNA服务端,

2、DMP,Digital Media Player的缩写,可以搜索局域网内,所有DMS提供的多媒体内容,并在本设备播放。

3、DMC,Digital MediaController的缩写,作为控制DMP搜索播放DMS的内容,与DMP不同,DMC可以控制局域网内的其他设备的DMS和DMP之间的交 互,比如,pad作为DMS,机顶盒做DMP,手机用做DMC,三个设备在同一局域网内,手机可以直接控制让机顶盒播放pad里面共享出来的多媒体。

DMR,Digital Render的缩写,作用:DMP+DMR。

常见的产品规划:机顶盒做为DMP,音响或者手机、pad这些小屏设备作为DMS,手机作为DMC,事实上,手机端一般开发DMR。这就是市场上比较 常见的DMS + DMR开发。功能齐全的应用应该囊括这两个功能。

Part 2. 主体:DLNA在android中的开发流程

本文档忽略个别细节,只讲核心的步骤:

1、DLNA是基于UPNP协议的,所以你应该选一个开源的第三方UPnP sdk用DLNA的核心处理。网址是:http://upnp.org/sdcps-and-certification /resources/sdks/C的,有C++的,有Java的,应有尽有,看你习惯用哪门语言开发。。有

2、参照upnp sdk的文档进行相应的核心开发,那些sdk普遍的过程都是编译出一个jni库。

3、使用jni库进行安卓的应用层开发。

4、这里单独讲一下DMP的开发,因为种种原因,DLNA能够传输的视频很有限而且安卓对视频的处理一直很受诟病,google的视频处理API MediaPlayr对视频的处理相当的弱,如果你想你的应用对各种视频具有良好的支持,建议一直一个视屏播放器,ffmpeg gstream vlc等等都行。

整个开发过程就是NDK下面的JNI开发,当然,个别SDK除外,有专门java处理的sdk。

下面推荐几个比较好的UPNP sdk:

Cling Platinum Cybergarage(海思用的就是这个sdk)

具体的开发技术都在相应的sdk的开发文档里面。

下面是一些比较好的博客:

1、有Platinum的DMS应用层实现教程,jni库没有源码,可以自己编译:

http://blog.csdn.net/lancees/article/details/9865411

有比较好的UPNP介绍和DLNA的思路开发

http://blog.csdn.net/bao_jinyu/article/category/1149905

开发人员必须知道在github上选择好东西

https://github.com/

基于Cling开发的DLNA应用

http://www.it165.net/pro/html/201303/4968.html

5、基于CyberGarage库的dlna开发,海思的DLNA应用是用的此sdk

http://luochao0913.blog.163.com/blog/static/6409386120133104208719/

Part 3. 关于DLNA的其他知识

提到DLNA,不得不提下其他类似的功能DLNA,miracast,airplay

DLNA,miracast,airplay协议的区别和优缺点以及实现方式的差异

DLNA

DNLA,是索尼、英特尔、微软等发起。苹果当时也是DLNA联盟的成员,而后来退出了并自立门户。 DLNA与苹果的AirPlay功能比较类似,协议 也大体相同,他们都可以让你手机中的媒体内容投放到电视屏幕里。不同的是手机上的DLNA 并没有类似Apple TV的AirPlay 的镜像功能,也 没有Apple TV 所支持的双屏体游戏体验。目前DLNA更多只是能将手机的照片和视频投送到大屏幕中。

Miracast

Miracast是由Wi-Fi联盟于2012年所制定,以Wi-Fi直连为基础的无线显示标准。支持此标准的设备可通过无线方式分享视频画面,例如手机 可通过Miracast将影片或照片直接在电视或其他装置。与DLNA不同的是,Miracast 也有类似于AirPlay 的镜像功能,可以将手机中 屏幕内容直接投放到高清电视屏幕里,这样你也可以通过电视屏幕来玩游戏了。由于这一技术比较新,支持这一技术的设备到目前为止,十分稀少。而且技术不成 熟,连小米盒子的Miracast接收到都还在开发中。

AirPlay

AirPlay 是苹果开发的一种无线技术,可以通过WiFi将iPhone 、iPad、iPod touch 等iOS 设备上的包括图片、音频、视 频通过无线的方式传输到支持AirPlay 设备。AirPlay 还有一个特殊的功能,这一功能叫AirPlay镜像,配合上Apple TV这以功能 可以将iPhone 或者iPad 上的画面无线传输到电视上,也就是说你设备显示的是什么电视屏幕显示就就是什么,而不仅限于图片和视频。所以用这一个 功能来玩游戏是非常酷的,你可以拿着iPad 来当做方向盘,然后看着大屏玩游戏。另外AirPlay镜像最强大地方是它可以实现双屏游戏,让你的游戏有 更多的交互。

DLNA协议:只适用于音频、视频、图片推送,将多媒体文件通过无线的方式传送到电视机或投影仪上面。

Miracast协议:是以WIFI直连为基础的无线显示标准。支持此标准的设备可通过无线方式分享视频画面,例如手机可通过Miracast将影片或照 片直接在电视或其他装置播放而无需受到连接线缆长度的影响。Miracast跟Airplay是一样的镜像功能,可以将手机中屏幕内容直接投放到高清电视 屏幕里,同样你也可以通过电视屏幕来玩游戏、播放在线视频。

Airplay协议:目前,苹果的AirPlay 更多的只适用于认证过的苹果设备,目前支持这一技术的主要是苹果自己的设备包括了iPad、 iPhone、Apple TV等,此外还有一些苹果授权的合作伙伴的设备,如向Pioneer和Sony提供技术授权的音响。

赞助本站

人工智能实验室

相关热词: DLNA android

AiLab云推荐
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港