Аудио видео контейнеры

Формат контейнера видеозаписи

Видеозапись состоит из видеоряда, звуковой дорожки (или нескольких), субтитров (возможно, нескольких), текстовых комментариев к ней и т. д. Файл, в который сохраняется видеозапись, имеет специальный формат. Помимо собственно видеоряда и звуковой дорожки он должен содержать некоторую служебную информацию: какой формат применён для сжатия видео и звука, так называемый индекс (index, блок данных, который содержит адреса расположения конкретных участков записи — он используется во время перемотки), текстовые описатели (тэги, tags — название записи, автор, информация об авторских правах и прочее). Формат такого файла называют контейнером (container). Процесс объединения набора файлов видеозаписи в один называется mux (сокращение от «multiplex», не путайте с mix — микширование), процесс выделения компонентов записи в отдельный файл — demux (demultiplex). Ниже будут использовать русские термины внедрение (сведение) и извлечение.


AVI

AVI (Audio Video Interleave)- является самым распостраненным форматом контейнера и начал разрабатыватся Microsoft еще во время Windows 3.1. по причине своего немалого возраста формату AVI Присущи многие ограничения, например, размер фаила неможет превышать 2Гб. Кроме того, для этого контейнера характерна слабая устойчивость к ошибкам, что приводит к нарушениям при воспроизведении. Среди других недостатков- отсутствие навигационных меню, нет поддержки многих аудио потоков.

Традиционный контейнер для видеозаписей — это AVI (Audio and Video Interleaved). Любая версия Windows содержит специальный модуль (splitter или demultiplexer), который обеспечивает чтение файлов этого формата. Контейнер AVI имеет целый ряд ограничений: невозможно использовать звуковую дорожку в формате OGG Vorbis, не все программы поддерживают отображение внедрённых в AVI субтитров. Некоторые аппаратные проигрыватели не поддерживает переменный поток данных у звуковых дорожек (VBR, variable bitrate).

Поскольку контейнер AVI — стандартный контейнер для видеозаписей в системе Windows, его поддерживают все программы, которые работают с видео. Расширенные возможности по работе с AVI, как то внедрение субтитров, множества звуковых дорожек, использование VBR звука, поддерживает VirtualDubMod и AVIMux_GUI (последний даже поддерживает формат сжатия звука AAC). Предпочтительно использовать для видеозаписей именно этот контейнер, в силу его универсальности и совместимости.

Ogg (OGM)

OGM (OggMedia)- это новый формат, который предлагает все функции, присущие современному формату мультимедиа, потоковость (Streming) и механизмы исправления ошибок здесь являются стандартными. Однако OGM использует формат сжатия звука OggVorbis, который при равной скорости передачи данных в битах звучит лучше, чем MP3, но напринимается контейнерами AVI. Ориентация только на форматы OggVorbis (Audio) и OggTheora (Video) является принципиальным недостатком данного формата.

Серьёзный конкурент AVI — Ogg или OGM (Ogg Media Format). В рамках проекта Ogg разработан формат файла–контейнера и ряд форматов сжатия звука: Vorbis, FLAC и другие. Изначально этот контейнер планировалось использовать только для звуковой информации, но оказалось, что в него можно внедрить и видео данные. Для воспроизведения таких видеозаписей Tobias Waldvogel разработал DirectShow splitter для контейнера Ogg — с этого и началось его повсеместное распространение. Чтобы отличать видео файлы от звуковых, видео файлы начали называть OGM (хотя формально они используют тот же контейнер Ogg, что и звуковые файлы). Этот контейнер поддерживает субтитры, VBR звук и, конечно, звуковую дорожку в формате Ogg Vorbis. «Накладные расходы» контейнера OGM (блок index и прочая служебная информация) занимают больше места, чем в AVI.

Возможность интегрировать субтитры внутрь файла с видеозаписью была впервые реализована именно в программах для работы с контейнером OGM, что послужило причиной широкого распространения этого контейнера для видеозаписей. Сегодня множество записей (иногда даже с mp3 звуковой дорожкой) упаковываются в OGM. Однако, контейнер Ogg разрабатывался как контейнер для потокового вещания через интернет (streaming), потому он не вполне подходит для хранения записей: например, иногда не работает перемотка записи назад.

Для работы с этим форматом сжатия звука и контейнером необходимы: DirectShow декодер Ogg, OGM splitter, OGM mux утилита (VirtualDubMod также поддерживает этот контейнер). Учтите, что декодер и splitter нужены также и для воспроизведения OGM файлов.

Матрёшка

MKV (Matroska) – название нового контейнера образовалось при упрощении слова Matryoshka, то есть”матрешка”. С мая прошлого года формат Matroska AV развивается как проект Open Source, кто угодно может использовать код, пока он выполняет требования лицензии GPL. Несмотря на молодость возраста, данный контейнер превышает по своим возможностям форматы AVI и OGM. Благодаря XML-структуре файла Matroska легче адаптировать к новым задачамю среди особенностей данного формата- видео с переменной частотой кадров, легкая расширяемость, мультиплатформенность, любое количество аудио потоков, даже сжатых другими кодеками и с разными параметрами, навигационные меню, аналогичные маню на DVD. Matroska один из наиболее перспективных контейнеров, но пока нельзя сказать займет ли он доминирующую позицию, ведь он все еще мола популярен.

