Воспроизведение видео HEVC (H.265)

Почему некоторые видео в веб-интерфейсе PlainApp воспроизводятся только со звуком и как включить нативное воспроизведение HEVC (H.265) в браузере.

Почему некоторые видео воспроизводятся только со звуком

Камеры современных смартфонов (Pixel, iPhone, Samsung и др.) снимают видео в HEVC (H.265) — при том же качестве файл получается вдвое меньше, чем в H.264. Однако декодирование HEVC встроено далеко не в каждый браузер.

ПлатформаChrome / EdgeSafariFirefox
macOS
Встроенный (системный VideoToolbox)
Windows
Только с установленным системным расширением «HEVC Video Extensions»
Android
Аппаратный декодер
Новые версии, аппаратный декодер
iOS / iPadOS
Все браузеры используют WebKit

Главное: браузеры на Chromium (Chrome, Edge, Brave и др.) не имеют собственного декодера HEVC — они полагаются на декодер операционной системы. В Windows это опциональное расширение «HEVC Video Extensions», в macOS — всегда присутствующий VideoToolbox. Именно поэтому одна и та же версия Edge играет HEVC на Mac, но показывает чёрный экран (только звук) на Windows-ПК или в ВМ без расширения. Firefox вообще не поддерживает HEVC в веб-видео.

Когда веб-интерфейс PlainApp обнаруживает такую ситуацию, он автоматически преобразует видео в H.264 прямо на телефоне и воспроизводит его — вы увидите подсказку. Исходное качество всегда сохраняется на устройстве; преобразование касается только этой сессии браузера и кешируется на следующий раз.

Как получить нативное воспроизведение (в исходном качестве)

Три способа заставить браузер декодировать HEVC напрямую — видео воспроизводится в полном исходном качестве без конвертации.

Windows — установите расширение HEVC

Установите официальные HEVC Video Extensions (~0,99 $) из Microsoft Store и перезапустите браузер.

Старую бесплатную версию «from Device Manufacturer» Microsoft убрала из магазина, но если производитель вашего ПК предустановил её, всё уже готово.

Виртуальные машины (UTM / Parallels / VMware): расширение работает, но аппаратного декодирования на GPU нет — воспроизведение идёт программно на CPU. При активном использовании лучше скачать файл и открыть его в локальном плеере.

Любая настольная ОС — скачайте и смотрите локально

Нажмите кнопку скачивания у любого видео и откройте файл в плеере с собственным декодером HEVC.

Встроенные плееры macOS и Windows (QuickTime / Movies & TV) тоже воспроизводят HEVC после установки указанного выше расширения.

Linux

Chromium использует системный стек VAAPI/VDPAU: HEVC работает, если драйвер GPU предоставляет декодер HEVC. Иначе используйте сценарий «скачать и смотреть локально» выше либо Firefox 135+ на подходящем железе.

vainfo | grep -i hevc

Технические подробности

Браузеры сообщают реальную способность к декодированию через canPlayType() и MediaCapabilities.decodingInfo(). Веб-интерфейс PlainApp проверяет «video/mp4; codecs=hvc1.1.6.L93.B0», прежде чем запрашивать транскодированный поток, — проверка отражает системный реестр декодеров, поэтому один и тот же браузер ведёт себя по-разному на разных машинах.

Chromium включил декодирование HEVC средствами платформы по умолчанию в Chrome 107 (октябрь 2022). Подробнее — в поддерживаемом сообществом руководстве enable-chromium-hevc-hardware-decoding.

Тег кодека важен: HEVC-дорожки в MP4 с тегом hvc1 принимаются повсеместно, а hev1 отклоняется некоторыми старыми версиями Safari.

Дополнительные материалы о поддержке HEVC в браузерах и на платформах.

Частые вопросы