Видеоформаты и видеостандарты   к мультимедиа технологиям   высокоуровн. языки - 3GL   визуальные среды - 4GL   технологии программирования

Видеоформаты и видеостандарты

Цифровой формат для сжатия видео 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 есть несколько возможностей.

Воспроизведение видео на компьютере возможно следующими способами (все указанные программные продукты бесплатны):