We' 一路跨越 (媒體) 串流,Ray

Joe Medley
Joe Medley

目前在 Chrome 中使用媒體來源擴充功能 (MSE) 時,無法在加密和未加密串流之間切換。MSE 規格其實並未禁止這項做法。這項限制主要與媒體管道如何設定以支援加密媒體擴充功能 (EME) 有關。

MSE 要求媒體串流必須從初始化區段開始,其中包含編碼器初始化資料和加密資訊等資訊。通常,初始化區段會位於媒體檔案的開頭。因此,當媒體透過下載或 MSE 附加至媒體元素時,就會「直接運作」。

在串流中途嘗試變更媒體特性時,就會發生這個問題。如要變更媒體特性,您必須傳遞新的初始化區段。對於大多數特徵而言,這麼做是可行的。播放作業會繼續進行。例外狀況是加密設定。第一個初始化區段的加密設定只會指出串流區段是否「可能」加密,也就是說,串流中可以插入未加密的媒體區段。因此,即使未加密串流中只有一個加密區段,也必須在初始化區段中加入加密資訊。因此,廣告插入作業需要採用其他平台不適用的解決方法。

從 Chrome 58 開始,所有這些都會有所變更。您現在可以在同一個串流中切換加密和未加密的內容。這項功能會比對 Firefox 和 Edge 中現有的行為,藉此提升相容性。

但這項做法有幾項限制。首先,如果您預期媒體串流中會有任何加密片段,必須預先設定 MediaKeys。如先前所述,您無法在同一個來源中混用 HTTP 和 HTTPS。