當前位置:編程學習大全網 - 編程語言 - DLNA概述

DLNA概述

有時候會想,我在用手機看視頻的時候或者聽音樂的時候,覺得手機的屏幕不夠大,聲音不夠立體。那麽我可能會把手機裏的視頻先拷到電腦上,然後再在電腦上播放觀看。

這裏就多出了這個步驟,需要我先把視頻拷到電腦上去才能看,如果我手頭沒有數據線,那豈不是很麻煩了。於是,這種場景被越來越多的人發現,發現的人多了,問題多了,自然會形成壹個消費市場,各種形形色色的解決方案都出來了。此時便有人站出來說:“大家聽我說,我可以搞壹套規範,以後大家都按照這個來做好了”,眾人鼓掌。

好了,這個規範就是DLNA。但事實上並沒有創造新的技術,只是把已有技術整合起來,成為壹種局域網分享的解決方案罷了,大家都來遵守這個規範。

DLNA全稱為 DIGITAL LIVING NETWORK ALLIANCE (數字生活網絡聯盟),旨在解決個人電腦,消費電器,移動設備在內的無線網絡和有線網絡的互聯互通,使得數字媒體和內容服務的無限制的***享和增長成為可能,為設備廠商提供了用於構建互操性數字化家庭設備和平臺的必要信息

我們的設備(PC,手機,電視等)可以通過DLNA在局域網內進行多媒體(圖片以及音視頻)的分享,這就是DLNA的功能,就是DLNA。有了DLNA,我們可以把音樂投送到音質更好的音響上去,可以把視頻投送到屏幕更大的電視上去。

雖然說DLNA標準已經停止更新,但是我們可以這樣去理解:DLNA是使用了很多已有的基礎協議整合的壹套規範,按理來說這些協議經過幾十年的叠代,已經相當穩定,DLNA無法在已有的協議上再做創新。但是時代是在發展的,而DLNA只是整合協議而已,並沒有新技術的產生,使用之前已有的協議畢竟會產生瓶頸,無法滿足新設備的發展需求,比如我們想要更低的延遲,更高的畫質等等,這可能就需要新技術來實現這些功能。但事實上,實現DLNA的設備已經數以億計,在不需要更高體驗的前提下,DLNA依然是不錯的選擇。

DLNA為設備和軟件之間定義了壹個可互相通信的體系架構。它包括物理媒體,網絡傳輸,設備發現與控制,媒體管理與控制,媒體格式,媒體傳輸協議和遠程用戶界面,下表是各功能組件和相關技術的簡單描述:

DLNA所使用的網絡連接方式,以太網,無線網(包括直連),同軸電纜多媒體等。

DLNA所使用的網絡協議棧,包括IPv4和IPV6。

DLNA使用UPnP作為設備發現與控制的協議框架,是DLNA中相對重要的壹層。

DLNA所使用媒體管理與控制的方式,UPnP Audio/Video (AV)等技術來實現。

DLNA設備所必須實現的媒體格式以及可選媒體格式。

DLNA設備所使用的媒體傳輸方式,使用HTTP或者RTP實時傳輸協議來實現。

DLNA定義了網絡設備之間的UI內容是如何被描述,格式化及傳輸的,也包括不同設備之間的事件發送機制及UI 更新機制。

DLNA使用商業視頻配置文件(CVP)來定義不同相關設備信息。

DLNA具備如下功能:

設備可以通過DLNA在局域網中進行多媒體的分享,那麽必然不同的設備是需要扮演不同的角色的。信息不會平白無故產生,也不會平白無故消失,家庭中的對應設備扮演了信息的生產者和消費者。

通常在家中,可能有很多設備,有電腦,電視,手機,音響等,林林總總各式各樣的。如果我們要把手機中的視頻投送到電視上去,顯然在這個過程中需要有設備發送,有設備接收,有信息傳遞,那麽必須要有不同的角色處理這些事情才能達到我們投送的目的。同時,在DLNA中也約定了壹些可以使用的信息(媒體)格式,比如JPEG,MP3,MP4等,只有約定好了的信息格式才可以進行傳輸。

DLNA設備主要可以分為4種角色,DMS,DMP,DMR和DMC,下表對該4中角色進行描述:

在網絡環境中,這些設備並不能互相認識,不知道誰是電視,誰是電腦,誰又是音響,那這樣就相當麻煩了。在DLNA中使用UPnP來達到這壹需求,如果妳不知道什麽是UPnP也沒有關系,我們可以大致的去理解它: UPnP是DLNA整合的協議之壹,DLNA使用它去發現和控制設備並對媒體進行管理 ,這就是UPnP在DLNA中做的工作。

UPnP可以幫助設備認識其他設備,並且配置允許的情況下還可以控制其他設備。UPnP為了實現這些功能主要分為以下步驟: 尋址,發現,描述,控制,事件觸發以及展示

尋址是UPnP的第壹步,它幫助設備在局域網中獲取壹個IP地址,有了IP地址後其他設備可以很方面的向妳發送信息,就像知道了妳的地址可以給妳寄信壹樣。

如果這個設備是向其他設備提供服務的,那麽在它被添加到網絡後,會 多播 發送大量的消息,告知其他設備它所具有的功能;如果這個設備是提供控制功能,那麽在它被添加到網絡中後,它同樣會通過多播的方式去發現,搜索感興趣的設備,服務。打個比方,妳需要去集市上買些蘋果,當妳來到熱鬧的集市上,各種小販的播音喇叭都在叫賣,不同的小販叫賣不同的商品,我們可以理解為這就是他們在宣告他們所提供的不同服務,如果妳感興趣,妳就會他的攤點購買妳想要的蘋果。這個場景中,小販就是通過多播的方式來宣告他提供的服務,感興趣的顧客都可以去他的攤點,讓他提供服務。唯壹有差別的就是在妳剛到集市上的時候並沒有大喊壹聲妳要買蘋果,但實際上妳通過觀察後,已經在心裏開始搜索這個集市上賣蘋果的攤點了。

妳通過小販的廣播,找到了妳感興趣的攤點。但是當妳到了攤點,妳知道的僅僅是他在賣蘋果,妳還不知道他賣的是什麽蘋果,價格是多少,品質怎麽樣,所以妳又開始和小販進行交談,了解妳想要的具體信息,然後妳就知道妳在他的攤點可以買到什麽樣的蘋果。這就可以理解為UPnP中的描述功能,壹個設備知道另壹設備的服務之後,會想去了解他提供服務的具體信息,了解之後控制設備才能知道他可以對這個服務做些什麽事情。如果這個服務沒有提供的功能,那麽很顯然,控制設備也就無法控制了。

UPnP控制在買蘋果的場景中可以理解妳找到妳想要的蘋果之後,讓小販幫妳稱重,包裝的過程,小販收到妳的“控制指令”後開始執行。比如妳要買5斤蘋果,在稱重的過程中,小販都會和妳反饋少了多了,需要拿出幾個或者放進幾個。

我們在這裏並不講UPnP具體的實現過程,只是為了讓妳能清晰的明白UPnP的服務過程是怎樣的,DLNA可以通過UPnP進行發現與控制設備和媒體管理。如果妳感興趣可以閱讀這篇文章 UPnP協議實現過程 。

  • 上一篇:彈出窗口簡史(5):手機彈出窗口的幾種形式
  • 下一篇:php該怎樣進階?
  • copyright 2024編程學習大全網