如何编写一个包含视频和音频的blob?

How to write a blob which contains chanks of video and audio?

提问人:Sayeed Mahdi Mousavi 提问时间:11/8/2023 更新时间:11/8/2023 访问量:17

问:

前端从媒体记录器方法向我发送了大量数据,因此当音频和视频发送到插座时,我可以正确录制,但是当用户停止相机或音频时,第一次流式传输的部分只有一种类型的数据,它记录到文件中,但已更改的其余部分不在视频或音频中。

数据可以是音频或视频,根据媒体记录器记录的

    this.mediaRecorder.ondataavailable = async function(e) {
      socket.emit('recordVideo', e.data);

在后端,我使用数组来存储流

  async sendVideoParts(parts, name) {
    console.log("stop record!");
  
    const blob = new Blob(parts, { type: 'video/mp4' })
    const buffer = Buffer.from( await blob.arrayBuffer() );
    fs.writeFile(`${name}video.mp4`, buffer, () => console.log('video saved!') );
  
    this.challengerVideo = []
    this.challengeeVideo = []
    this.challengee=""
    this.challenger=""

  }

在上面的代码中,当第一次流包含音频和视频或其中之一时,它会生成一个视频,但音频或视频在数组中推送的时间不会显示在最终文件中。 例如:从 0 到 8 秒,当音频和视频存在时,文件也从第二个 8 秒开始,音频从前面停止,它在最终文件中不存在。

视频流 blob web-mediarecorder

评论


答: 暂无答案