私は現在、JavaScript とMediaSource APIを使用して DASH プレーヤーに取り組んでいます
ストリーミングは正常に機能していますが、表現の変更に行き詰まっています。おそらく、再生中に表現を変更する最も強引な方法は、HTML ドキュメントの<video>要素を置き換えることです。
しかし、Media Source API を使用してアダプテーション (表現の変更) を実装する簡単な方法があるかどうか疑問に思っていました。1 つの Media Source オブジェクトで多くのソース バッファを処理できることを読みましたが、2 つ目のビデオ バッファを追加すると例外が発生します。
Chrome 43.0.2357.65m を使用しています
var mediaSource = MediaSource();
var url = URL.createObjectURL(mediaSource);
videoElement.src = url;
mediaSource.addEventListener('sourceopen', function () {
var buffer1 = mediaSource.addSourceBuffer('video/mp4; codecs="avc1.4d4015"');
var buffer2 = mediaSource.addSourceBuffer('video/mp4; codecs="avc1.4d4015"');
}
例外:
Uncaught QuotaExceededError: Failed to execute 'addSourceBuffer' on 'MediaSource': This MediaSource has reached the limit of SourceBuffer objects it can handle. No additional SourceBuffer objects may be added.