H.264 vs H.265 vs AV1: Эволюция видеокодеков и руководство по выбору

1. Эволюция видеокодеков

История кодирования видео уходит корнями в конец 1980-х годов. От H.261, разработанного для видеоконференций по линиям ISDN, до AV1, созданного для потоковой передачи сверхвысокой чёткости, стандарты кодеков развивались почти три десятилетия. Каждое поколение преследует одну и ту же фундаментальную цель: воспроизвести изображение, используя меньше бит, сохраняя при этом визуальное качество.

Сжатие видео необходимо, потому что сырьевое, несжатое видео огромно. Десятисекундный 1080p-клип в сыром виде может потреблять несколько гигабайт — неприемлемо для хранения или передачи. Кодеки используют пространственную и временную избыточность между кадрами, чтобы уменьшить эти данные до управляемого размера. Пространственная избыточность означает корреляцию между соседними пикселями в пределах одного кадра; временная избыточность — сходство между последовательными кадрами. Практически каждый современный стандарт кодека строится вокруг этих двух видов избыточности.

Конкретно энкодер классифицирует изображения на три типа кадров: I-кадры (внутренне кодированные кадры) записывают полное изображение и могут декодироваться независимо, обеспечивая наименьшее сжатие, но наибольшую устойчивость к ошибкам; P-кадры (прогнозные кадры) хранят только отличия от предыдущего кадра; B-кадры (двунаправленные кадры) ссылаются как на предыдущие, так и на последующие кадры, достигая наивысшего сжатия. Группа кадров между двумя I-кадрами образует GOP (Group of Pictures) — более длинный GOP даёт лучшее сжатие, но более слабый произвольный доступ и восстановление после ошибок. Эта структура межкадрового предсказания действует с H.261; последующие стандарты в основном совершенствуют разбиение на блоки, точность предсказания и энтропийное кодирование.

H.264 vs H.265 vs VP9 vs AV1 video codec comparison flowchart

H.261 заложил основу блочного кодирования; MPEG-1 расширил её для хранения на оптических дисках со скоростью около 1,5 Мбит/с, что было достаточно для видео качества VCD; H.263 был оптимизирован для связи на низких битрейтах, сохраняя различимое изображение ниже 64 кбит/с; H.264 открыл эру потоковой передачи высокой чёткости; H.265 был нацелен на 4K Ultra HD; а AV1 представляет направление следующего поколения без роялти. Каждое поколение пытается повысить эффективность сжатия по сравнению с предшественником, удерживая сложность кодирования в пределах возможностей реального оборудования.

2. Технический разбор основных кодеков

H.264 (AVC)

Выпущенный в 2003 году, H.264 (Advanced Video Coding) использует разбиение на макроблоки с базовым блоком 16×16 и поддерживает подблоки от 4×4 до 16×16. Оценка движения достигает точности в четверть пикселя, а стандарт вводит несколько опорных кадров, внутрицикловое деблокирование, контекстно-адаптивное кодирование переменной длины (CAVLC) и контекстно-адаптивное бинарное арифметическое кодирование (CABAC).

По сравнению со своим предшественником H.263, H.264 примерно вдвое повышает эффективность сжатия — вдвое снижая битрейт при эквивалентном качестве. CABAC экономит на 5–15 % больше битрейта, чем CAVLC, но требует больше вычислений, поэтому бюджетные устройства часто выбирают CAVLC. H.264 также поддерживает несколько срезов и Flexible Macroblock Ordering (FMO), облегчая параллельную обработку и устойчивость к ошибкам.

Сила H.264 — в зрелой экосистеме: практически каждое современное устройство, браузер и плеер поддерживают его нативно. Его слабость — недостаточная эффективность сжатия для 4K и выше, что приводит к более высоким битрейтам. Благодаря повсеместному аппаратному декодированию H.264 также превосходен по энергоэффективности на мобильных устройствах, что делает его самым совместимым кодеком из доступных сегодня.

H.265 (HEVC)

