我們現今在家裡透過電視機上盒、電腦或手機,就可以看到許多電影和戲劇,也可以透過直播看到各種運動比賽,觀看的過程可以非常流暢,幾乎沒有延遲和中斷,這些主要是因為影音串流技術的進步。所謂的影音串流技術,就是將影像和聲音透過網路傳送到使用者的裝置上。由於影音檔案往往動輒數十Giga,大量影音檔案在網路上傳遞,就需要複雜的影音串流系統與遞送網路支撐,而這些技術以前都掌握在國際大公司手上,現在我們自已也有影音串流與遞送系統。
圖片來源 : shutterstock、達志影像
以下我們要介紹影音串流系統當中兩個非常重要的技術,分別是影音串流通訊協議 (Streaming Protocol) 以及內容遞送網路 (Content Delivery Network, CDN)。
影音串流通訊協議
當我們想要透過網路觀看一部影片時,傳統的做法是將整部影片都下載到我們的電腦上,等到下載完成以後才能開始觀看。這種做法的缺點是,假如我們想要看的是一部2小時的電影,我們不能馬上看到,而是先要等幾十分鐘將整部電影下載下來,下載完成以後才能觀看。
為了讓使用者可以即時看到影片,不須等待下載時間,我們需要一種新的針對即時影音傳輸來設計的通訊協議,請看圖1。

圖1. 影音伺服器提供影片呈現方式與觀影者實際看到情況;資料來源:《為台灣加油打氣專欄》
對於觀看電影和戲劇來說,影音檔案可能很長,我們可以將完整的影片切割成一段一段的,每一個片段是10秒鐘的影片。當使用者選擇了某一部影片時,伺服器開始將片段傳送到使用者的裝置上。使用者收到個別的片段時,就可以即時的播放出來,而不需要等到整部影片傳送完成。
由於網路有時很順暢,有時會有塞車的問題。透過這種針對影音串流設計的通訊協議,在網路順暢時,尚未觀看的片段可以比較快地下載,當網路開始塞車時,這些事先下載好的片段就可以做為緩衝,等到網路塞車恢復以後再下載後續的片段。只要做為緩衝的片段數量夠多,使用者就不會在偶爾網路塞車時感覺到影片有中斷的問題。
以上只是一個簡單的介紹,實際上影音串流通訊協議還牽涉到影音編碼、解碼、壓縮和加密等問題,也會自動地分析網路狀況來切換影片的解析度,以及根據使用者需求提供不同語言的字幕等等,這些我們無法一一說明。
內容遞送網路
影音串流系統中另一個重要技術稱為內容遞送網路,是針對影音服務所設計的網路架構,它使得影音服務公司可以提供給數百萬使用者觀看,卻不會有網路塞車問題。
我們先說明傳統網路服務的傳輸架構,稱為集中式架構,如圖2所示。
