我在寫一個簡單的使用HTML5視頻元素的mpeg-dash流媒體播放器。 我正在創建MediaSource
並附加SourceBuffer
。然後我將短劃分碎片添加到此源緩衝區中,並且一切正常。動態追加並從媒體源緩衝區中移除mpeg-dash段
現在,我想要做的是,我想根據媒體元素的當前時間動態預取這些段。 雖然這樣做有很多疑問,哪些沒有通過MediaSource文件回答。
是否有可能知道一次可以支持多少數據源緩衝區?如果我有一個非常大的視頻並將所有片段添加到源緩衝區中,是否會容納所有片段或導致錯誤,或者會使瀏覽器變慢?
如何計算源緩衝區中的碎片數量?
如何計算
SourceBuffer
中最後一個段的顯示時間或結束時間?我們如何從
SourceBuffer
中只刪除特定的片段集,並用其他分辨率的片段替換它們? (我想這樣做以支持自適應分辨率切換運行時間。)
謝謝。
重點1:這就是用戶代理的意圖,但在目前,似乎他們做得不好。在[其他問題](http://lists.w3.org/Archives/Public/public-html-media/2015Jun/0020.html)中,我從來沒有在Chrome中看到過一個'QuotaExceededError',你甚至可以看到拋出異常在[Safari的Webkit SourceBuffer.cpp](https://github.com/WebKit/webkit/blob/master/Source/WebCore/Modules/mediasource/SourceBuffer.cpp)中被註釋掉了。您可能必須暫時實施您自己的緩衝區管理。 https://www.w3.org/Bugs/Public/show_bug.cgi?id=28557 – 2015-06-15 15:03:49