Контейнеры (продолжение)

Как показывает практика, вокруг MPEG-4 и DivX всегда образуется много путаницы. Наиболее часто встречающееся заблуждение — Avi, DivX и MPEG-4 — это одно и то же.
AVI и MKV — это контейнеры (форматы файлов), или другими словами хранилище и упаковка данных. В то время как DivX или XviD — это кодеки, то есть способы и реализация шифрования для записи видеоданных в файл, и расшифровки информации, соответственно, для воспроизведения уже записанных файлов. MPEG в свою очередь описывает и кодеки и способы хранения.
Контейнер позволяет объединять различные мультимедийные потоки (в большинстве случаев аудио и видео) в один файл. Примеры известных мультимедийных контейнеров: AVI (.avi), MPEG (.mpg, .mpeg), OGM (.ogm), MP4 (.mp4), Realmedia (.rm, .rmvb), Matroska (.mkv).



  • Контейнер Audio Video Interleave (AVI)
    Во времена широкого распространения Windows 3.1x компанией Microsoft был создан контейнер AVI для хранения синхронных аудио-видео данных. AVI — это аббревиатура от Audio Video Interleave (чередование аудио и видео). AVI является формат-контейнером, который может содержать видео/аудио данные, сжатые с использованием разных комбинаций кодеков. Так, если файлы MP3 и JPG получены с использованием только одного вида компрессии данных (MPEG Audio Layer 3 и JPEG), то AVI-файл может содержать различные виды компрессированных данных (например, DivX для видео и MP3 для аудио). Все AVI файлы выглядят одинаково «снаружи» (имеют расширение .AVI), но «внутри» они могут существенно отличаться. С момента создания AVI прошло много времени, и сегодня это наиболее общеизвестный формат для представления видео. Все програмные плееры умеют с ним работать. И если не предъявлять к нему жестких требований, он и сейчас еще справляется со своими функциями. Однако он не поддерживает VBR аудио-потоки (т.е. с переменным битрейтом, дающим лучшее качество). Переменный битрейт MP3 несколько лет назад удалось втиснуть в AVI с некоторыми ухищрениями (требуется избыточное место для синхронизации, плюс иногда возникают проблемы), однако звук в формате Ogg Vorbis он не поддерживает.
    С контейнепом AVI могут работать все Windows-программы для кодирования.
  • Контейнер Ogg Media Streams (OGM)
    Является частью проекта Ogg по созданию полностью открытой системы мультимедиа. Позволяет разместить любой видео поток (например, зажатый кодеком DivX или XviD), и звук в формате Ogg Vorbis. Также OGM может содержать и MP3 трэки.
    У контейнера OGM есть 2 основных преимущества по отношению к стандартному AVI:
    • Первое - это перемотка. Она стала мгновенной. Не нужно больше ждать, глядя на черный экран, пока снова не начнется проигрывание видео, или наблюдать убыстренное видео, пытающееся синхронизироваться с аудио потоком.
    • Второе - меньшие потери мультиплексирования. Например, для двухчасового фильма с аудио дорожкой VBR MP3, контейнер AVI требует ~6,7Mb на синхронизацию аудио и видео. При использовании контейнера OGM эти потери составят ~2,4Mb. Это означает, что более 4Mb пойдет на увеличение битрейта видеопотока. И, что интересно, при добавлении второго аудиотрэка в формате Ogg, дополнительные потери на микширование составят 0Kb.
    Также среди достоинств формата - встроенная коррекция ошибок, что дает возможность без особого риска записывать видео в этом формате на CD, используя Mode 2 (в этом режиме на стандартную 700Мб болванку влезает 795Мб). (m2cdmgui doom9.org).
    В контейнер OGM может упаковывать, например, VirtualDubMod.
  • Контейнер Matroska (MKV)
     Проект Matroska (Матрёшка) - это открытый формат контейнера, стремящийся предложить множество передовых возможностей, с которыми такие старые форматы как AVI не могут справиться. Например, Matroska поддерживает хранение аудио содержимого с переменным битрейтом (Variable Bitrate - VBR), переменную частоту смены кадров (Variable Framerate - VFR), субтитры, главы, прикрепление файлов, обнаружение ошибок (EDC) и современные аудио-видео кодеки, такие как "Advanced Audio Coding" (AAC), "Ogg Vorbis" или "Realvideo 9/10" (RV9/10), которые AVI не поддерживает.
    Файлы matroska имеют следующие расширения:
    • .mkv: как правило, видео файлы (с аудио или без);
    • .mka: только аудио файлы, может содержать любой из поддерживаемых аудио форматов, такие как MP2, MP3, Vorbis, AAC, AC3, DTS...;
    • .mks: так называемые «элементарные» matroska потоки, содержащие потоки субтитров в форматах SRT, SSA, ASS и Vobsub.
    Для проигрывания файлов, упакованных в Матрёшку, необходимо установить в систему Matroska Splitter - фильтр, который делит содержимое контейнера на потоки (аудио, видео, субтитры) во время воспроизведения.
    Для упаковки видео в контейнер MKV можно использовать:
    • VirtualDubMod
    • MkvToolnix
    • Avi-Mux GUI

  • Контейнер 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 и другие.


    Файлы mp4 имеют следующие расширения:

    • .mp4: единственное официальное расширение, как для аудио, так и видео файлов (а также интерактивного содержимого).
    • .m4a: предложено Apple для аудиофайлов, закодированных кодеками aac/alac. Может быть без проблем переименован в .mp4.
    Также встречаются:
    • .m4p: файлы, имеющие DRM защиту, разработанную Apple, и продаваемые через сервис iTunes.
    • .m4e: переименованные .sdp файлы, используемые Envivio для потокового воспроизведения.
    • .m4v, .mp4v, .cmp, .divx, .xvid: так называемые raw файлы, содержащие видео, не находящееся ни в каком контейнере.
    • .3gp, .3g2: используются в мобильных телефонах, могут содержать контент, не декларированный для mp4.

    Для упаковки медиапотоков в контейнер mp4 можно воспользоваться программами:
    • MP4Box (рекомендуется использовать GUI Yamb)
    • MPEG4ip
    Для кодирования видео в контейнер mp4 можно воспользоваться программами: