(メディアの)ストリームを横断します

Joe Medley
Joe Medley

現在、Chrome で Media Source Extensions(MSE)を使用する場合、暗号化されたストリームとクリアなストリームを切り替えることはできません。これは、実際には MSE 仕様で禁止されていませんが、この制限は主に Encrypted Media Extensions(EME)をサポートするようにメディア パイプラインを設定する方法にあります。

MSE では、メディア ストリームが初期化セグメントから開始する必要があります。初期化セグメントには、コーデック初期化データや暗号化情報などの情報が含まれます。通常、初期化セグメントはメディア ファイルの先頭にあります。 したがって、ダウンロードまたは MSE を介してメディア要素にメディアがアタッチされた場合、メディアは正常に機能します。

この問題は、配信中にメディア特性を変更しようとすると発生します。メディア特性を変更するには、新しい初期化セグメントを渡す必要があります。これはほとんどの特性で機能します。再生は続行されます。暗号化の設定は例外です。最初の初期化セグメントの暗号化設定は、ストリーム セグメントが暗号化可能かどうかのみを示します。つまり、クリアなメディア セグメントをストリームに挿入できるということです。同様に、暗号化されたセグメントが 1 つでも、暗号化されていないストリームでは、初期化セグメントに暗号化情報を含める必要があります。このため、広告挿入には、他のプラットフォームには適用されない回避策が必要です。

Chrome 58 以降では、これらがすべて変更されます。同じストリーム内で暗号化と暗号化なしを 切り替えられるようになりましたこれにより、Firefox と Edge の既存の動作がマッチングされるため、互換性が向上します。

これにはいくつか注意点がありますまず、メディア ストリームに暗号化されたセグメントがあると予想される場合は、事前に MediaKeys を設定する必要があります。以前と同様に、同じソースで HTTP と HTTPS を混在させることはできません。