數字家庭的創新思考(如何屏蔽衆多互聯互通協議(DLNA,IGRS,e家佳,OSGi等)的差異性)

互聯互通協議的共性是要解決如何發現設備(SSDP協議等),獲取設備有些什麼能力(也就是能提供些什麼服務),如何控制、協調和使用各自設備上服務,如何屏蔽這些標準之間的差異性,提供基於應用層之上的overlay協議棧 

1. 閃聯協議原理

2.dlna原理

術語:DLNA: Digital Live Network Alliance, 資源共享協議標準以實現設備之間互聯、互通和互操作功能 MS:媒體服務器 MR:媒體播放器 CP 控制點 CDs:內容目錄服務 AVT:媒體傳輸服務 RCs:呈現控制服務 CM:連接管理服務 UPnP 基於IP網絡的設備即插即用協議
原理:DLNA協議主要是解決局域網中設備之間的互聯、互通和互操作問題,在UPnP基礎之上定義了設備交互規範,其中AV框架規定了設備(媒體服務器MS,控制點CP,媒體播放器MR)之間的通信規範,具體分爲以下步驟:
1. 控制點基於SSDP協議查找/發現網絡中媒體服務器
2. 控制點調用媒體服務器MS的內容目錄服務CDs的Browser接口瀏覽媒體文件,選中感興趣的媒體文件後,調用媒體播放器MR的媒體傳輸服務AVT的SetAVTransport接口把鏈接地址URI發送給媒體播放器。
3. 控制點調用媒體播放器上的AVT和RCs服務來控制媒體播放(播放,暫停,聲音和亮度調節)

交互過程:
媒體播放器和媒體服務器之間基於http(標配)或rtsp(可選)進行媒體文件傳輸,控制點不參與媒體傳輸過程,控制點主要是來協調媒體服務器和媒體播放器之間的互操作功能的,比如選擇兩者都支持的傳輸協議和媒體格式,通常會有個UI界面來操作各自提供的接口(UPnP Action),比如手機,遙控器等,下面描述控制點播放視頻的交互過程。
1. 發現DLNA網絡中的音視頻設備(媒體服務器和媒體播放器):控制點會自動通過UPnP的發現機制來檢測到網絡中的媒體服務器和媒體呈現器,一種通過手機以組播的形式發送UPnP M-SEARCH命令來查找設備,另外是網絡中的音視頻設備會間隔地發送ssdp:alive消息告訴控制點其設備信息和其提供的服務。
2. 查找、瀏覽網絡中媒體服務器的視頻:調用媒體服務器提供的內容目錄服務接口ContentDirectory::Search()或Browser(),媒體服務器會以didl-lite規範返回目錄及文件信息,其中包括支持的傳輸協議和格式
3. 獲取媒體播放器的協議信息:控制點調用媒體播放器連接管理服務的接口ConnectionManager::GetProtocolInfo()來獲取傳輸協議和支持的數據格式列表。
4. 匹配傳輸協議和數據格式:控制點在第2步從媒體服務器獲取到的視頻格式和支持的傳輸協議,在第3步同樣獲取到媒體播放器支持的傳輸協議和媒體數據格式,通過比較選擇兩者都支持的協議和數據格式。
5. 配置媒體服務器和媒體播放器:DLNA中媒體服務器和媒體播放器必須都支持連接管理服務,控制點通過調用ConnectionManger::PrepareForConnection()接口來做預配置處理並返回傳輸服務(AVTransport)的實例Id,以方便多個控制點操作狀態的管理
6. 選取要播放的視頻:控制點根據第2步中返回的視頻列表中選擇要播放的視頻,調用音視頻傳輸服務AVTransport::SetAVTransportURI()接口來告訴媒體播放器資源存儲地址。
7. 開始視頻傳輸:控制點調用媒體播放器的音視頻傳輸服務AVTransport:play() /stop()接口進行控制操作,這個時候實際就是媒體播放器從媒體服務器上下載視頻播放,控制點不參與視頻數據的傳輸過程。
8. 視頻顯示控制:控制點調用媒體播放器的呈現控制服務RendringControl的接口來調整顯示效果,如控制亮度,對比度,聲音大小等。
9. 重複選擇下一個視頻:控制點通過調用AVTransport::SetAVTransportURI() 或者AVTransport::SetNextAVTransportURI()接口來重複上面的過程播放下一個視頻。
10. 播放結束:當控制點不想再播放視頻時,就可以調用連接管理服務ConnectionManager::ConnectionComplete()接口來結束媒體服務器和媒體播放器


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章