Цифровой формат для сжатия видео H.264 (MPEG4 AVC)
Что такое H.264
H.264
-
стандарт сжатия видеоданных, принятый Международной организацией по стандартизации (ISO). Также известен как MPEG-4 part 10 и AVC (Advanced Video Coding). H.264 — это стандартизированный цифровой формат для сжатия видео высокой четкости с высокой скоростью передачи данных. С его помощью можно преобразовать большой видеофайл исходного формата в файл другого формата, занимающий примерно в два раза меньше места на диске по сравнению с форматом MPEG-2 (стандарт видео DVD-качества). Формат H.264 универсален. Он позволяет варьировать степень сжатия, чтобы обеспечить соответствие требованиям провайдеров интернет-услуг, веб-сайтов и устройств, включая ноутбуки.
Почему важно сжатие?
Представьте слона, пытающегося пробраться в мышиную норку. Исходный формат видео HD (высокой четкости), используемый при записи веб-камерой или цифровой камерой, может занимать очень много места на жестком диске — гигабайты, которые могли бы пригодиться для других файлов. Веб-сайты, включая Facebook и YouTube, а также поставщики интернет-услуг, такие как Comcast и ATT, устанавливают ограничения по размеру файлов. Файл видео высокой четкости в исходном формате зачастую может оказаться слишком велик для сайтов и поставщиков интернет-услуг.
Как работает H.264?
Видео — это поток отдельных изображений или кадров. H.264 удаляет из потока избыточную информацию. Каждый кадр делится на маленькие блоки размером в 4x4 пикселя для высокоточного анализа. При обработке кадра средство сжатия (кодировщик) ищет блоки в предыдущем кадре, только что записанном, и в следующем кадре в последовательности. Оно находит, что изменилось, а что осталось прежним. Затем избыточная информация удаляется. Этот процесс повторяется на протяжении всего потока.
Благодаря этому размер файла уменьшается эффективнее, чем даже при использовании формата MPEG-4. При воспроизведении видео декодер в устройстве воспроизведения извлекает информацию из нескольких кадров, чтобы получить полное изображение высокой четкости.
Как работает H.264 с веб-камерой?
Изображения захватываются датчиком веб-камеры, оцифровываются и сжимаются в формат H.264. Все кодирование видео выполняется в камере, так что вся нагрузка не ляжет на процессор компьютера. Затем видеоданные передаются по USB-кабелю для просмотра на компьютере, для видеообщения в реальном времени, для роликов Facebook и YouTube, для компактного хранения на диске.
Что для пользователя означает поддержка формата H.264 в камере?
Поскольку H.264 оптимизирован для видео высокого разрешения (например, с количеством строк 720 или 1080), некоторые функции камер, не поддерживающих H.264, больше недоступны с таким высоким разрешением.
Вот список функций, не поддерживаемых при разрешении 720p и 1080p:
Панорамирование, масштабирование и изменение угла съемки
Слежение за лицом
Примечание. Эти функции по-прежнему можно использовать (только для видеозаписей), если выбрать более низкое разрешение видео вместо 720p или 1080p.
Особенности стандарта сжатия видеоданных H.264
Преимущества H.264
По сравнению с MPEG2 (DVD-Video) и MPEG4 ASP (DivX, XviD), сжатие H.264 работает существенно более эффективно, обеспечивая лучшее качество изображения (вплоть до недостижимого для MPEG2 и MPEG4 ASP уровня) и меньший объём файла.
Недостатки H.264
Главным недостатком H.264 являются заметно более высокие требования к оборудованию для кодирования и воспроизведения видеофайлов.
Например, на компьютере на основе процессора Intel Pentium 4 с частотой 3,2 ГГц комфортно (плавно, без рывков) при использовании декодера ffdshow tryouts под Windows Vista воспроизводится лишь видео в «среднем» HD-разрешении — 1280x720. Так называемое Full-HD-видео (1920x1080) в зависимости от сложности сцен может уже заметно «притормаживать». Следует заметить, впрочем, что в Windows предыдущего поколения — XP — Full-HD-видео на том же оборудовании во многих случаях воспроизводится вполне плавно.
Эффективность использования ресурсов компьютера при воспроизведении в некоторой степени зависит от используемого декодера.
Декодеры H.264
ffdshow tryouts
Популярный бесплатный декодер множества форматов сжатия видео и звука, в том числе H.264.
CoreAVC
Платный кодек, считается наименее ресурсоёмким из существующих в настоящее время кодеков. Начиная с версии 1.9.5 поддерживает декодирование с использованием аппаратных возможностей видеокарт nVidia посредством интерфейса CUDA. Современные версии поддерживают также использование аппаратных мощностей видеокарт ATI (AMD) и Intel с помощью интерфейса DXVA.
Поддержка H.264
H.264 принят в качестве стандарта для сжатия видео высокой чёткости (HD, HDTV), распространяемого на оптических носителях нового поколения — Blu-ray и HD DVD, используется в мобильных устройствах, поддерживается в Apple QuickTime, получает распространение в системах цифрового телевещания, видеоконференцсвязи, видеонаблюдения и проч. Adobe Flash Player, являющийся стандартом де-факто для мультимедийных web-приложений и онлайн-видеохостингов вроде YouTube, поддерживает прямое воспроизведение H.264-видео начиная с версии 9.0.115, вышедшей в конце 2007 г.
Стандарты, форматы, кодеки, контейнеры
Кодек и стандарт — не одно и то же. Стандарт — это спецификация (описание) алгоритма сжатия (например, H.264), кодек — конкретная его программная реализация (например, x264).
Не следует также путать формат данных и формат контейнера, в котором эти данные могут храниться. Одни и те же данные (например, сжатые по алгоритму H.264 кодером x264) могут быть упакованы в разные контейнеры (например, Matroska, MP4 или AVI). И наоборот, в контейнере одного и того же формата (например, MKV) не обязаны находиться видеоданные в формате H.264 — можно легко столкнуться с MKV-файлом, внутри которого будет обычное DivX-видео.
Форматы контейнеров данных
Существует несколько распространённых форматов контейнеров, основные из них — MP4, Matroska (MKV) и AVI.
MP4
Официальный стандарт контейнера для видео H.264. Главный недостаток MP4 состоит в том, что, по спецификации, такой файл может содержать звук только в формате AAC. Это приводит к вынужденным потерям качества звука, например, при создании резервных копий DVD-фильмов из-за необходимости перекодирования из одного формата сжатия с потерями (AC3, Dolby Digital) в другой (AAC). Чисто технически в контейнер MP4 можно поместить поток любого формата, но возможность воспроизведения такого файла в любом плеере не будет гарантированной.
Matroska (Матрёшка, MKV)
Открытый формат контейнера, официально не принят какой-либо организацией по стандартизации, но является чрезвычайно гибким, а потому широко используется и поддерживается как программными, так и аппаратными плеерами известных производителей: как выполненными в виде самостоятельных устройств — например, WD TV Live, так и встроенными в современные телевизоры. В отличие от MP4, контейнер Matroska может содержать звук в любом формате — например, AC3, являющемся стандартным для DVD-Video. Это даёт возможность, создавая, например, резервную копию DVD-фильма, закодировать видео в H.264, но звук при этом оставить в исходном формате AC3, исключив потери качества звука, связанные с перекодированием.
AVI
В контейнере AVI обычно представлено видео в популярных форматах DivX и XviD (MPEG4 ASP). Для хранения данных, закодированных по стандарту H.264, контейнер AVI формально не предназначен и потому для этих целей обычно не используется, а в редких случаях такого, некорректного, его применения возможность воспроизведения соответствующих файлов не гарантируется.
Воспроизведение H.264-видеофайлов
Для воспроизведения видеофайлов формата H.264 есть несколько возможностей.
В современных телевизорах (выпущенных в 2011—2012 годах и позднее) можно использовать аппаратный плеер, встроенный непосредственно в телевизор. К сожалению, обычно такие плееры не поддерживают воспроизведение звуковых дорожек в формате DTS, а поддерживают только форматы AC3 и AAC, но в остальном обычно без проблем воспроизводят большинство видеофайлов.
Современный автономный аппаратный плеер, подключаемый к телевизору по интерфейсу HDMI — например, WD TV Live. Важно, чтобы модель была современной — старые модели плееров — например, iconBIT HD375W — при формально привлекательных характеристиках были способны воспроизвести лишь некоторые видеофайлы, при воспроизведении остальных страдая от рассинхронизации видео и звука, артефактов изображения и зависаний. Как и в случае встроенных в телевизоры плееров, поддержка формата DTS тоже характерна не для всех автономных плееров.
Воспроизведение видео программными средствами на компьютере — наиболее гибкий и универсальный способ, обеспечивающий максимальную совместимость с подавляющим большинством видеофайлов. Именно этот способ применяется в так называемых HTPC — компьютерах, используемых в качестве основы для организации домашнего кинотеатра. В качестве HTPC могут использоваться, в частности, маломощные компактные компьютеры, называемые неттопами и снабжённые HDMI-выходом для подключения к телевизору — например, построенные на платформе nVidia ION / ION 2, графическое ядро которой позволяет плавно воспроизводить H.264-видео высокой чёткости (Full HD, 1080p) при использовании плееров или декодеров, поддерживающих программные интерфейсы (API) CUDA или DXVA.
Воспроизведение видео на компьютере возможно следующими способами (все указанные программные продукты бесплатны):
с помощью одного из плееров со встроенными декодерами множества популярных форматов, в том числе H.264:
с помощью любого плеера, поддерживающего DirectShow-фильтры (например, Windows Media Player, обычно встроенного в Windows), предварительно установив необходимые декодеры:
ffdshow tryouts — универсальный декодер видео и звука с поддержкой H.264, AC3, DTS и других форматов;