繁体   English   中英

媒体源缓冲区数据会去哪里?

[英]Where does media source buffer data go?

我会将视频从实时源添加到源缓冲区,因此可能对源的长度没有限制。

源缓冲区中的数据在浏览器中的位置,是存储在内存中还是磁盘缓存文件中?

我应该担心缓冲区会变成多大吗? 也许我应该定期从缓冲区中删除一些数据?

我不在乎搜索,我只想查看直播。

我运行了这段代码以查看缓冲区发生了什么

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 

不,您不必担心。 当需要将数据附加到缓冲区时,MediaSource将释放空间。 请参阅规格

您可以通过运行chrome开发人员工具验证这一点,然后在“时间轴”标签中记录内存。 不必担心似乎并非所有内存都已返回,但最终会返回。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM