Содержание статьи +
- TL;DR
- Зачем это знать
- Что такое H.264 на самом деле
- Краткая история: почему H.264 выиграл интернет
- Как H.264 сжимает видео – на пальцах
- Профили и уровни: как один кодек ездит по 50 сценариям
- Эффективность сжатия: H.264 vs каждый кодек после
- Где H.264 стоит в 2026: доля рынка, адопция и multi-codec-реальность
- H.264 на практике: как кодировать правильно
- Типичные ошибки на H.264
- Где здесь Фора Софт
- Ключевые тезисы
- Что почитать дальше
- Источники
TL;DR
H.264, он же Advanced Video Coding (AVC) – это видеокодек (от англ. coder-decoder, программа, которая сжимает «сырое» видео в маленький файл и обратно разворачивает его в картинку), сделавший интернет видеосетью. Стандарт совместно опубликовали в мае 2003 года Международный союз электросвязи (ITU-T) и Международная организация по стандартизации (ISO/IEC MPEG) под двумя идентичными именами: ITU-T H.264 и ISO/IEC 14496-10. За 23 года H.264 заехал внутрь Blu-ray Disc, первого iPhone, YouTube, Netflix, каждого браузера с WebRTC, каждой современной камеры смартфона – и держит примерно 79–80% всех профессиональных стриминг-пайплайнов в восьмом Bitmovin Video Developer Report 2025. В 2026 году это всё ещё универсальный базовый кодек, к которому скатываются, когда не получилось договориться по HEVC, VP9 или AV1: единственный, который декодируется везде, кодируется чем угодно – и наконец вот-вот выйдет из патентного периода в ноябре 2027.
Зачем это знать
H.264 встретится в каждом видеопродукте, который вы отгружаете в 2026 году, даже если флагманский кодек у вас AV1 или HEVC. Это обязательный видеокодек для WebRTC – поэтому любой браузерный реалтайм-продукт зависит от него ради кросс-вендорного интеропа. 1 Это дефолтный профиль кодирования почти любой камеры смартфона. Это резервный rendition в каждой адаптивной битрейт-лестнице, нацеленной на старые телевизоры, set-top-боксы, in-flight, гостиничные ТВ и длинный хвост embedded-устройств. И в 2026 году это единственный кодек с поддержкой более 98% по десктопным и мобильным браузерам. 2 Понимание того, что такое H.264, где его пределы и как правильно его кодировать, – это разница между стриминг-продуктом, который «вроде бы работает на большинстве устройств», и продуктом, который попадает на каждый экран с нужным качеством и латентностью.
В этой статье разберём, что такое H.264, почему он стал рабочей лошадкой интернета, какие технические части реально нужно держать в голове, как он сравнивается с новыми кодеками в 2026, где ещё зарабатывает свой хлеб и как его правильно кодировать. Предварительных знаний не требуется – каждый термин будет объяснён простыми словами до того, как мы им воспользуемся. Если ещё не читали Краткую историю видеокодеков: от H.120 (1984) до AV2 (2025), там общий контекст; эта статья – глубокий разбор того единственного кодека, вокруг которого индустрия выстроила всю свою сантехнику.
Что такое H.264 на самом деле
Кодек – это две вещи, склеенные вместе: энкодер, который берёт сырые кадры и упаковывает их в маленький файл, и декодер, который проделывает обратную операцию, выкладывая картинку на экран. Само слово – слияние coder + decoder. H.264 – это кодек, на котором интернет сошёлся в 2003–2010 годах, заменив более старый MPEG-2 (телевидение пользовалось им с 1995) и проприетарные Sorenson Spark и VP6, которые Adobe Flash утащил в браузеры в начале 2000-х. MPEG-2 мы разбирали в MPEG-2: дедушка цифрового ТВ; H.264 – его прямой наследник, и архитектурно они близки.
Стандарт публикуется сразу под двумя именами, потому что его писали две организации параллельно. Moving Picture Experts Group (MPEG) входит в состав ISO и IEC – двух консенсусных органов, выпускающих большинство мировых промышленных стандартов. Video Coding Experts Group (VCEG) работает в составе сектора стандартизации телекоммуникаций ITU-T, агентства ООН по электросвязи. В декабре 2001 года эти две группы сформировали Joint Video Team (JVT) именно для написания H.264. Результат опубликован как Recommendation ITU-T H.264 на стороне ITU и как ISO/IEC 14496-10 – Part 10 более широкого набора MPEG-4 – на стороне ISO. Тексты совпадают буква в букву. 3 4
Официальное полное название кодека – Advanced Video Coding, сокращённо AVC. В индустрии все три имени – H.264, AVC, MPEG-4 Part 10 – используются взаимозаменяемо, иногда в одном предложении. Это один и тот же стандарт.
JVT возглавляли Gary Sullivan (Microsoft), Thomas Wiegand (Fraunhofer HHI, Берлин) и Ajay Luthra (Motorola). 3 Целью был кодек, который удвоит эффективность MPEG-2 при том же качестве, запустится на встраиваемых процессорах начала 2000-х и чисто лицензируется потребительской электронике. Все три цели были достигнуты. Первая версия спецификации одобрена ISO в марте 2003 и ITU-T в мае 2003. 3
Краткая история: почему H.264 выиграл интернет
К началу 2000-х у индустрии была проблема. MPEG-2, опубликованный в 1995 году, был великолепен для эфирного ТВ, но неэффективен для битрейтов домашнего интернета в 2003: типичный американский DSL давал 1.5 Мбит/с, а MPEG-2 для приличной картинки нужно было раза в три-четыре больше. Adobe Flash закрыл дыру проприетарными кодеками (Sorenson Spark, потом VP6), которые жали лучше MPEG-2, но были привязаны к одному вендору. На DVD-Video заканчивалась ёмкость для длинных фильмов, нужных хоум-театрам, а будущий Blu-ray требовал кодека, который уместит двухчасовой HD-фильм в 25 ГБ. Всем нужен был единый лицензируемый кодек, вдвое эффективнее MPEG-2, – и им стал H.264.
Первая волна адопции – оптические диски. Blu-ray Disc Association добавил H.264 в обязательный список кодеков в 2004 году, рядом с MPEG-2 и VC-1, и Blu-ray-плееры с 2006 года все декодировали H.264 аппаратно. Конкурирующий формат HD-DVD сделал тот же выбор. К моменту проигрыша HD-DVD в формат-войне в феврале 2008 года в продаже не осталось HD-плеера, который не был бы H.264-плеером.
Вторая волна – мобайл. Первый iPhone, вышедший 29 июня 2007 года, был оснащён аппаратным декодером H.264 в составе чипа PortalPlayer / Samsung S5L8900. 5 Apple поставила на H.264 с первого дня: YouTube-приложение на первом iPhone воспроизводило только H.264-видео, что вынудило Google за несколько месяцев перекодировать всю библиотеку YouTube из VP6/Flash в H.264. Все следующие поколения iPhone и все остальные смартфоны, желающие проигрывать YouTube, пошли тем же путём. К 2010 году H.264 стал лингва-франка мобильного видео.
Третья волна – браузер. В августе 2010 года MPEG LA – патентный пул, администрировавший H.264 в то время, – объявил, что интернет-видео, бесплатное для конечного пользователя, никогда не потребует роялти по H.264 на всё время действия стандарта. 6 Это разблокировало YouTube, Vimeo, Brightcove и остальную web-видеоиндустрию от страха пер-стримового патентного счёта – и стало триггером для браузеров добавить декодирование H.264 в <video>-элемент. К 2013 году H.264 проигрывался в каждом крупном браузере: либо нативно, либо – в случае Firefox – через модуль Cisco OpenH264, бесплатный бинарник, который Cisco раздаёт за свой счёт, оплачивая пер-бинарный роялти MPEG LA за каждого пользователя Firefox на Земле. 7
Четвёртая волна – камера. Каждая камера смартфона примерно с 2010 года по умолчанию пишет в H.264 .mp4 или .mov, и то же справедливо для потребительских и полупрофессиональных камер Canon, Sony, Panasonic, Nikon, GoPro и DJI. Что бы вы ни загружали на YouTube или в Instagram в 2026 году, до выхода с устройства это почти всегда уже H.264.
Пятая волна – live-стриминг. Real-Time Messaging Protocol (RTMP), опубликованный Adobe в 2009 году, HTTP Live Streaming (HLS), который Apple отгрузил с iOS 3 в том же году, и Microsoft Smooth Streaming, предшественник MPEG-DASH, – все они несли H.264 как основной видеокодек. Слой протоколов разбираем в Стриминг-протоколы: 8 главных в 2026; здесь же важно, что H.264 стал кодеком, под который проектировались стриминг-трубы, и спустя 20 лет это всё ещё так.
Этот пятиволновой раскат – диски, мобайл, браузер, камеры, стриминг – и делает H.264 рабочей лошадкой интернета. Ни один другой кодек никогда не был принят таким количеством слоёв стека одновременно. В 2026 году это всё ещё дефолтный кодек, который большинство энкодеров пишут по умолчанию, и единственный, который декодируют все современные устройства без предварительных условий.
Как H.264 сжимает видео – на пальцах
H.264 – это гибридный блочный кодек, та же базовая архитектура, что у MPEG-2, и её же в улучшенном виде использует всё, от H.265 до AV1. Целиком архитектуру разбираем в Архитектура гибридного видеокодека; ниже – короткая версия с конкретными решениями H.264.
Каждый кадр видео режется на квадраты пикселей, называемые макроблоками, размером 16 на 16 пикселей каждый. Для каждого макроблока энкодер делает четыре шага, по порядку.
Первый шаг – предсказание. Вместо того чтобы кодировать сырые значения пикселей макроблока, энкодер их угадывает: либо по соседним пикселям того же кадра (intra-предсказание), либо по похожему фрагменту в предыдущем или будущем кадре (inter-предсказание, оно же motion-compensated prediction). Затем кодируется только маленький residual, разница между догадкой и реальностью. Большой скачок H.264 над MPEG-2 – это направленное intra-предсказание: вместо того чтобы предсказывать только из предыдущего блока, энкодер выбирает одно из девяти пространственных направлений (горизонталь, вертикаль, диагонали и так далее) и продлевает соседние пиксели вдоль этого направления. Для inter-предсказания H.264 добавил множественные опорные кадры – до 16 предыдущих, на которые энкодер может смотреть, против одного у MPEG-2, – и четвертьпиксельные motion-векторы, описывающие движение в четыре раза точнее, чем MPEG-2. Механика – в Intra-frame coding: как сжимается один кадр и Inter-frame coding и motion estimation.
Второй шаг – преобразование. Residual прогоняется через маленький целочисленный transform – упрощённую версию классического Discrete Cosine Transform (DCT), математической операции 1974 года, которая представляет фрагмент пикселей как список частотных коэффициентов. Целочисленный вариант – инженерный трюк, сделавший H.264 портируемым между процессорами: MPEG-2 использовал плавающую запятую, что давало крошечные расхождения округления между реализациями энкодера и декодера и заставило стандарт определять допуск, а integer-transform H.264 бит-точен – каждый совместимый декодер получает один и тот же ответ на один и тот же вход. По умолчанию H.264 использует 4×4 integer-transform, опционально (в High profile) – 8×8 integer-transform. Математику разбираем в Transform coding: DCT, ADST, integer transforms.
Третий шаг – квантование. Каждый коэффициент трансформа делится на шаг и округляется, мелкие коэффициенты обнуляются. Здесь качество теряется навсегда, здесь же и живёт ручка качества энкодера: меньший шаг – больше деталей и больший файл, больший шаг – меньше деталей и меньший файл. Точная механика – в Quantization: где теряется качество.
Четвёртый шаг – энтропийное кодирование. Выжившие коэффициенты, режимы предсказания, motion-векторы и сигнализация residual записываются в bitstream одним из двух методов. Простой – Context-Adaptive Variable-Length Coding (CAVLC), кодирующий каждый символ Huffman-подобной таблицей, содержимое которой меняется по контексту предыдущих символов. Умный – Context-Adaptive Binary Arithmetic Coding (CABAC), кодирующий весь поток как одно дробное число, точность которого подсказывает декодеру, какие символы были выпущены. CABAC жмёт примерно на 10–15% лучше, чем CAVLC, ценой большей работы декодера. 8 CAVLC есть в каждом H.264-декодере; CABAC – только в Main, High и студийных профилях. Математику – в Entropy coding: краткое введение, специфику H.264 – в Entropy coding в деталях: CAVLC, CABAC, arithmetic coding.
Ещё три фичи H.264 надо назвать по имени даже на этом уровне обзора. In-loop deblocking filter работает внутри декодерной петли после восстановления каждого макроблока и сглаживает границы между блоками, на которых тяжёлое квантование иначе оставило бы видимые «квадраты». Этот единственный фильтр отвечает за заметную долю перцептивного преимущества H.264 над MPEG-2 – у MPEG-2 in-loop filter нет, и на низких битрейтах он показывает заметную «блочность». Линию развития разбираем в In-loop filtering: deblocking, SAO, ALF, CDEF.
B-кадры (от англ. bidirectionally predicted frames) уже были в MPEG-2, но H.264 их расширил. B-кадр предсказывает пиксели и из предыдущего, и из будущего кадра, что резко режет битрейт на медленно меняющемся контенте, но декодер вынужден декодировать кадры не в порядке отображения. Механику – в GOP-структура: I, P, B-кадры, open/closed GOP.
Переменный размер блока – самый часто упоминаемый эффициентный выигрыш H.264 над MPEG-2. Если MPEG-2 фиксировал любой motion-compensated блок в 16×16 пикселей, то H.264 разрешает разбить макроблок на прямоугольники размером до 4×4 – всего шестнадцать вариантов формы. Энкодер выбирает лучшее разбиение для каждого участка картинки: ровное небо остаётся одним 16×16-блоком, а игрок, бегущий через кадр, разделяется на много маленьких 4×4-блоков, точно отслеживающих движение. Подробнее – в Block-based prediction: MB, CTU, SB и superblocks.
Профили и уровни: как один кодек ездит по 50 сценариям
Спецификация вроде H.264 должна покрыть всё – от видеозвонка 176×144 на флип-фоне 2003 года до 4K-мастера на бродкаст-контрибуции 2026 года. Чтобы декодерные чипы оставались доступными, стандарт нарезает свои фичи на сетку профилей (Profiles) – какие кодинговые инструменты разрешены – и уровней (Levels) – потолки разрешения, частоты кадров, битрейта и буфера декодированных картинок. Декодер строят под конкретное сочетание Profile/Level, и энкодер должен оставаться в этом конверте. 3
H.264 определяет около двадцати профилей и семнадцати уровней. Реально отгружаемые в массовых количествах комбинации – гораздо более короткий список.
| Профиль | Что добавляет | Где реально отгружается |
|---|---|---|
| Constrained Baseline (CBP) | Минимальное подмножество – I и P-кадры, CAVLC, без B-кадров, без CABAC, без чересстрочных инструментов | Обязателен для WebRTC; первый iPhone; низкоуровневые видеозвонки |
| Baseline (BP) | CBP + гибкое упорядочивание макроблоков, redundant slices для устойчивости к ошибкам | Раннее мобильное видео, видеоконференции по lossy-сетям |
| Main (MP) | B-кадры + CABAC + поддержка чересстрочной развёртки | Первое поколение HDTV-вещания, мобильное ТВ |
| Extended (XP) | Streaming-инструменты устойчивости к ошибкам | Realtime-стриминг; на практике редок |
| High (HiP) | Все инструменты Main + 8×8 transform + 8×8 пространственное предсказание + кастомные матрицы квантования | Дефолтный профиль для Blu-ray, HD-вещания, YouTube, Netflix, почти всего VOD |
| High 10 (Hi10P) | High + 10-битные сэмплы | Anime-fansubs, некоторые HDR-эксперименты до прихода HEVC |
| High 4:2:2 (Hi422P) | High 10 + 4:2:2 chroma | Профессиональная бродкаст-контрибуция (Sony XDCAM 422, Panasonic AVC-Intra) |
| High 4:4:4 Predictive (Hi444PP) | Hi422P + 4:4:4 chroma + 12-битные сэмплы + RGB + lossless-режим | Профессиональный пост-продакшен; редко стримится |
Таблица 1. H.264-профили, с которыми реально столкнётесь в продуктовой работе. Полный стандарт определяет ещё с десяток scalable- и multi-view-профилей (SVC, MVC), которые в массовый рынок не вышли.
Constrained Baseline Profile Level 1.2 – mandatory-to-implement видеокодек для WebRTC: каждый браузер и каждый нативный WebRTC SDK обязаны его поддерживать ради кросс-вендорного интеропа, что зафиксировано в IETF RFC 7742. 1 Поэтому ваш браузерный звонок всегда может договориться о H.264, даже когда с одной стороны Safari на iOS, а с другой – Chrome на Linux. Импликации на уровне протокола – в WebRTC глубоко: SDP, ICE, STUN/TURN, SFU vs MCU.
High Profile – дефолт всего остального. Когда YouTube перекодирует ваш аплоад, Netflix готовит серию к стримингу или вещатель ингестит контрибуционный фид, H.264-rendition почти всегда High на одном из старших Level. Добавляемые High поверх Main 8×8-transform и 8×8 intra-предсказание стоят примерно 5–10% битрейта при том же качестве на типичном контенте. 9
Уровни добавляют второе измерение. Level 4.1 ограничивает разрешение 1920×1080 при 30 fps и битрейт 50 Мбит/с для High profile – это ровно потолок Blu-ray, и так и было задумано. Level 5.1 поднимает потолок до 4096×2304 и до 240 Мбит/с – это 4K Blu-ray и 4K-камеры. Level 5.2 разрешает 4K при 60 fps. Level 6.2 допускает 8K при 120 fps, но на практике все, кто отгружает 8K, уже перешли на HEVC или AV1.
Арифметика битрейта за этими уровнями прямая. 90-минутный фильм при 8 Мбит/с High Profile Level 4.1 занимает:
8 Мбит/с × 90 мин × 60 с = 43 200 Мбит итого
43 200 Мбит ÷ 8 = 5 400 МБ ≈ 5,27 ГБПоэтому однослойный Blu-ray на 25 ГБ легко вмещает длинный фильм плюс lossless-аудио плюс бонусы при больших H.264-битрейтах, а 1080p-стримы Netflix на тех же 4–8 Мбит/с выглядят так, как выглядят.
Эффективность сжатия: H.264 vs каждый кодек после
Самый полезный показатель любого кодека – экономия битрейта: на сколько меньше бит нужно новому кодеку, чтобы выдать ту же картинку. В 2003 году H.264 задал планку, ополовинив MPEG-2 при том же качестве; с тех пор каждый кодек меряется именно с ним.
| Кодек | Год | Битрейт при том же качестве относительно H.264 |
|---|---|---|
| MPEG-2 (H.262) | 1995 | ≈ 200% (нужно в два раза больше бит) |
| H.264 / AVC | 2003 | baseline (100%) |
| H.265 / HEVC | 2013 | ≈ 50% |
| VP9 | 2013 | ≈ 55% |
| AV1 | 2018 | ≈ 35% |
| H.266 / VVC | 2020 | ≈ 25% |
Таблица 2. Приблизительный битрейт при том же перцептивном качестве, выраженный долей от H.264. Лабораторные BD-rate; на практике экономия – обычно две трети, три четверти заголовка. См. Сравнительная таблица кодеков для полной картины.
Подставим числа, чтобы понять, что эти проценты дают. 1080p-стрим Netflix, который сегодня идёт на 5 Мбит/с H.264, потребует:
- 5,0 Мбит/с на H.264 (сегодняшний baseline)
- 2,5 Мбит/с на HEVC
- 2,75 Мбит/с на VP9
- 1,75 Мбит/с на AV1
- 1,25 Мбит/с на VVC
Промышленные замеры самого Netflix совпадают с лабораторными числами. Платформа сообщает, что AV1-сессии используют примерно на треть меньше трафика, чем эквивалентные H.264-сессии, и дают на 45% меньше rebuffering-событий, при этом VMAF – перцептивная метрика, разбираемая в Объективные метрики качества: PSNR, SSIM, MS-SSIM, VMAF, – выше у AV1 на 4,3 балла при том же битрейте. 10
Эти числа объясняют, почему все крупные стримеры мигрируют контент с H.264 на HEVC или AV1 везде, где плеер это поддерживает. И они же объясняют, почему H.264 никуда не делся: стрим, который должен играть на смарт-ТВ 2013 года, в номере гостиницы или на корпоративном Cisco-эндпоинте, выбора кроме H.264 не имеет, потому что больше там ничего не декодируется. Компромисс разбираем в Как выбрать кодек для своего сервиса в 2026.
Где H.264 стоит в 2026: доля рынка, адопция и multi-codec-реальность
Bitmovin Video Developer Report 2025 – самое долгоиграющее в индустрии исследование профессиональных стриминг-воркфлоу, в восьмом издании на момент написания статьи – ставит H.264 на примерно 79–80% продакшен-развёртываний, H.265/HEVC – на 49%, AV1 – на 30% тех же воркфлоу (большинство продакшенов отгружают больше одного кодека, поэтому проценты пересекаются). 2 Все остальные обзоры за текущий год, что мы видели, сходятся в общей картине: H.264 всё ещё везде, HEVC живёт примерно в половине профессиональных пайплайнов, AV1 быстро растёт у тех стримеров, кто вложился в энкодерное железо, чтобы его себе позволить.
Поддержка в браузерах рассказывает ту же историю. На май 2026 H.264 проигрывается в 99% установленных десктопных и 99,5% мобильных браузеров. 11 HEVC – примерно в 75% установленных браузеров (Safari на всех платформах, Edge на Windows, Chrome на устройствах с аппаратным ускорением, но всё ещё не в Firefox без OS-уровневого кодека). AV1 – примерно в 80% браузеров в 2026, против 50% двумя годами раньше, но длинный хвост старых устройств всё равно мимо.
Данные самого Netflix – самое чистое окно в то, где живёт современный стриминг. Netflix подтверждает, что AV1 теперь крутит примерно 30% всего стриминга, обогнав HEVC и став вторым по объёму кодеком после H.264. 10 Это значит, что H.264 в 2026 году всё ещё несёт большинство байтов Netflix – поразительное число для кодека 23-летней давности, и это справедливо почти для каждой крупной стриминг-платформы. AV1 выиграл передний фронт; H.264 владеет длинным хвостом.
Патентный ландшафт – вторая история, определяющая позицию H.264 в 2026. Патентный пул MPEG LA по H.264, в апреле 2023 года объединившийся с Via Licensing в новую организацию Via Licensing Alliance (Via LA), берёт пер-девайс роялти с H.264-энкодеров и -декодеров. 12 В начале 2026 года Via LA тихо реструктурировала стриминговый лицензионный тариф для H.264, заменив прежний плоский потолок 100 тыс. USD в год многоуровневой шкалой с верхней планкой 4,5 млн USD в год для самых крупных нелицензированных платформ, входящих в пул. 13 Это изменение касается только новых лицензиатов, ищущих первую H.264-стриминг-лицензию в 2026 или позже, но это самый явный экономический сигнал, что пул готовится к концу жизни кодека – и любой новый проект должен внимательно посмотреть на лицензионную экспозицию.
Последний американский патент H.264 в пуле Via LA – US 7 826 532 – истекает 29 ноября 2027 года. 14 После этой даты все патенты, которые пул сейчас администрирует, в США закончатся, и H.264 станет royalty-free так же, как MPEG-2 стал в 2018. В других юрисдикциях календарь свой, но именно американская дата – та, на которую большинство продуктовых команд планируется. До неё каждый коммерческий энкодер и декодер H.264, поставляемый в продукт для США, технически – лицензированная реализация. AAC-аудио, которое почти всегда едет рядом с H.264, лицензируется отдельным пулом Via LA со своим календарём истечения.
Cisco OpenH264, выпущенный в 2013 году как полностью открытая реализация H.264, которую Cisco раздаёт пред-собранным бинарником и оплачивает пер-бинарный роялти MPEG LA из своего кармана. 7 Firefox использует cisco-бинарник как реализацию H.264 – поэтому Firefox играет H.264-видео без OS-уровневого кодека на каждой платформе, которую Cisco поддерживает. После 29 ноября 2027 года Cisco перестанет выписывать этот чек, а OpenH264 – как и любые другие свободные реализации – станет недвусмысленно свободным в США.
H.264 на практике: как кодировать правильно
Стандарт описывает декодеру, как интерпретировать bitstream; что энкодер должен делать – он не говорит. Каждый H.264-энкодер – отдельный софтверный проект, и разрыв между лучшим и худшим может достигать трёх раз по битрейту при том же качестве. В 2026 году важны три семейства энкодеров.
x264 – открытый софтверный энкодер, поддерживаемый проектом VideoLAN. Он выигрывает ежегодное MSU MPEG-4 AVC/H.264 Video Codec Comparison с 2006 года 15 и работает под капотом у libx264 в FFmpeg, у пресета H.264 в HandBrake, у вывода «x264» в OBS Studio и у H.264-транскодеров почти каждого Linux-энкодерного аппайнса. x264 – эталон качества, с которым меряется каждый другой H.264-энкодер.
OpenH264 – открытый H.264-энкодер и декодер Cisco, выпущенный в 2013 году, чтобы разорвать патентный тупик, державший Firefox без нативного H.264. 7 OpenH264 уступает x264 в качестве примерно на 10–15% при том же битрейте, но это кодек внутри Firefox и популярный выбор для realtime-WebRTC-приложений из-за low-latency-настроек. Мы в Фора Софт используем OpenH264 в нескольких своих WebRTC-продуктах именно по этой причине.
Аппаратные H.264-энкодеры есть в каждом десктопном GPU, в каждом мобильном чипе приложений, в каждом современном бродкаст-аппайнсе и в большинстве ноутбучных CPU. NVIDIA NVENC, AMD VCE / VCN, Intel Quick Sync Video, Apple VideoToolbox и длинный список ASIC-энкодеров от NETINT, Bitmovin и других обменивают часть качества при том же битрейте на скорость на порядок выше и резко меньшее использование CPU. Исторически разрыв был достаточно широким, чтобы бродкастеры ещё в 2018 году отвергали хардверные энкодеры для delivery; к 2026 году разрыв сократился до примерно 5–10% против медленных пресетов x264, что приемлемо почти в любом live-воркфлоу и во многих VOD. 16 Тонкости разбираем в Hardware-ускорение: GPU, VPU, ASIC.
Две настройки энкодера, имеющие наибольшее значение в любом H.264-пайплайне, – это режим rate-control и preset. Rate-control говорит энкодеру, как распределять биты по таймлайну: Constant Rate Factor (CRF) просит таргетировать перцептивное качество и пишет какой угодно битрейт, чтобы его попасть; Variable Bitrate (VBR) ограничивает средний битрейт в окне; Constant Bitrate (CBR) держит битрейт в жёстком конверте для live-стриминга. Механика – в Rate control: CBR, VBR, CRF, ABR, capped CRF.
Preset – это x264-имя для бандла настроек скорость/качество; валидные пресеты: ultrafast, superfast, veryfast, faster, fast, medium, slow, slower, veryslow, placebo. 15 Медленные пресеты включают более дорогой анализ (меньшие разбиения блоков, больше опорных кадров, больше rate-distortion-проверок) и дают меньшие файлы при том же качестве – ценой CPU.
Типичный VOD-энкод 1080p-источника выглядит примерно так:
# 1080p VOD высокого качества с CRF 21 и пресетом slow.
# Однопроходный файл, годный к участию в ABR-ладдере.
ffmpeg -i input.mov \
-c:v libx264 -profile:v high -level 4.1 \
-preset slow -crf 21 \
-pix_fmt yuv420p \
-c:a aac -b:a 128k \
-movflags +faststart \
output_1080p_h264.mp4Live-энкод для low-latency-стриминга меняет всего несколько флагов:
# 720p low-latency live-энкод для RTMP- или WebRTC-ингеста.
# tune zerolatency выключает look-ahead и B-кадры ради субсекундной латентности.
ffmpeg -re -i input_live_source \
-c:v libx264 -profile:v baseline -level 3.1 \
-preset veryfast -tune zerolatency \
-x264-params "keyint=60:min-keyint=60:scenecut=0" \
-b:v 2500k -maxrate 2500k -bufsize 5000k \
-c:a aac -b:a 96k -ar 44100 \
-f flv rtmp://your.ingest.example/live/stream-keyПолный сборник рецептов, таблица профилей/уровней и FFmpeg-флаги под каждый rate-control-режим – в PDF-шпаргалке по H.264 / AVC, приложенной к этой статье.
Типичные ошибки на H.264
Список ниже – короткая версия ошибок, которые мы чаще всего видим при аудите чужих H.264-пайплайнов.
Таргетинг Baseline там, где надо High. Удивительно много продакшен-VOD до сих пор кодируется в Baseline или Main – обычно потому, что кто-то скопировал пресет 2009 года и больше его не пересматривал. High Profile поддерживается каждым устройством, выпущенным примерно с 2008 года, и экономит 5–10% битрейта при том же качестве. Используйте High, если только нет конкретной причины (обычно – mandatory-to-implement WebRTC или известный legacy-эндпоинт) откатываться. 9
Кодирование не на том уровне. 1080p-файл, закодированный в Level 4.0 вместо 4.1, может быть отвергнут некоторыми Blu-ray-авторингами и старыми смарт-ТВ. 4K-файл в Level 5.1 вместо 5.2 ограничивает частоту 30 fps, даже если источник 60 – энкодер тихо сбрасывает половину кадров. Подбирайте уровень под разрешение и частоту, а не по полузабытому дефолту.
Забыли -pix_fmt yuv420p. libx264 в FFmpeg по умолчанию использует тот же chroma-формат, что у источника – иногда это yuv422p или yuv444p. Многие потребительские плееры и почти все аппаратные декодеры понимают только yuv420p. Добавление -pix_fmt yuv420p к каждому пользовательскому энкоду экономит тикет «видео играет на Mac, но не на смарт-ТВ».
Забыли +faststart. Без флага -movflags +faststart FFmpeg пишет MP4 moov atom – оглавление файла – в конец. Браузер не может начать воспроизведение, пока не скачает moov, то есть качает файл целиком. +faststart переписывает файл так, чтобы moov-атом стоял в начале, и прогрессивный плей работает. Внутренности контейнера – в Контейнеры: MP4, fMP4, MKV, WebM, MOV, MPEG-TS.
-tune zerolatency для VOD. Тюн zerolatency проектировался под live-энкодинг: выключает look-ahead, выключает B-кадры, укорачивает GOP. Использование его на VOD-энкоде меняет 15–20% эффективности на латентность, которая вам там не нужна. Для VOD используйте -tune film, -tune animation или вообще без тюна.
Путаница H.264 с H.264. Один стандарт ходит под тремя именами – H.264, AVC, MPEG-4 Part 10 – и в трёх семействах брендов (Apple, Microsoft, Adobe) у него были разные подимена. «H.264 Baseline» в одном инструменте – это «AVC Baseline» в другом и «MPEG-4 AVC, Constrained Baseline» в третьем. Это одно и то же. Самая частая путаница – между более старым MPEG-4 Part 2 (брендировался «MPEG-4», и это кодек внутри DivX и Xvid) и более новым MPEG-4 Part 10 / H.264 / AVC. Это разные кодеки, и между собой они не совместимы.
Где здесь Фора Софт
Мы отгружаем H.264-системы с момента, когда стандарт вышел в коммерческие объёмы в 2007 году. В видеоконференциях и WebRTC-продуктах опираемся на H.264 Constrained Baseline ради интеропа с любым устройством, которое пользователь принесёт; в видеостриминге и OTT/Internet TV основной массив клиентских библиотек кодируется в High Profile, рядом – AV1/HEVC-ладдер для способных устройств. Системы видеонаблюдения, которые мы строили для интеграторов безопасности, отгружают H.264 по RTSP в рекордер и H.264 по WebRTC в live-плеер в одном и том же пайплайне. E-learning и телемедицинские продукты обычно multi-codec, и H.264 – кодек, которым мы гарантируем воспроизведение на конкретных закрытых устройствах учреждения. AR/VR-проекты в основном на HEVC и AV1 из-за пропускной – но H.264-fallback rendition всё равно часть ладдера. Паттерн везде один: H.264 – это кодек, который мы используем, когда «должно работать» важнее, чем «должно экономить байты».
Ключевые тезисы
- H.264 / AVC опубликован ITU-T и ISO/IEC MPEG в мае 2003 года как один документ под двумя именами: ITU-T H.264 и ISO/IEC 14496-10.
- В 2026 году он всё ещё несёт ≈ 79–80% профессиональных стриминг-воркфлоу и остаётся единственным кодеком с поддержкой > 98% во всех браузерах.
- Constrained Baseline Profile обязателен для WebRTC по IETF RFC 7742; High Profile – дефолт везде, включая Blu-ray, HD-вещание и почти весь VOD.
- H.264 нужен примерно в два раза больший битрейт, чем HEVC, и в три раза больший, чем AV1, ради того же качества – это цена универсальной совместимости.
- x264 выигрывает MSU-конкурс с 2006 года и остаётся эталоном качества; аппаратные энкодеры отстают теперь только на 5–10% при том же битрейте.
- Последний американский патент H.264 в пуле Via LA истекает 29 ноября 2027 года, после чего кодек в США станет royalty-free, как MPEG-2 с 2018.
Что почитать дальше
- H.265 / HEVC: +50% к H.264 и патентная катастрофа – кодек, построенный, чтобы ополовинить H.264, и патентная история, замедлившая его адопцию.
- AV1: новый стандарт интернета и где он сейчас в 2026 – royalty-free наследник, уже крутящий 30% Netflix.
- Как выбрать кодек для своего сервиса в 2026: decision tree – когда отгружать H.264, когда HEVC, когда AV1 и когда все три.
Источники
- IETF RFC 7742, WebRTC Video Processing and Codec Requirements, March 2016. https://datatracker.ietf.org/doc/html/rfc7742 – H.264 Constrained Baseline Profile Level 1.2 – mandatory-to-implement для WebRTC.
- Bitmovin, Video Developer Report 2025, обобщено Streaming Media и KitPlus, февраль 2025. https://www.streamingmedia.com/Articles/ReadArticle.aspx?ArticleID=143193 – H.264 ≈ 79–80% профессиональных воркфлоу; HEVC ≈ 49%; AV1 ≈ 30%.
- Advanced Video Coding, Wikipedia, accessed 2026-05-16. https://en.wikipedia.org/wiki/Advanced_Video_Coding – JVT сформирован в декабре 2001, первая версия одобрена в марте 2003 (ISO) и мае 2003 (ITU-T), JVT возглавляли Sullivan, Wiegand, Luthra.
- ITU-T Study Group 16, Joint Video Team, accessed 2026-05-16. https://www.itu.int/en/ITU-T/studygroups/com16/video/Pages/jvt.aspx
- H.264, Apple Wiki, accessed 2026-05-16. https://apple.fandom.com/wiki/H.264 – первый iPhone был с аппаратным декодером H.264; Apple агрессивно стандартизировала H.264 в iTunes, iPod, iPhone, iPad.
- Apple-supported H.264 standard gains free license for Internet video use, AppleInsider, 26 August 2010. https://appleinsider.com/articles/10/08/26/apple_supported_h_264_standard_gains_free_license_for_internet_video_use – MPEG LA анонсирует бессрочный отказ от роялти за интернет-видео, бесплатное для конечного пользователя.
- Cisco's OpenH264 Now Part of Firefox, Cisco Blogs, 2013. https://blogs.cisco.com/collaboration/ciscos-openh264-now-part-of-firefox – Cisco раздаёт бинарник OpenH264, оплачивая роялти MPEG LA пер-бинарно за каждого пользователя.
- Context-adaptive binary arithmetic coding, Wikipedia, accessed 2026-05-16. https://en.wikipedia.org/wiki/Context-adaptive_binary_arithmetic_coding – CABAC жмёт на 10–15% лучше CAVLC ценой большей работы декодера; доступен только в Main и старше.
- MPEG-4 AVC / H.264, ITU-T Workshop on End-to-End Quality of Service, May 2006 (Ajay Luthra). https://www.itu.int/ITU-T/worksem/h325/200605/presentations/s3p1-luthra.pdf – 8×8-transform и 8×8 intra-prediction High Profile дают ≈ 5–10% дополнительной экономии против Main.
- Decoding Netflix's AV1 Streams, Kay Singh (анализ публичных данных Netflix), accessed 2026-05-16. https://singhkays.com/blog/netflix-av1-decode/ – AV1 ≈ 30% стриминга Netflix; AV1-сессии используют на ⅓ меньше трафика, чем H.264, на 45% меньше rebuffering, +4,3 VMAF к H.264 при том же битрейте.
- Can I use… MPEG-4 / H.264 video format, caniuse.com, accessed 2026-05-16. https://caniuse.com/#feat=mpeg4 – Выше 98% поддержка в десктопных и мобильных браузерах в 2026.
- Via Licensing and MPEG LA Unite to Form Via Licensing Alliance, Via LA, апрель 2023. https://www.via-la.com/via-licensing-and-mpeg-la/ – MPEG LA вошла в Via LA в апреле 2023; пул H.264 продолжается под новым администратором.
- Firm quietly boosts H.264 streaming license fees from $100,000 up to staggering $4.5 million, Tom's Hardware, 2026. https://www.tomshardware.com/service-providers/streaming/h264-streaming-license-fees-jump-from-100000-to-4-5-million – Via LA в 2026 заменяет плоский потолок 100 тыс. USD многоуровневым тарифом до 4,5 млн USD/год для самых крупных новых лицензиатов.
- US Patent Expiration for MP3, MPEG-2, H.264, OSnews. https://www.osnews.com/story/24954/us-patent-expiration-for-mp3-mpeg-2-h264/ – последний H.264-патент в пуле MPEG LA / Via LA, US 7 826 532, истекает 29 ноября 2027.
- Lighterra: Video Encoding Settings for H.264 Excellence. https://www.lighterra.com/papers/videoencodingh264/ – x264 выигрывает MSU MPEG-4 AVC/H.264 Codec Comparison ежегодно с 2006; справочник по пресетам и rate-control.
- Hardware vs Software Live Streaming Encoders, Wowza. https://www.wowza.com/blog/hardware-vs-software-live-streaming-encoders – аппаратные H.264-энкодеры исторически отставали; к 2024–2026 разрыв сократился до ~5–10% против медленных пресетов x264.