接觸DLNA協議也有7⑻年了。
最早接觸DLNA是在2007年, 為P公司做DLNA方案, 厚厚的1000多頁協議全部看了1遍。然后是接觸N公司提供的手機版DLNA DMC實現。
最近幾年是S公司的DLNA實現和B公司的實現。
這幾個公司都是大公司, 很成心思的是,他們全部不用網上搜的libupnp,ushare,miniDLNA,全部自己造了1次輪子。
這可能也跟大公司財大氣粗有關系, 還有1點比較成心思的是他們均用C語言實現。
網上很多人說C++是流媒體的老大, 就我個人工作經驗來看, 流媒體領域還真沒C++甚么位置, 核心的代碼均被C霸占。
DLNA協議大致可以分為3層
第1層為裝備發現層 基于Upnp
第2層為服務發現層,主要是SOAP, 這個和WebService實際上是差不多的。
第3層為流媒體服務, 傳輸協議為HTTP1.1, RTP1直在研究很少被實際使用, 然后是媒體格式和Profile定義。
實際項目中,主要工作集中在以下2個方面:
1> 裝備發現的調試, 需要開發者熟習網絡抓包和SSDP
2> 媒體格式的MIME和Demux, 各種播放問題調查
就個人來講, 感覺DLNA目前最大的問題是有限的帶寬下,如何支持多個裝備同時1080P播放。
與云服務器如何融會。
下一篇 mysql使用總結