CDN

現今的教學環境,基於影音串流服務已成主流,不論是國內的 ewant中華開放教育平台或國外的 UdemyCoursera,課程都以 video 為主要素材內容;而在網站跨國服務的議題中,我們就要提到 CDN。CDN(Content  Delivery Network)

而在串流的服務,基於CDN來提供串流服務,也已漸成主流,不論是直播或是「點播(即隨選視訊-Video On Demand)。

直播指的是和內容來源同步播放,僅維持一定的時間差,像電視頻道或是實況轉播的節目,都是採用直播的形式。在直播的情況下,內容無法快轉或倒轉,只能隨著時間播放。

而點播就不同了,點播的內容,都是早就存在好的檔案,並不像直播內容,都是由直播內容來源即時的產生。也因此,二者運用的技術會有所差異。

當串流經過如上所描述的一連串程序,產生一個個 TS 檔案之後,即可將它們送至 CDN 之上,接著再利用 CDN 的機制,將不同Moodle端或客戶端的來源,分配至不同的快取伺服器。如此一來,客戶端可以更就近、快速取得檔案,而流量也都不需要集中在特定的伺服器或機房,而可以分散掉,而分散化就是得到規模可擴充性的主要手段之一。


此外,同一個內容,還可以被編碼成不同的位元率(bitrate),也就是會提供不同的品質。因為透過網路連接上串流服務的客戶端,可能會有各種不同可能的連線頻寬,針對不同連線頻寬的客戶端,就可以藉此提供不同的品質,使得它們都可以流暢的觀看。


而使用 Yakitory 的好處之一,也包括了播放過程中,可因應客戶端連線頻寬變化而執行品質的調整。


當播放時,發現客戶端的頻寬持續不足的情況,便可以將它導向另一組位元率較低的 TS 檔案,以提高它播放的流暢度,而這個轉換的動作,在 Yakitory 的設計下,是可以動態的進行。所以,你可以看得出來,這樣的設計,有助於行動裝置在多媒體串流的播放,因為行動裝置的連線品質通常變化動態,會比個人電腦來得還大。


所以,經過這樣的說明,就不難了解串流和CDN之間的關聯性。倘若只有串流伺服器,最終還是必須面臨傳統集中式架構的問題,即頻寬使用集中無法分散的缺點。但正如前面所述及的,選擇了HTTP,等於選擇了為HTTP所開發出來的各種擴展規模的技術,包括CDN在內。這使得立足於CDN的Yakitory,有了優秀的規模可擴充性。


現在,許多學習平臺都提供CDN的服務,例如Moodle的影音模組,這更便於串流服務的提供者,因為只需將串流內容直接送往CDN,即可處理掉擴展服務規模的許多技術議題。在這裡,雲端的平臺技術,對即時串流服務,起了很大的作用。


串流應用 CDN 的成本不一定低?


數位學習提供的影音服務即是「點播」,「點播」的服務者也就是觀看的學生或學員,使用靜態檔案部署於CDN的方式,來提供點播的檔案,例如使用 .MP4 做為容器格式,內含H.264 及AAC格式的視訊及音訊。


這也行的通,但是MP4 的容器格式對播放器來說,需要多花點時間,才能取得相關的一些索引資訊,因此,在載入時間上就不像HLS那樣的短。在播放時,需要更多的時間才能開始收看。此外,這種方式在CDN上,會比HLS成本更高。但HLS也並非毫無缺點,舉例來說,MPEG-TS格式的額外負擔比較重,因此,會提高整體傳輸時所需的位元率。


總而言之,HLS的設計搭上CDN基礎設施的愈趨完備,使得它成為目前多媒體串流服務的主流選項。以現在服務的品質及規模來看,這個組合會流行好一陣子。