Выпущенный в 2013 году, H.265 (High Efficiency Video Coding) вводит Coding Tree Unit (CTU), поддерживая блоки до 64×64 с адаптивным разбиением до 8×8 в зависимости от сложности изображения. При эквивалентном субъективном качестве H.265 снижает пропускную способность примерно на 40–50 % по сравнению с H.264.

Ключевые улучшения включают большие размеры CTU, повышающие эффективность кодирования, особенно для крупных плоских областей; 35 направлений внутрикадрового предсказания (против 9 в H.264) для более тонкого представления текстур; расширенное слияние векторов движения (Merge) и Advanced Motion Vector Prediction (AMVP), снижающие накладные расходы на кодирование информации о движении; Sample Adaptive Offset (SAO), дополнительно подавляющий артефакты звона после внутрицикловой фильтрации; а также инструменты параллельной обработки, такие как Tiles и WPP, облегчающие многоядерное кодирование.

Эти возможности делают H.265 хорошо подходящим для распространения контента 4K и 8K, но они же значительно повышают вычислительную сложность — кодирование H.265 может занимать в несколько раз больше времени, чем H.264. Большие размеры блоков на низких разрешениях могут фактически увеличивать накладные расходы, поэтому преимущества H.265 проявляются в полной мере лишь на более высоких разрешениях.

VP9

Разработанный Google и выпущенный в 2013 году как часть проекта WebM, VP9 использует суперблоки 64×64 и поддерживает 32 режима внутрикадрового предсказания, а также расширенное межкадровое предсказание и адаптивное квантование. Его эффективность сжатия сопоставима с H.265, и он полностью свободен от роялти.

VP9 заимствует идеи из H.265, но упрощает синтаксис и набор инструментов для снижения сложности реализации. Он поддерживает до трёх опорных кадров и позволяет смешивать ссылки разных разрешений для сценариев с переменным разрешением. Главное преимущество VP9 — открытость: любой разработчик может реализовать его без патентных опасений. Однако его экосистема аппаратного декодирования относительно ограничена, поэтому он наиболее активен в вебе, особенно в браузерах на базе Chromium. VP9 был широко принят крупными видеоплатформами как эффективная альтернатива H.264 и надёжно работает в веб-дистрибуции видео.

AV1

Выпущенный в 2018 году альянсом Alliance for Open Media (AOMedia), AV1 расширяет технологии предыдущего поколения суперблоками 128×128 и более совершенными инструментами предсказания и преобразования, включая внутрикадровое копирование блоков, аффинную компенсацию движения, режим палитры и точность движения в 1/8 пикселя. По сравнению с H.265, AV1 экономит дополнительно 20–30 % битрейта при эквивалентном качестве — примерно 60 % экономии против H.264.

AOMedia была совместно основана несколькими участниками отрасли именно для обхода фрагментированного патентного лицензирования H.265. AV1 базируется на VP9, включает отдельные передовые инструменты из H.265 и добавляет множество экспериментальных техник, что даёт ему значительно больший набор инструментов, чем у H.265. Он задуман полностью свободным от роялти и постепенно принимается крупными стриминговыми платформами. Сложность кодирования крайне высока, и кодирование в реальном времени пока опирается на аппаратное ускорение. Новейшие GPU и мобильные чипы начинают интегрировать аппаратное декодирование AV1, а аппаратно-ускоренное кодирование прогрессирует. Широкое развёртывание как в видео по запросу, так и в прямом эфире ожидается в ближайшие несколько лет.

Video codec compression efficiency and encoding speed comparison: performance tradeoffs of four codecs

3. Сравнение патентного лицензирования

Лицензирование — решающий фактор во внедрении кодеков. Приведённая ниже таблица сравнивает ситуацию с лицензированием четырёх основных форматов:

КодекЛицензиарСтоимость роялтиСложность
H.264Единый пул MPEG-LAПо уровням, с годовым потолкомНизкая
H.265Несколько пулов (MPEG-LA, HEVC Advance и др.)Высокая, без единого потолкаОчень высокая
VP9Открытый исходный код (лицензия BSD)БесплатноНет
AV1Alliance for Open MediaБесплатноНет

