流媒体通信协议HLS与DASH的对比
簡單了解
HLS(HTTP Live Streaming)協議
是由蘋果公司實現的基于HTTP的流媒體通信協議,并成為Quick TIme X和IPhone軟件系統的一部分。蘋果的IPad也有支持HLS的能力。
HLS傳出的視頻文件為基于MPEG2文件的切片,每個媒體切片在服務器上單獨存放。在一個流媒體文件分片過程中,視頻處理程序讀取連續的輸入流,將其切割為等長的切片,默認長度為10秒。該程序還會生成一個m3u8格式列表文件,其中包含了切片列表和每個切片的具體信息。m3u8是m3u列表格式的擴展,m3u8文件具有兩層分級架構,在文件起始處用#EXTM3U標簽以示區別。在一級列表中,以#EXT-X-STREAM-INF標簽起始提供各比特率的視頻列表地址,該地址可以鏈接到另一個二級m3u8文件上,二級m3u8列表提供了所有同一比特率的視頻切片的時長和URL地址。
HLS協議的流媒體傳輸過程是首先服務器在資源準備階段將不同比特率的食品切片并分別存儲,同時生成兩級或更多級的M3u8文件。傳輸開始時,客戶端首先從服務器上請求并下載m3u8文件,通過解析該文件得到視頻切片信息,選擇適合當前狀況的切片,提取出該切片的URL地址,直接通過該地址向服務器發起請求。因此,服務器端不需要任何額外的處理,任意Web服務器都可以配置成支持HLS協議的服務器。
DASH的提出
除了HLS,其他的動態自適應流媒體技術還有微軟的IIS Smooth Streaming,Adobe公司的Dynamic Streaming等。這些共存的協議采用的技術80%是相同的,但是100%是不相兼容的。為了對業界存在的多種自適應流技術進行規范,MEPG推出MEPG-DASH標準。旨在為動態自適應流媒體技術創造一種同一的協議標準。DASH也得到了許多公司的支持,Apple,Adobe,Microsoft,Netflix,Qualcomm表示只要DASH完成,就會支持這個標準。
因此HLS和DASH的區別主要如下圖:
DASH基于MEPG-DASH流媒體協議的系統架構如下圖:
參考
HLS和DASH流媒體服務全面對比
總結
以上是生活随笔為你收集整理的流媒体通信协议HLS与DASH的对比的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python中的+=
- 下一篇: Python可以减少代码量?我不信