0

我正在使用 Mediastream Recording 和 GetUserMedia 从用户的网络摄像头录制音频和视频。我找不到临时视频的存储位置。我想知道在录制大量内容时检测是否会出现存储问题,或者是否会以某种方式存储在本地。

谢谢你的建议。

4

1 回答 1

1

就像您的网页将处理的任何数据一样,它本身并没有存储,只有一些实时内存被分配了数据。

从 Web API 中,您无法知道有多少内存可用,尽管由于您必须存储从MediaRecorder.ondataavailable事件中获取的块,您可能知道正在使用多少数据:

const canvas = document.createElement('canvas');
canvas.getContext('2d').fillRect(0,0,1,1);
const stream = canvas.captureStream(30);
const chunks = [];
const recorder = new MediaRecorder(stream);
recorder.ondataavailable = e => {
  chunks.push(e.data);
  updateCounts();
};
recorder.start(10);

function updateCounts(){
  _log.textContent = chunks.map(blob=>blob.size).reduce((sum, size)=>sum+size) + ' bytes';
}
<pre id="_log"></pre>

于 2018-04-02T11:34:08.550 回答