如何通过 MediaRecorder 为文件记录器的元数据添加持续时间

Dan*_*iel 5 duration truncated mediarecorder web-mediarecorder mediarecorder-api

我正在Chrome 中通过MediaRecorder录制视频。我的代码类似于MediaStream docs 中的示例。我收到的视频没有Duration元数据。

我将它mediainfo与来自以下示例的 webm 文件进行了比较:

https://file-examples-com.github.io/uploads/2020/03/file_example_WEBM_480_900KB.webm

左边是 MediaRecorder 记录的文件的元数据,右边是示例 webm 文件。

在此处输入图片说明

DiffChecker 上的详细比较

https://www.diffchecker.com/87G23lbX

有三个主要区别:

在 MediaRecorder 的文件中:

  1. 有缺乏Duration
  2. 有缺乏Bit rate
  3. 有补充IsTruncated: Yes

实际上,当我将此文件添加到具有控件属性的网站上的视频标签时,只有在文件显示到最后时才能使用控件。

我需要修复它并在此持续时间内保存未截断的文件。前端和后端解决方案都被接受。

Ker*_*mes 2

daniel提出的解决方案就像一个魅力,即使用https://github.com/yusitnikov/fix-webm-duration中的库将持续时间元数据添加到 webm Blob。