MPEG-DASH是啥?

參考:

《基於QUIC傳輸的自適應流媒體技術研究》    

------------------------------------------------------------------------- 

        MPEG-DASH是一個新起的標準,在此之前已經有許多流媒體服務提供商提出各自的自適應流媒體技術方案。自適應流媒體技術最早可以追溯到Apple公司的HHTP直播流技術,Adobe公司的動態流技術和Microsoft公司的smooth  stream技術。然而現實生活中,這些流媒體服務提供商提供的解決方案採用各自獨屬的內容格式,導致彼此之間無法兼容,從而使得系統的整體維護難度加大。

        爲了解決不同流媒體服務提供商提供的移動終端與後臺流媒體服務器之間的互通性,讓不同流媒體提供商和服務器之間交互;在保證實現系統的開放性與通用性的同時降低系統複雜性及運營成本。2011年底,MPEG-DASH協議由MPEG組織與3GPP聯合提出,並於2014年成爲首個基於HTTP協議的自適應流媒體技術的國際標準。隨着標準的不斷髮展,MPEG-DASH正在被越來越多的公司關注與應用。

        MPEG-DASH標準中當前只是對視頻資源進行了相應的規定,視頻資源只包含了視頻媒體段與 MPD(媒體描述文件)。
MPEG-DASH規定的流媒體視頻被DASH封裝生成具有固定播放時長的視頻媒體段,並使用 MPD 記錄視頻資源的詳細信息。把生成好的視頻資源和 MPD 文件存放在服務器中。播放視頻時,客戶端首先向服務器下載 MDP文件,解析MPD文件獲取播放視頻的相關信息。客戶端根據當前客戶端的視頻緩存水平與當前網絡狀況自適應的選擇合適碼率的視頻資源進行下載。從而在播放過程中實現碼率自適應,充分利用網絡資源,保證視頻播放流暢。

                                 

------------------------------------------------------------------------- 

MPD文件

        MPEG-DASH標準中提出了一個層次化的文件組織結構,並將其用於描述流媒體服務器上的視頻資源文件。MDP(媒體呈現描述文件)同視頻媒體段一塊生成,包含着所有生成文件視頻,音頻,音視頻碼率字幕等所有內容。一般供客戶端在會話開始時使用HTTP協議下載,之後客戶端根據緩存水平與網絡環境選擇合適的資源進行下載,實現視頻自適應播放。
                         

        MPD文件具有可擴展的特點,能方便的獲得跨平臺的支持。文件數據量小,下載耗時少,在傳輸過程中幾乎不會造成時延。
MPD使用的是分層的數據模型,包括週期(period),適應集(Adaption Set),表示(Reprentation),段(Segment)。

        一個MPD文件包含着一個或者多個能時間軸上連續的週期。週期是可以連續播放的視頻的播放時長,包含視頻的起始時間與持續時間。在這段時間內,視頻的相關參數確定。 

        一個週期有一個或者多個適應集組成。適應集內包含着一個或者多個媒體組件,同一個適應集內的媒體內容相同,只是編碼版本不同,不同適應集內的媒體內容可能不一樣。一個適應集中包含着一個或者多個表示。一個表示通常是由一個或多個編碼版本組成,是對特定媒體內容中通道數,解析度等信息的描述。一個表示中包含着一個或多個段。段是一個臨時的媒體流序列塊,是 MPD 文件中的基本單元。一個表示通常由一個或者多個按時間順序的段組成,每個段中都包含着各自視頻媒體段的 URL 供客戶端通過 HTTP 協議下載。

------------------------------------------------------------------------- 

DASH視頻段

        MPEG-DASH標準將視頻劃分爲時間上連續不重疊的視頻段,將分割好的視頻段存放在流媒體服務器中,視頻段後綴爲“
.m4s”。每個視頻媒體段中一般是固定的,通常在2s到10s 之間。因爲每個視頻媒體段是由若干完整的GOP組成,故每個視頻媒體段都可以獨立播放。並對應有獨立的URL地址記錄在MPD文件的段中。客戶端可以通過解析MPD文件獲取視頻媒體段的URL,並通過HTTP協議想服務器請求下載。

------------------------------------------------------------------------- 

DASH自適應傳輸過程

        MPEG-DASH自適應傳輸過程如圖2.5,服務器中存放和管理視頻資源及描述視頻資源的MPD文件。客戶端播放視頻時,首先客戶端會根據MPD文件的URL通過HTTP協議向服務器請求MPD文件。服務器收到HTTP請求後對其進行響應傳輸客戶端請求的MPD文件。客戶端接收到MPD文件後對MPD文件進行解析獲取播放視頻的具體信息,並根據網絡情況確定第一段視頻的碼率。根據MPD文件中對應視頻的URL使用HTTP協議下載。第一段視頻下載完畢後,客戶端綜合自身緩存以及網絡環境選擇合適碼率的第二段視頻段下載,依次類推,直到所有視頻下載完畢。

                                                      

        由於HTTP協議是無連接的,客戶端與服務器之間不需要保持連接,整個下載播放過程是由DASH客戶端驅動,服務器只需要簡單地存放維護視頻資源即可 。

------------------------------------------------------------------------- 

附:

        MPEG-DASH是一個解決方案,有基於它實現的開源播放器,例如dash.js,網上也有很多基於dash.js的播放器demo

        HTTP是無連接,無狀態的:無連接的含義是限制每次連接只處理一個請求。服務器處理完客戶的請求,並收到客戶的應答後,即斷開連接。採用這種方式可以節省傳輸時間,Keep-Alive可保持鏈接;無狀態是指協議對於事務處理沒有記憶能力,服務器不知道客戶端是什麼狀態。即我們給服務器發送 HTTP 請求之後,服務器根據請求,會給我們發送數據過來,但是,發送完不會記錄任何信息,cookie與session可保持狀態。

        

 

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