Как я могу получить тег видео HTML5 с несколькими тегами источника со спецификацией кода c, работающей на Firefox? - PullRequest
0 голосов
/ 24 января 2020

Я получаю видео в формате mp4, где код видеопотока c равен H.265 HEV C. Более новые устройства iOS записывают в этом формате, и только Safari и мобильные Safari могут воспроизводить его прямо сейчас, однако в большинстве стран мира нет устройств Apple, даже в пузыре США. Поэтому я перекодирую эти видео в (ныне) широко распространенный H.264, чтобы я мог использовать их для Firefox, Chrome и других браузеров не Apple.

Однако, поскольку у меня уже есть HEV * Версия 1019 *, которая обеспечивает лучшее сжатие / качество, чем H.264, я бы хотел использовать его вместе с H.264, чтобы устройство просмотра могло выбирать, какое устройство выбрать. Это что-то вроде srcset для img.

Хорошая новость заключается в том, что есть способ сделать это: вместо

<video controls src="h264.mp4"></video>

я могу получить

<video controls>
  <source src="h264.mp4" type="video/mp4; codecs=avc1">
  <source src="hevc.mp4" type="video/mp4; codecs=hevc">
</video>

Плохая новость заключается в том, что это работает с Linux Chromium stable и beta, Windows Chromium, Edge. Но Firefox срабатывает как на Linux, так и Windows. Как я могу это исправить? Я должен включить информацию о коде c, потому что оба файла - mp4.

1 Ответ

0 голосов
/ 25 января 2020

Методом проб и ошибок я выяснил, что Firefox принимает код c string, если я не только указываю avc1, но я также полностью задаю профиль и уровень с указанием c 6 di git шестнадцатеричный код, например:

type="video/mp4; codecs=avc1.64001E"

Другой вопрос, как кто-то может найти этот шестнадцатеричный код, подробности смотрите на Как я могу (или это возможно) преобразовать профиль и уровень AV C code c в MIME-код c определение? и https://developer.mozilla.org/en-US/docs/Web/Media/Formats/codecs_parameter#AVC_profiles

...