HTTP 即時串流 (HLS) 是一項廣泛使用的影片串流通訊協定,可在幾乎任何伺服器上執行,且大部份裝置皆支援。HLS 透過提高或降低串流品質,促進客戶端裝置無縫適應網路狀況。
閱讀本文後,您將能夠:
複製文章連結
HTTP 即時串流 (HLS) 是最廣泛使用的影片串流通訊協定之一。儘管它名為 HTTP 「即時」串流,它同時用於隨選和即時串流。HLS 將影片檔案細分為較小且可下載的 HTTP 檔案,並用 HTTP 通訊協定傳遞檔案。用戶端裝置接著載入這些 HTTP 檔案,並以影片的格式播放。
HLS 的一個優點是:所有網路連線裝置都支援 HTTP,因此比需要專用伺服器的串流通訊協定更容易實行。另一好處是:HLS 串流可視網路狀況提高或降低影片品質,卻不干擾播放進度。因此,使用者觀看影片時,影片品質可能會變好或變壞。這個功能稱為「自適應位元速率影片傳遞」或「自適應位元速率串流」。若無此功能,緩慢的網速可能會導致影片停播。
HLS 是由 Apple 開發,用於 Apple 產品,但目前已用於廣泛系列的裝置。
串流透過網際網路向使用者傳遞視覺和音訊媒體。它的運作方法是:持續傳送少量的媒體檔案,而不是立即傳送所有檔案。原始的媒體檔案將儲存於遠端,或若為即時串流,會利用遠端攝像機或麥克風即時建立檔案。如此一來,使用者無需將影片或音訊檔案下載至裝置,即可播放檔案。
HTTP 是應用程式層的通訊協定,用以在多個連線網路的裝置間傳輸資訊。一般使用者可存取的每個網站和應用程式,都是在 HTTP 上執行。具體上 HTTP 是根據要求和回應傳輸資料,且幾乎所有 HTTP 訊息都是特定要求,或對要求作出的回應。
HTTP 上的串流不適用於標準的要求-回應模式。用戶端和伺服器之間的連線在串流期間維持開放,且伺服器將推送影片資料至用戶端,因此用戶端無需要求每個影片資料的區段。
伺服器: HLS 串流來自於儲存媒體檔案的伺服器 (隨選串流),或串流建立之處 (即時串流)。由於 HLS 是基於 HTTP,任何正常的網路伺服器都可啟動串流。
伺服器主要執行兩個流程:
發佈:一旦用戶端裝置要求串流,已編碼的影片區段將透過網際網路推送至其裝置。具體而言,內容傳遞網路 (CDN) 將協助發佈串流至各式各樣的地理區域。CDN 也將快取串流,以更快速度推送檔案至用戶端。
用戶端裝置:用戶端是接收串流和播放影片的裝置,例如:使用者的智慧型手機或筆記型電腦。用戶端使用索引檔案作為按次序組合影片的參考資料,且按需要從較高品質切換為較低品質畫面 (反之亦然)。
與部份其他串流通訊協定相比, HLS 其中一個好處是:自適應比特率串流。這指的是可按網路狀況的改變,在串流之際調整影片品質。如此一來,即使網路狀況變差,也能持續播放影片;相對來說,也可在網路可支援時,提供最佳影片品質。
若使用者影片播放器偵測到網速變慢,自適應比特率串流將調低串流品質,不至於停止播放影片。一旦可用較高網路頻寬,自適應比特率串流立即改善串流品質。
由於 HLS 在分段流程的不同品質等級時建立數個複製的分段串流,因此可執行自適應位元速率串流。使用者影片播放器接著可於播放時,從某個此類串流切換至另一個串流。
TCP 和 UDP 是傳輸通訊協定,意思是它們負責透過網際網路傳遞內容。TCP 傳送資料的穩定度比 UDP 高,但後者的速度快很多,即使在傳輸時可能會遺失部份資料。
由於 UDP 速度較快,一些串流通訊協定用 UDP 來取代 TCP。但 HLS 使用的是 TCP,原因如下:
還有一些類似 HLS 的通訊協定,例如:也在 HTTP 上執行,以及也提供自適應位元速率串流的 MPEG-DASH 和 HDS。在 RTMP 或 HDS 上執行的 Adobe Flash 一度是視訊串流的主流技術;不過,許多瀏覽器已不再支援 Flash。RTMP 仍在使用當中,但已在走下坡路。
Cloudflare 支援 HLS 進行隨選和即時串流。Cloudflare Stream 利用快速、安全及穩定的 Cloudflare 網路,整合影片儲存、編碼和可自訂的播放器,其架設已遍佈 120 個國家的 330 個城市。此舉促進全球使用者取得快速、高品質的 HLS 串流。深入瞭解 Cloudflare Stream。瞭解有關 Cloudflare for Teams 的更多資訊。