媒体流录制存储在哪里?

时间:2018-04-02 09:25:01

标签: javascript webcam getusermedia mediastream

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

谢谢你的建议。

1 个答案:

答案 0 :(得分: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>