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)