Лицензирование — основная причина, по которой внедрение H.265 отставало. H.264 управляется MPEG-LA с прозрачной структурой сборов и потолком, поэтому провайдеры контента могут развёртывать его с предсказуемыми затратами; H.265 же охватывает несколько конкурирующих патентных пулов с держателями патентов, распределёнными по разным организациям, неопределёнными сборами и без единого потолка. По публичным отчётам, некоторые провайдеры контента откладывали развёртывание H.265, поскольку не могли оценить расходы на лицензирование. Эта неопределённость подтолкнула некоторых производителей браузеров и сообщества открытого исходного кода к VP9 и AV1 и напрямую стала причиной создания AOMedia, породив экосистему кодеков с открытым исходным кодом без роялти.

4. Рекомендации по сценариям

Разные сценарии использования предъявляют очень разные требования к кодекам. Приведённая ниже таблица обобщает рекомендации для типичных сценариев:

Сценарий использованияРекомендуемый кодекПричина
Вложение к письмуH.264Наилучшая совместимость, дополнительный декодер не требуется
Веб-встраиваниеVP9 / H.264Нативная поддержка браузером; VP9 экономит полосу
Мобильное воспроизведениеH.264 / H.265Повсеместное аппаратное декодирование, бережёт батарею
Потоковая доставкаAV1 / H.265Высокое сжатие снижает затраты на полосу
Долгосрочное архивированиеH.265 / AV1Экономит хранилище, сохраняя качество
Прямой эфирH.264Самое быстрое кодирование, контролируемая задержка

Сначала всегда проверяйте возможности декодирования целевой среды воспроизведения, затем сопоставляйте эффективность сжатия со стоимостью кодирования. Для контента, который должен охватить максимально широкую аудиторию, H.264 остаётся запасным вариантом; для чувствительной к полосе доставки приоритет следует отдавать более новым кодекам. На практике многие платформы применяют стратегию множественных битрейтов и кодеков: предоставляют H.264 для покрытия всех клиентов, одновременно поставляя версии AV1 или H.265 для устройств, поддерживающих более новые кодеки, балансируя совместимость и эффективность.

5. Сравнение сжатия с FFmpeg

Используя одно и то же исходное 1080p-видео, сожмите его каждым кодеком. Более низкие значения CRF (Constant Rate Factor) дают более высокое качество; похожие значения обычно указывают на сопоставимое качество.


# H.264 (CRF 23, пресет medium)
ffmpeg -i input.mp4 -c:v libx264 -crf 23 -preset medium -an output_h264.mp4

# H.265 (CRF 28, пресет medium)
ffmpeg -i input.mp4 -c:v libx265 -crf 28 -preset medium -x265-params log-level=error -an output_h265.mp4

# VP9 (CRF 32, неограниченный битрейт)
ffmpeg -i input.mp4 -c:v libvpx-vp9 -crf 32 -b:v 0 -an output_vp9.webm

# AV1 (CRF 30, неограниченный битрейт)
ffmpeg -i input.mp4 -c:v libaom-av1 -crf 30 -b:v 0 -cpu-used 4 -an output_av1.mkv

Примечания к параметрам: -crf управляет качеством, -preset/-cpu-used балансируют скорость и степень сжатия, -b:v 0 позволяет энкодеру распределять битрейт на основе CRF, а -an отбрасывает звук, чтобы сосредоточить сравнение на сжатии видео. Учтите, что шкалы CRF неоднородны между энкодерами: CRF 23 у H.264 и CRF 28 у H.265 примерно сопоставимы по субъективному качеству, но не совпадают точно — строгие сравнения должны опираться на объективные метрики, такие как VMAF или SSIM.

На практике при эквивалентном субъективном качестве H.265, VP9 и AV1 создают всё меньшие файлы, но время кодирования соответственно возрастает. Кодирование AV1 может занимать в десятки раз больше времени, чем H.264, и требует аппаратного ускорения или параллельной оптимизации для практического применения. В производственных средах пакетного перекодирования скорость кодирования зачастую так же важна, как и степень сжатия, поэтому многие платформы используют AV1 только для офлайн-перекодирования, сохраняя H.264 для сценариев реального времени.

