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

喬梅利
Joe Medley

目前,在 Chrome 中使用 Media Source Extensions (MSE) 時,您無法在加密和清除的串流之間切換。其實 MSE 規格實際上並未禁止此限制,主要是因為媒體管道設定為支援加密媒體擴充功能 (EME) 的方式。

MSE 要求媒體串流一開始必須提供初始化片段,其中包括轉碼器初始化資料和加密資訊等資訊。初始化區隔通常位於媒體檔案的開頭。因此,當媒體透過下載作業或 MSE 附加至媒體元素時,就「只是正常運作」。

而嘗試在直播中變更媒體特性時,就會發生問題。如要變更媒體特性,必須傳遞新的初始化區隔。以大部分的特性而言,這種做法可以有效。繼續播放。唯一的例外是加密設定。第一個初始化區隔的加密設定只會信號是否「可」加密,也就是可以在串流中插入明確的媒體片段。但可歸納出,即使含有單一加密片段的未加密串流,也必須在初始化片段中加入加密資訊。因此,廣告插入功能的因應方法不適用於其他平台。

從 Chrome 58 版開始,所有的調整都不盡相同。您現在可以在同一個串流中 切換加密和未加密這樣會比對 Firefox 和 Edge 中現有的行為,藉此提升相容性。

有幾點需要注意。首先,如果您預期媒體串流中的任何加密區段,則必須預先設定 MediaKeys。和先前一樣,您無法在相同來源中混用 HTTP 和 HTTPS。