Как добавить продолжительность к метаданным файлового рекордера с помощью MediaRecorder

Я записываю видео с помощью MediaRecorder в Chrome. Мой код похож на пример из документов MediaStream. Я получаю видео без 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.

Фактически, когда я добавляю этот файл в тег видео на веб-сайте с атрибутом controls, я могу использовать элементы управления только тогда, когда файл отображается до конца.

Мне нужно исправить это и сохранить необрезанные файлы с этой продолжительностью. Принимаются как интерфейсные, так и серверные решения.


person Daniel    schedule 28.08.2020    source источник
comment
Исправил благодаря пакету github.com/yusitnikov / fix-webm-duration / blob / master /, но я удивлен, что это делается с помощью низкоуровневого доступа к разделам двоичного файла webm.   -  person Daniel    schedule 29.08.2020
comment
По теме: stackoverflow.com/q/67041475/1066234   -  person Avatar    schedule 13.04.2021