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