Ещё одна альтернатива — контейнер Матрёшка (по–английски его называют Matroska). Это проект с открытыми исходными кодами. Он содержит несколько уникальных возможностей, например субтитры в Матрёшке всегда хранятся в универсальной кодировке Юникод, что позволяет избежать проблем с кодировкой текста субтитров. Этот формат разрабатывался специально для хранения аудио и видеозаписей. Он основан на стандарте XML и обеспечивает двустороннюю совместимость: ваша запись может быть воспроизведена любым проигрывателем при помощи любого декодера (splitter’а) этого формата. «Накладные расходы» контейнера Матрёшка (блок index и прочая служебная информация) заметно меньше, чем в AVI. Если вы согласны использовать для своих записей нестандартный контейнер (не AVI), то Матрёшка — однозначно лучше Ogg.

Для работы с этим форматом также нужен комплект из Matroska splitter и утилиты для Matroska mux — они же нужны и для воспроизведения таких файлов. VirtualDubMod и AVIMux_GUI также поддерживают этот контейнер. За подробностями рекомендую обратиться к русскому переводу Matroska FAQ.

MPEG-4 (MP4)

Формат контейнера, разработанный группой MPEG. Предусматривает не только хранение аудио и видео, а ещё и анимированного/интерактивного содержимого (так же известного как BIFS). Не вдаваясь в технические детали, стандарт MPEG-4 системы определяет широкий ряд мощных инструментов, которые делают возможными различные виды анимации (не только схожие с flash анимацией, но и подобные тем, что были использованы в фильмах «Toy Story» и «Finding Nemo») или интерактивность (например, DVD меню и интерактивные потоковые меню). Всё это может быть сделано в 2D и 3D. Образцы того, что могут предложить MPEG-4 системы, могут быть найдены здесь. Для воспроизведения системных файлов, содержащих интерактирное содержимое, Вам понадобится специальный проигрыватель. Самые популярные для 2D систем: GPAC´s Osmo4 (скачать) и EnvivioTV (скачать). Для 3D систем посмотрите здесь. Однако все они пока находится в стадии разработки и не особенно пригодны для широкого использования. Для проигрывания mp4 файлов, содержащих лишь аудио и видео потоки, можно воспользоваться почти любым медиапроигрывателем. Однако, для проигрывания mp4 файлов необходимо установить в систему mp4-сплиттер. Он, также как и Mpeg4 видео декодер для mp4, входит в состав пакета Nero версий 6.6 и выше. Поэтому, если Nero установлен на Вашей машине, Вы вполне можете смотреть видео в mp4.
Звуковая дорожка в MP4 может быть моно, стерео и многоканальной, аналогично используемым в DVD. Поддерживаются форматы звука: MP3, Ogg Vorbis, WMA, AAC, VQF, AC3 и другие.

Windows Media, RealMedia, QuickTime, MP4 и другие

Microsoft продвигает контейнер для видеозаписей собственной разработки — Windows Media. В этом контейнере могут использоваться только форматы сжатия Windows Media разных версий: WMA (Audio), WMV и MS MPEG–4 (Video). Работать с этим контейнером может Microsoft Windows Movie Maker. Сохранять видео в этот контейнер также может iuVCR. Формат этого контейнера закрытый, потому VirtualDub и многие другие программы не в состоянии его читать. Также пока не существует аппаратных проигрывателей, способных воспроизводить видеозаписи в WMV — на момент написания статьи только появилась информация о планах выпуска таких устройств. По описанным выше причинам формат этот не очень популярен.

В определённых приложениях распространены контейнеры MPEG для MPEG–1 и –2 потоков (они используются для записи Video CD, SVCD и DVD, последние стали промышленным стандартом для записи домашнего видео). Контейнер RealMedia используется для хранения записей в формате RealVideo и RealAudio, потому он также мало распространён (как и Windows Media — это закрытый формат). Контейнер Apple Quicktime используется в первую очередь на компьютерной платформе Apple. Контейнер не плох и универсален, но поддержка его на платформе Windows очень ограничена, формат — закрытый, потому — не популярный.

В стандарте MPEG–4 также есть описание контейнера — MP4. Его сейчас редко используют, но судя по всему завтра, с выходом стабильных MPEG–4 AVC (H.264) видео кодеров, именно этот контейнер станет новым стандартом. Уже сегодня некоторые программы — например 3ivX и Nero Digital — обеспечивают поддержку этого контейнера. Основным форматом сжатия звука для этого контейнера является MPEG–4 AAC.

DivX Networks, разработчик совместимого с MPEG–4 формата сжатия DivX, обещают в середине 2005 года выпустить новую версию: DivX Q, которая будет включать в себя не только сжатие видео, но и формат для сжатия звука и формат контейнера (подробнее см. интервью).


2008 © Computer repair