我正在将视频附加到来自实时源的源缓冲区,因此可能对源的长度没有限制。
源缓冲区中的数据在浏览器中的哪个位置存储在内存或磁盘缓存文件中?
我是否应该关注缓冲区的大小?也许我应该定期从缓冲区中删除一些数据?
我不关心寻求,我只想查看直播。
我运行此代码以查看缓冲区的进展情况
var ranges = sourceBuffer.buffered;
console.log("CURRENT TIME: " + video.currentTime);
console.log("BUFFERED RANGES: " + ranges.length);
for (var i = 0, len = ranges.length; i < len; i += 1) {
console.log("RANGE: " + ranges.start(i) + " - " + ranges.end(i));
}
以下是输出示例。
CURRENT TIME: 1604.005
BUFFERED RANGES: 2
RANGE: 1 - 1582
RANGE: 1582 - 1606
答案 0 :(得分:1)
不,你不必担心。如果需要将数据附加到缓冲区,MediaSource将释放空间。请参阅specification。
您可以通过运行chrome developer工具验证这一点,并在时间线选项卡中记录内存。不要担心,如果看起来并非所有内存都被返回,那么最终会回来。