Android 使用 DLNA 在电脑或者智能电视上播放手机媒体文件
Digital Media Server(DMS)-数字媒体服务器,提供媒体获取、记录、存储和输出功能。同时,内容保护功能是对DMS的强制要求。
Digital Media Player(DMP)-数字媒体播放器。能从DMS/M-DMS上查找并获取媒体内容并播放和渲染显示。比如智能电视、家庭影院等。
Digital Media Renderer(DMR)-数字媒体渲染设备。通过其他设备配置后,可以播放从DMS上的内容。与DMP的区别在于DMR只有接受媒体和播放功能,而没查找有浏览媒体的功能。比如显示器、音箱等。
Dlna通讯采用upnp协议。
做DLNA开发的时候都是用现有的upnp开源框架,
upnp官网地址是:http://upnp.org/
SDK地址为:http://upnp.org/sdcps-and-certification/resources/sdks/
UPnP官网上提供了很多的SDK,各种语言的版本都有:
1、用CyberGarage库的DMP实现、ControlPoint是核心类
开源DLNA Github地址:cybergarage-upnp
(1) 基于CyberGarage库的dlna开发(Android)
Github: https://github.com/geniusgithub/MediaPlayer
2、关于DMR、DMS,采用的upnp框架是Platinum SDK
官方网址是 http://www.plutinosoft.com/platinum
该库是一个跨平台的C++库,利用该库,可以很容易就构建出DLNA/UPnP控制点 (DLNA/UPnP Control Point)和DLNA/UPnP设备(DLNA/UPnP Device),其中包括有UPnP AV Media Server, Media Render & Control Point的例子
关于该库如何编译,请参考这篇博文:NDK下 将Platinum SDK 编译成so库
(1) 基于Platinum库的DMS实现(Android)
Github: https://github.com/geniusgithub/MediaServer
(2) 基于Platinum库的DMR实现(Android)