自適應位元率串流(adaptive bitrate streaming)
想像你看一段影片,畫質會在連線強時悄悄升級、在連線轉弱時降級——於是它持續流暢播放,而不是凍結去緩衝。那種溫和、自動的調整就是自適應位元率串流。其核心想法是:同時把同一段影片以數個品質等級(位元率)編碼,把每個切成短片段,讓播放器逐片段地挑出當前頻寬撐得住的最高品質。
用平實的步驟說明它如何運作。伺服器把影片準備成多個版本——比如 240p、480p、720p、1080p——並把每個切成數秒的小片段。它還發布一份清單(manifest),一個列出每個版本及其片段的小索引檔。播放器下載清單,再透過普通的 HTTP 一次取一個片段。每取完一段後,它估算那次下載有多快、自己的緩衝區有多滿,據此挑下一段的位元率:下載快、緩衝健康,就升級;下載慢、緩衝在排空,就降級。因為每個版本都在相同邊界切割,播放器能在片段之間切換品質而不中斷播放。有兩種標準格式封裝這套做法:DASH 與 HLS。
為什麼重要:自適應位元率正是現代影片能在手機、筆電、高速光纖與不穩定的行動連結上都「直接能用」的原因——另一種做法(單一固定品質)若不是在弱連線上卡住,就是浪費頻寬又徒然模糊。跑在普通 HTTP 之上是個刻意而聰明的選擇:它讓影片能搭上和網頁相同的快取、CDN 與防火牆,於是片段像任何其他檔案一樣被快取在邊緣。誠實的取捨:播放器的頻寬估算可能落後現實,所以在頻寬驟降時你可能短暫看到錯誤的品質或一次卡頓;而每一刻都追求最高位元率,可能造成令人分心的品質上下跳動,好的演算法會努力把它平滑掉。
你在 Wi-Fi 上以 1080p 開始看一部電影。你走到戶外、訊號轉弱的行動網路;播放器察覺片段到得慢,便降到 480p 維持幾個片段,播放從未暫停。回到 Wi-Fi,它又爬回 1080p。
品質逐片段地跟隨你的頻寬,以避免卡頓。
自適應位元率用「畫質」換「播放不中斷」;它不會創造頻寬。在真正慢的連結上,它只是穩定在較低品質——多加版本無法勝過該路徑的實際容量。