簡體   English   中英

MediaRecorder API 記錄有大小限制嗎?

[英]Is there a size limit on MediaRecorder API record?

我正在使用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
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM