Содержание статьи +
- TL;DR
- Зачем это знать
- Что такое H.264 на самом деле
- Краткая история: почему H.264 победил в интернете
- Как H.264 сжимает видео – на пальцах
- Профили и уровни: как один кодек работает с 50 сценариями
- Эффективность сжатия: H.264 против последующих кодеков
- Где H.264 стоит в 2026: доля рынка, внедрение и реальность с несколькими кодеками
- 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 Это профиль кодирования по умолчанию почти у любой камеры смартфона. Это резервный вариант в каждой адаптивной лестнице битрейта, ориентированной на старые телевизоры, set-top-боксы, бортовое ТВ, гостиничные системы и множество 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 – часть 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 в 2004 году включил H.264 в обязательный список кодеков наряду с MPEG-2 и VC-1, и с 2006 года все Blu-ray-плееры стали аппаратно декодировать 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 использовал числа с плавающей запятой, из-за чего возникали небольшие расхождения при округлении между разными реализациями энкодера и декодера, и стандарт был вынужден задавать допустимые погрешности. В H.264 же integer-transform обеспечивает битовую точность – любой совместимый декодер при одинаковом входе всегда выдаёт один и тот же результат. По умолчанию H.264 использует 4×4 integer-transform, а в профиле High – опционально 8×8 integer-transform. Подробности математики см. в Transform coding: DCT, ADST, integer transforms.
Третий шаг – квантование. Каждый коэффициент преобразования делится на шаг и округляется, а мелкие коэффициенты обнуляются. Именно здесь качество теряется окончательно – и именно здесь находится «ручка» качества энкодера: меньший шаг даёт больше деталей и больший файл, а больший шаг – меньше деталей и меньший файл. Подробности – в статье Quantization: где теряется качество.
Четвёртый шаг – энтропийное кодирование. Выжившие коэффициенты, режимы предсказания, motion-векторы и сигнализация residual записываются в bitstream одним из двух методов. Простой – Context-Adaptive Variable-Length Coding (CAVLC), при котором каждый символ кодируется с помощью таблицы, похожей на таблицу Хаффмана, а её содержимое адаптируется под контекст предыдущих символов. Более эффективный – 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: у последнего in-loop фильтра нет, и при низких битрейтах проявляется выраженная «блочность». Развитие этой линии рассмотрено в статье 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 – обязательный для реализации видеокодек в 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-версия почти всегда использует профиль High на одном из старших уровней. Дополнительные возможности High – 8×8-трансформ и 8×8 intra-предсказание – увеличивают битрейт примерно на 5–10% при сохранении того же качества на типичном контенте. 9
Уровни добавляют второе измерение. Level 4.1 ограничивает разрешение 1920×1080 при 30 кадрах в секунду и битрейт 50 Мбит/с для High profile – это ровно предел Blu-ray, и так и было задумано. Level 5.1 поднимает потолок до 4096×2304 и до 240 Мбит/с – это 4K Blu-ray и 4K-камеры. Level 5.2 разрешает 4K при 60 кадрах в секунду. Level 6.2 допускает 8K при 120 кадрах в секунду, но на практике все, кто работает с 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 против последующих кодеков
Самый полезный показатель любого кодека – экономия битрейта: насколько меньше бит требуется новому кодеку, чтобы обеспечить ту же картинку. В 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 (современный базовый уровень)
- 2,5 Мбит/с для HEVC
- 2,75 Мбит/с для VP9
- 1,75 Мбит/с для AV1
- 1,25 Мбит/с для VVC
Промышленные замеры Netflix совпадают с лабораторными данными. Платформа сообщает, что сессии в формате AV1 используют примерно на треть меньше трафика, чем аналогичные сессии в H.264, и сопровождаются на 45% меньшим количеством событий повторной буферизации, при этом перцептивная метрика VMAF – подробно описанная в Объективные метрики качества: PSNR, SSIM, MS-SSIM, VMAF – у AV1 выше на 4,3 балла при одинаковом битрейте. 10
Эти цифры объясняют, почему все крупные стримеры переносят контент с H.264 на HEVC или AV1 – везде, где плеер это поддерживает. И те же цифры объясняют, почему H.264 до сих пор остаётся в ходу: стрим, который должен воспроизводиться на смарт-ТВ 2013 года, в номере гостиницы или на корпоративном Cisco-эндпоинте, не имеет выбора, кроме H.264 – больше там ничего не декодируется. Подробный разбор компромиссов – в статье Как выбрать кодек для своего сервиса в 2026.
Где H.264 стоит в 2026: доля рынка, внедрение и реальность с несколькими кодеками
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 без кодека уровня операционной системы). 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 – поэтому он воспроизводит H.264-видео без использования кодеков на уровне операционной системы на всех платформах, поддерживаемых Cisco. После 29 ноября 2027 года Cisco прекратит платить эти роялти, и OpenH264 – как и любые другие свободные реализации – станет однозначно свободным программным обеспечением в США.
H.264 на практике: как кодировать правильно
Стандарт описывает, как декодеру интерпретировать bitstream, но не указывает, что должен делать энкодер. Каждый H.264-энкодер – это отдельный программный проект, и разница между лучшим и худшим может достигать трёхкратного превышения по битрейту при одинаковом качестве. В 2026 году важны три семейства энкодеров.
x264 – открытый программный энкодер, поддерживаемый проектом VideoLAN. С 2006 года он побеждает в ежегодном конкурсе MSU MPEG-4 AVC/ H.264 Video Codec Comparison 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 и остаётся популярным выбором для WebRTC-приложений в реальном времени благодаря настройкам с низкой задержкой. В Фора Софт мы применяем OpenH264 в нескольких своих WebRTC-продуктах именно по этой причине.
Аппаратные H.264-энкодеры есть в каждом десктопном GPU, в каждом мобильном чипе приложений, в каждом современном вещательном аппарате и в большинстве ноутбучных CPU. NVIDIA NVENC, AMD VCE / VCN, Intel Quick Sync Video, Apple VideoToolbox и длинный список ASIC-энкодеров от NETINT, Bitmovin и других жертвуют частью качества при том же битрейте ради скорости на порядок выше и значительно меньшей нагрузки на CPU. Исторически разрыв был настолько велик, что вещатели ещё в 2018 году отказывались использовать аппаратные энкодеры для доставки; к 2026 году он сократился до примерно 5–10% по сравнению с медленными пресетами x264 – что уже приемлемо почти в любом live-воркфлоу и во многих VOD. 16 Тонкости разбираем в Hardware-ускорение: GPU, VPU, ASIC.
Две самые важные настройки энкодера в любом H.264-пайплайне – это режим управления битрейтом (rate-control) и пресет (preset). Режим управления битрейтом определяет, как энкодер распределяет биты по видео: 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-энкод для стриминга с низкой задержкой требует изменения всего нескольких флагов:
# 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-флаги для каждого режима управления битрейтом – в PDF-шпаргалке по H.264 / AVC, приложенной к этой статье.
Типичные ошибки на H.264
Ниже приведён краткий список ошибок, которые мы чаще всего встречаем при аудите чужих H.264-пайплайнов.
Таргетинг Baseline там, где нужен High. Удивительно, сколько продакшен-видео до сих пор кодируется в профиле Baseline или Main – обычно потому, что кто-то скопировал пресет 2009 года и с тех пор его не пересматривал. Профиль High поддерживается всеми устройствами, выпущенными примерно с 2008 года, и позволяет сэкономить 5–10% битрейта при том же качестве. Используйте High, если только нет веской причины (обычно – обязательная поддержка WebRTC или известный устаревший эндпоинт) для отката. 9
Кодирование не на том уровне. 1080p-файл, закодированный в Level 4.0 вместо 4.1, может быть отклонён некоторыми Blu-ray-авторингами и старыми смарт-ТВ. 4K-файл в Level 5.1 вместо 5.2 ограничивает частоту кадров до 30 fps, даже если исходник – 60: энкодер молча отбрасывает половину кадров. Подбирайте уровень кодирования под разрешение и частоту кадров, а не ориентируйтесь на устаревшие значения по умолчанию.
Забыли -pix_fmt yuv420p. libx264 в FFmpeg по умолчанию использует тот же формат хроминансной подвыборки, что и у исходного видео – иногда это yuv422p или yuv444p. Большинство потребительских плееров и практически все аппаратные декодеры поддерживают только yuv420p. Указание -pix_fmt yuv420p при каждом пользовательском кодировании помогает избежать жалоб вроде «видео проигрывается на Mac, но не на смарт-ТВ».
Забыли +faststart. Без флага -movflags +faststart FFmpeg записывает MP4 moov atom – оглавление файла – в конец. Браузер не может начать воспроизведение, пока не скачает этот атом, то есть загружает файл целиком. Флаг +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-резервная версия всё равно входит в ладдер. Паттерн везде один: 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 обязателен для WebRTC согласно IETF RFC 7742; профиль High – стандартный по умолчанию во всех основных областях, включая Blu-ray, телевидение высокой чёткости и почти весь 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.