1. Эволюция видеокодеков
История кодирования видео уходит корнями в конец 1980-х годов. От H.261, разработанного для видеоконференций по линиям ISDN, до AV1, созданного для потоковой передачи сверхвысокой чёткости, стандарты кодеков развивались почти три десятилетия. Каждое поколение преследует одну и ту же фундаментальную цель: воспроизвести изображение, используя меньше бит, сохраняя при этом визуальное качество.
Сжатие видео необходимо, потому что сырьевое, несжатое видео огромно. Десятисекундный 1080p-клип в сыром виде может потреблять несколько гигабайт — неприемлемо для хранения или передачи. Кодеки используют пространственную и временную избыточность между кадрами, чтобы уменьшить эти данные до управляемого размера. Пространственная избыточность означает корреляцию между соседними пикселями в пределах одного кадра; временная избыточность — сходство между последовательными кадрами. Практически каждый современный стандарт кодека строится вокруг этих двух видов избыточности.
Конкретно энкодер классифицирует изображения на три типа кадров: I-кадры (внутренне кодированные кадры) записывают полное изображение и могут декодироваться независимо, обеспечивая наименьшее сжатие, но наибольшую устойчивость к ошибкам; P-кадры (прогнозные кадры) хранят только отличия от предыдущего кадра; B-кадры (двунаправленные кадры) ссылаются как на предыдущие, так и на последующие кадры, достигая наивысшего сжатия. Группа кадров между двумя I-кадрами образует GOP (Group of Pictures) — более длинный GOP даёт лучшее сжатие, но более слабый произвольный доступ и восстановление после ошибок. Эта структура межкадрового предсказания действует с H.261; последующие стандарты в основном совершенствуют разбиение на блоки, точность предсказания и энтропийное кодирование.
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, а аппаратно-ускоренное кодирование прогрессирует. Широкое развёртывание как в видео по запросу, так и в прямом эфире ожидается в ближайшие несколько лет.
3. Сравнение патентного лицензирования
Лицензирование — решающий фактор во внедрении кодеков. Приведённая ниже таблица сравнивает ситуацию с лицензированием четырёх основных форматов:
| Кодек | Лицензиар | Стоимость роялти | Сложность |
|---|---|---|---|
| H.264 | Единый пул MPEG-LA | По уровням, с годовым потолком | Низкая |
| H.265 | Несколько пулов (MPEG-LA, HEVC Advance и др.) | Высокая, без единого потолка | Очень высокая |
| VP9 | Открытый исходный код (лицензия BSD) | Бесплатно | Нет |
| AV1 | Alliance 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 и дальнейшей оптимизации инструментов кодирования разрыв в стоимости между поколениями будет сужаться, но фундаментальные компромиссы между совместимостью, эффективностью и лицензированием сохранятся. Оставаться в курсе этих динамики — лучший способ принимать обоснованные решения по кодекам с течением времени.
Связанные статьи:
- Руководство по сжатию видео: как уменьшить размер, сохраняя чёткость
- FFmpeg Video Compression: CRF vs CBR vs VBR Explained
Нужно сжать файлы? Попробуйте SmartSlim
На базе собственного движка сжатия на Rust поддерживается 10 основных категорий и 40+ форматов, включая PDF/изображения/видео/Office/OFD. Локальная обработка — данные не покидают вашу инфраструктуру.