Как указать кодек HEVC в атрибуте типа источника видео HTML5?

Я хочу загрузить и воспроизвести видео в формате HEVC меньшего размера в веб-браузерах с его поддержкой.

Я использую этот код в Safari 11 (macOS 10.13), который поддерживает формат HEVC.

<video muted playsinline autoplay>
    <source src="clip.webm" type="video/webm; codecs=vp9">
    <source src="clip-hevc.mp4" type="video/mp4; codecs=hevc">
    <source src="clip.mp4" type="video/mp4; codecs=avc1">
    <p>Video not supported</p>
</video>

В Web Inspector> Network Panel я вижу, что Safari загружает и clip.mp4, и clip-hevc.mp4. Если я проверю видеоэлемент, я вижу, что играет clip.mp4, а не clip-hevc.mp4. Я вижу то же самое на iOS 11.

Когда я вызываю HTMLMediaElement.canPlayType() для указанных мной типов, я получать

  • maybe on video/mp4; codecs=hevc
  • probably on video/mp4; codecs=avc1
  • Ничего о вариантах кодека HEVC, которые я видел (например, hvc1, hev1)

Я заметил еще кое-что: когда я удаляю параметр clip.mp4, clip-hevc.mp4 загружается и играет нормально!

Как я могу убедиться, что в браузере загружается и воспроизводится только лучший поддерживаемый вариант MP4?


person nfrasser    schedule 18.11.2017    source источник
comment
Вы пробовали поставить клип HVC на первое место в списке источников?   -  person Offbeatmammal    schedule 19.11.2017
comment
@Offbeatmammal да, это не сработало   -  person nfrasser    schedule 21.11.2017
comment
У меня такие же проблемы. Похоже, Apple это неправильно продумала. Интересно, лучше ли для этого подойдет часть для веб-мастеров?   -  person Charlie Clark    schedule 23.02.2018
comment
@CharlieClark хороший звонок, репост здесь   -  person nfrasser    schedule 23.02.2018


Ответы (1)


К вашему сведению, обнаруженный в iOS14 type="video/mp4; codecs=hevc" больше не работает. type="video/mp4" и type="video/mp4; codecs=hvc1" действительно  введите описание изображения здесь

person Robert Daly    schedule 18.09.2020