點閱率 | 2476 次
淺談網路影片自適應串流技術 MPEG-DASH
文/劉普昇
在行動裝置已經深入我們生活點點滴滴的當下,在各種行動裝置上欣賞線上影片,已經是顯而易見的未來趨勢。
│ 圖一、本院知情同意影片片頭
│網路觀看影音的方式│
目前要透過網路觀看影音檔案,簡單來說,目前主要有兩種方式:下載或串流。
下載的運作很簡單,就是當Client端,也就是我們手上的行動裝置或家裡的電腦,想要看影片時,透過網路,跟遠端SERVER要求想看的影音檔,SERVER端在接收到我們的要求後,開始透過網路將影音檔傳遞到我們Client端上,等到全部傳完,Client端就可以開始播放影片了!這個方式對於較小的影音檔來說還算適用,可是當面對長度較長或畫質較佳檔案較大的影片,就會有可能造成使用者等待過久,最後失去耐心放棄觀看的結果。可是檔案全部下載到Client端的好處是,隨時可以重看,拉動到想看的位置也不會有lag的現象等優點。
串流的運作模式是,SERVER端一邊把影片傳輸到Client端,一邊在傳輸的過程中,Client端就一邊進行解碼播放,與下載相比,可以省下許多等待的時間,更適用於即時影音應用,但對於網路以及SERVER端的設備要求也會更高。但是,網路速度因為行動裝置觀看的時間地點,會有極大的差異,所以如何兼顧影片觀看的順暢度、畫質、等待時間,成為一個重要的課題。
│自適應影音傳輸模式 ABS│
於是,自適應串流技術就誕生了,也就是ABS:adaptive bitrate streaming。相較於過去的RTP串流技術,這新的ABS自適應串流技術架構在HTTP下,使用上更為廣泛,因為通常HTTP並不會被檔掉,讓ABS的泛用性更廣,目前最常見的,就是像youtube、vimeo、Netflix等等,都是採用類似的技術。
│ 圖片二、自適應串流技術概念圖(取自wiki)
自適應串流系統,主要是在SERVER端先進行視訊音訊編碼,產生多重bitrate(不同畫質)並且切割成一個又一個短短的獨立的影音檔以及切割索引檔。當Client端向SERVER端要求影音檔時,SERVER先給予此影片的切割索引檔,然後根據Client端的下載速度或快取暫存量來決定要與多少bitrate的影片,然後依據每一個切割檔透過網路傳輸的過程進行判斷,即時調整,帶給使用者在其當下網路情況下,能夠享受到的最佳體驗。
│運作方式│
│ 圖三、簡易自適應串流運作模式(取自wiki)
我們可以從圖三中看到簡單的自適應串流運作示意圖:當一開始不知道網路頻寬時,SERVER也許選擇先給予低畫質的影音(Low Bit Rate Stream),到下一個切割檔時,SERVER端發現網路頻寬足夠,SERVER端就送出高畫質的影音(High Bit Rate Stream),運作網路遇到瓶頸時,再降到低畫質的影音檔案播放,藉此減少播放的停頓。
│四大陣營與結論│
目前對於ABS的實現,主要有四大陣營:
1. MPEG-DASH
2. Adobe HTTP Dynamic Streaming (HDS)
3. Apple HTTP Live Streaming (HLS)
4. Microsoft Smooth Streaming (MSS)
其中,MPEG-DASH (MPEG – Dynamic Adaptive Streaming over HTTP) 是Base ON HTTP的自適應串流方案中的唯一國際標準。而除了MPEG-DASH外,目前常見類似的行動影音串流技術還有Apple 的 HLS (HTTP Live Streaming)、Microsoft Smooth Streaming 和 Adobe Dynamic Streaming,這些技術規格相似度很大,但因陣營之間彼此競爭,互不相容。相較於其他陣營,MPEG-DASH是由MPEG與3GPP兩大標準組織所制定,更有公信力,而且它開放了CODEC和廣泛支援DRM,更為大眾所接受。
│ 圖四、MPEG-DASH的ABS實做運作結構(資料來源為MPEG-DASH白皮書)
由此可知,ABS的技術,帶給人們較快的影音體驗,並且可以根據使用者網路狀態,提供對應的畫質音效,非常適合現代使用!未來,本院的自有衛教影音平台,亦將規劃使用同樣技術,希望帶給人們最好的學習體驗!!