代码之家  ›  专栏  ›  技术社区  ›  Raúl Pérez López

mediastream录制存储在哪里?

  •  0
  • Raúl Pérez López  · 技术社区  · 7 年前

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

    谢谢你的建议。

    1 回复  |  直到 7 年前
        1
  •  1
  •   Kaiido NickSlash    7 年前

    就像您的网页将处理的任何数据一样,它不是 已存储 就其本身而言,只有一些活动内存被分配了数据。

    从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>