MediaRecorder API 記錄是否有大小限制?



我正在使用MediaRecorder API录制视频,视频应该运行几个小时,最终大小约为400MB,我想知道浏览器可以使用API存储多少数据是否有预定义的限制。

我在MDN中找不到它。

我一直在寻找w3c标准和chromium的源代码。

事实证明,限制记录没有标准,每个浏览器都有自己的实现。 Chrome的(铬(限制似乎只是其Blob大小的限制,可以在这里找到。

刚刚遇到类似的问题,这是我的解决方案。

首先,您设置一个计时器,然后经常调用MediaRecorder.requestData((,最后检查您的数据大小。

let recordedBlobs = [];
let recordedBlobSize = 0;
let mediaRecorder = new MediaRecorder(stream, options);
mediaRecorder.onstop = handleStop;
mediaRecorder.ondataavailable = handleDataAvailable;
mediaRecorder.start();
setInterval(onTimerUpdate, 10000)
function onTimerUpdate() {
mediaRecorder.requestData()
}
function handleDataAvailable(event) {
if (event.data && event.data.size > 0) {
recordedBlobs.push(event.data);
recordedBlobSize += event.data.size
// check your size here
}
}

最新更新