6. Часто задаваемые вопросы

Q1: H.265 технически превосходит — почему его внедрение шло медленнее, чем H.264?

В первую очередь из-за лицензирования. H.265 охватывает несколько патентных пулов со сложными структурами сборов без потолка, что отпугивает производителей браузеров и контентные платформы. Некоторые производители браузеров прямо отказались нативно поддерживать H.265 из-за лицензионных опасений. Ограниченная ранняя поддержка аппаратного декодирования также замедлила мобильное внедрение. Лишь в последние годы основные чипы, как правило, интегрируют аппаратное декодирование H.265, но веб-поддержка остаётся неравномерной. Напротив, лицензирование H.264 централизованно управляется MPEG-LA с предсказуемыми сборами, что делает его самым широко развёрнутым стандартом кодека на сегодняшний день.

Q2: Когда AV1 полностью заменит H.265?

Декодирование AV1 поддерживается оборудованием нового поколения и основными браузерами, но кодирование в реальном времени остаётся вычислительно затратным. Доставка по запросу начала масштабироваться, но прямой эфир требует низкой задержки кодирования и всё ещё опирается в основном на H.264. Широкое использование в прямом эфире ожидается лишь после того, как созреют аппаратные энкодеры и улучшится оптимизация скорости кодирования. В краткосрочной перспективе более вероятен сценарий сосуществования AV1 и H.265 с адаптивным переключением в зависимости от возможностей декодирования клиента. Скорость кодирования AV1 также неуклонно растёт — энкодеры с открытым исходным кодом, такие как SVT-AV1, существенно сократили время кодирования, и ожидаются дальнейшие улучшения.

Q3: Почему VP9 в основном ограничен вебом?

Покрытие аппаратного декодирования VP9 относительно ограничено и в основном опирается на программное декодирование браузеров на базе Chromium. В десктопных плеерах и нативных мобильных приложениях H.264 и H.265 обладают лучшей аппаратной поддержкой и более низким энергопотреблением. VP9 так и не создал кроссплатформенную экосистему аппаратного декодирования, как H.264, поэтому остаётся преимущественно веб-видеоформатом. Тем не менее VP9 проложил путь для AV1 — многие его технические идеи продолжаются и улучшаются в AV1. Некоторые платформы одновременно предоставляют версии VP9 и AV1, постепенно переходя от VP9 к AV1.

7. Заключение

Развитие видеокодеков — это постоянный баланс между эффективностью сжатия и стоимостью реализации. H.264 с его исчерпывающей совместимостью остаётся самым безопасным выбором сегодня; H.265 превосходен в чувствительных к полосе UHD-сценариях, хотя лицензионные ограничения лимитируют внедрение; VP9 и AV1 представляют направление без роялти, причём AV1 становится ядром потоковой передачи нового поколения.

Выбирая кодек, учитывайте целевую среду воспроизведения, затраты на полосу, ёмкость хранилища и вычислительную нагрузку, а не гонитесь за новейшим стандартом. Найти правильный баланс между совместимостью, эффективностью и стоимостью — это инженерный оптимум. Понимать границы применимости каждого кодека ценнее, чем помнить, какой из них новейший. По мере созревания аппаратной поддержки AV1 и дальнейшей оптимизации инструментов кодирования разрыв в стоимости между поколениями будет сужаться, но фундаментальные компромиссы между совместимостью, эффективностью и лицензированием сохранятся. Оставаться в курсе этих динамики — лучший способ принимать обоснованные решения по кодекам с течением времени.

Связанные статьи:

Нужно сжать файлы? Попробуйте SmartSlim

На базе собственного движка сжатия на Rust поддерживается 10 основных категорий и 40+ форматов, включая PDF/изображения/видео/Office/OFD. Локальная обработка — данные не покидают вашу инфраструктуру.