Контейнеры. Форматы данных - Структура файлов - Контейнеры

06.06.2019

Как показывает практика, вокруг 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 систем:GPACs 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 можно воспользоваться программами:
    • Nero Recode 2
    • MeGUI.
  • Технология BitLocker позволяет шифровать целиком диски и разделы, но вы также можете создавать зашифрованные контейнеры для хранения важных данных и их защиты от несанкционированного доступа, причем сделать это можно исключительно с помощью инструментов, встроенных в Windows. Такие зашифрованные контейнеры можно легко перемещать между системами, делать их резервные копии и скрывать.

    В этой статье вы узнаете, как создать зашифрованный контейнер на компьютере с Windows. Но имейте в виду, что ваш ПК должен работать под управлением профессиональной или корпоративной версии Windows, поскольку функции BitLocker доступны только в этих редакциях операционной системы.

    Создание виртуального жесткого диска

    В первую очередь требуется создать файл виртуального жесткого диска (virtual hard drive, VHD-файл) – его также можно называть образом диска. Этот файл хранится на физическом диске, и он может быть использован в качестве виртуального диска. Например, VHD-файл на 2 Гб будет занимать 2 Гб места на физическом жестком диске, при этом Windows будет его видеть как отдельный диск объемом на 2 Гб.

    Родной инструмент в Windows «Управление дисками» предоставляет все необходимые средства для создания и работы с VHD-файлами. Получить доступ к этому инструменту быстро и просто с помощью диалога «Выполнить». Нажмите клавишу с логотипом Windows + R, введите команду diskmgmt.msc и нажмите Enter. В Windows 8 и 8.1 есть еще более удобный способ: в левом нижнем углу экрана щелкните правой кнопкой мыши (или нажмите Windows + X на клавиатуре) и выберите пункт «Управление дисками».

    В окне «Управление дисками» выберите «Действие >> Создать виртуальный жесткий диск».

    Укажите желаемый размер и расположение VHD-файла. Файл будет храниться в выбранном вами месте, и его размер будет именно таким, какой вы укажете в этом окне. В качестве типа виртуального жесткого диска вы можете выбрать «Фиксированный размер», как и рекомендуется. После указания всех параметров нажмите «OK».

    VHD появится в виде еще одного диска в окне «Управления дисками» – щелкните на нем правой кнопкой мыши и выберите «Инициализировать диск».

    Выберите опцию «Таблица с GUID разделов (GPT – GUID Partition Table)», если вы используете Windows 8 или 8.1. Это новый тип схемы разделов, и он более надежен, так как хранит несколько копий таблицы разделов на диске.

    Если вы используете Windows 7, или хотите иметь возможность подключать и располагать доступом к VHD-файлу на системах с Windows 7, выберите «Основная загрузочная запись (MBR – Master Boot Record)».

    Теперь нужно создать раздел на VHD. Щелкните правой кнопкой мыши там, где написано «Не распределена» и выберите «Создать простой том».

    Далее пройдите через шаги мастера создания простого тома, чтобы создать раздел с файловой системой NTFS. Все параметры вы можете оставить по умолчанию. Единственное, вы можете изменить метку тома: например, присвойте вашему диску имя «Зашифрованный VHD».

    Шифрование виртуального жесткого диска с помощью BitLocker

    Созданный VHD-файл появится в проводнике в виде обыкновенного диска. Щелкните на нем правой кнопкой мыши и выберите «Включить BitLocker».

    BitLocker сразу же зашифрует диск, без перезагрузки системы. Это почти мгновенный процесс, если диск пустой. Файлы, хранящиеся на диске, будут зашифрованы и будут храниться внутри VHD.

    Блокировка и отключение образа диска

    Когда вы закончите с шифрованием, вы можете щелкнуть на диске правой кнопкой мыши и выбрать «Извлечь» для блокировки раздела и отключения VHD-файла на вашем компьютере. Так вы удалите виртуальный диск из списка дисков в папке «Мой компьютер» и окне «Управление дисками».

    Чтобы получить доступ к зашифрованному VHD-файлу в будущем, откройте инструмент «Управление дисками» и выберите «Действие >> Присоединить виртуальный жесткий диск». Затем проследуйте к месту хранения VHD-файла на вашем компьютере и присоедините его к системе.

    После повторного присоединения зашифрованного диска, вам потребуется ввести ваш пароль, чтобы разблокировать его. Также пароль требуется вводить и после перезагрузки компьютера.

    VHD-файл можно легко скопировать и перенести на другую систему. Для этого скопируйте и присоедините VHD-файл к другой системе с Windows Professional или Enterprise, а затем разблокируйте его паролем, чтобы получить доступ к зашифрованным файлам. Однако перед копированием VHD-файла не забывайте извлекать виртуальный диск, чтобы в итоге не получить поврежденный файл.

    Отличного Вам дня!


    Видеозапись состоит из видео ряда, звуковой дорожки (или нескольких), субтитров (возможно, нескольких), текстовых комментариев к ней и т. д. Файл, в который сохраняется видеозапись, имеет специальный формат. Помимо собственно видео ряда и звуковой дорожки он должен содержать некоторую служебную информацию: какой формат применён для сжатия видео и звука, так называемый индекс (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, которая будет включать в себя не только сжатие видео, но и формат для сжатия звука и формат контейнера (подробнее см. интервью). Функциональные возможности видео контейнеров Форматы контейнеров Audio Video Interleave AVI OggMedia(OGM) Matroska(MKV) Поддерживаемые видеоформаты Все установленные кодеки. Кроме MPEG Поддерживаемые аудиоформаты WAV, MP3, AC3, WMA, OGG OGG , WAV, MP3, AC3, AAC AC3, AAC, OGG, WAV, MPEG ½ Layer I-III Большое количество аудиотреков * * * субтитры * * * Поддержка разделов - * * Максимальный размер файлов 2Гб произвольный произвольный Исправление ошибок - * * Поток(Streaming) - * * Доп. DirectShow- филтьр для воспроизведения Имеющийся в Windows DirectShow Ogg Vobris filter colection Mkxds-v0.5.0 особености Очень распространен, высокая совместимость с популярным АО и ПО Специализируется на аудиоформатах Ogg Высокая гибкость и расширяемость благодаря структуре данных XML

    Контейнерами в объектно-ориентированных языках программирования называются специальные структуры, внутри которых единообразным способом могут быть представлены различные типы данных. Хорошим примером использования контейнеров может служить язык разметки HTML, в котором каждая страничка, по сути, есть один большой контейнер, начинающийся с тега и заканчивающийся тегом . В него могут быть вложены контейнеры заголовка (..), тела документа (..) и т. д.

    История контейнеров - мифы и рифы

    В 1985 году знаменитая фирма-производитель видеоигрушек Electronic Arts совместно с фирмой Commodore, выпустившей прославленный игровой компьютер Amiga, специально для этой платформы разработали стандарт - Interchange File Format, формат файлов обмена, IFF. Это был первый медиаконтейнер, который мог содержать звук, графику, анимацию, текст и т. п. (о видео тогда, видимо, речь еще не шла). Структура файлов в этом стандарте предполагала разбиение их на блоки (названные создателями chunks - ломти), каждый из которых состоял из заголовка и собственно данных. Заголовок определял, как следует интерпретировать данные: не давал алгоритма их обработки, про который предполагалось, что он уже имеется где-то в системе, а лишь указывал, какой из алгоритмов следует в данном случае использовать и в какой конкретной его интерпретации.

    Идеология построения контейнеров из таких кирпичиков с легкой руки создателей IFF стала потом общепринятой. На основе канонического IFF созданы такие известные форматы, как Microsoft Word, MIDI, DjVu или PNG. Созвучный по названию растровый формат TIFF также заимствовал общий принцип, хотя от канонического IFF отличается. Наиболее известен вариант IFF под названием RIFF (Resource Interchange File Format), который стал базовым для представления потоковых медиаданных - среди наиболее популярных RIFF-контейнеров AVI и WAV. Канонический RIFF имеет ограничение по размеру файла в 2 Гбайта (из-за того, что для указания позиции в файле используется 32-битное число со знаком, которое и дает максимальное положительное значение 2 147 483 648 байт), чего в принципе хватает для большинства нужд, кроме видео. Для поддержки видеофайлов большого размера формат AVI был расширен до AVI-DV, но, как утверждает «Википедия», это уже не совсем RIFF.

    Понятие «контейнер» стало употребляться и применительно к форматам хранения разнородных данных в едином файле. Существенный признак контейнера - то, что формат хранения данных внутри него не задается строго определенным и единственным образом. Например, растровый формат TIFF - контейнер, в котором собственно картинка (или картинки - например, отдельные слои одного изображения) может храниться в виде несжатого двоичного массива пикселей, сжиматься различными алгоритмами (включая JPEG в нескольких вариантах), быть представлена в различных моделях цветности, сопровождаться различными служебными слоями (сохраняющими полупрозрачную маску или контур обтравки) и т. д. Типичные контейнеры - это форматы DOC (Microsoft Word), PDF, RTF, DjVu и другие разновидности представления тексто-графической информации, где в одном файле может сохраняться текст с элементами форматирования, таблицы, графика (как векторная, так и растровая) или другие виды информации (тот же звук). Однако, если вам встретился этот термин без дополнительных пояснений, то скорее всего имеются в виду так называемые медиаконтейнеры для представления видео- и аудиоданных. К самым известным медиаконтейнерам относятся MP4 (не путать с форматом сжатия видеоинформации MPEG-4), QuickTime, OGG, Flash (да-да, тот самый, который раньше Macromedia, а ныне Adobe Flash), AVI. Для чистого аудио наиболее известен контейнер WAV.

    Подчеркнем, что форматы хранения или сжатия данных (MP3 или AAC для звука, как и MPEG-1/2/4 или, к примеру, кодек H.264 для видео) - это еще не контейнеры. Так, и QuickTime, и AVI одинаково могут использовать любой из перечисленных форматов хранения данных в своем составе.

    Давайте на примере популярных потоковых форматов AVI и WAV рассмотрим поподробнее медиаконтейнеры, а также коснемся текстовых контейнеров.

    Audio Video Interleave - AVI

    Формат AVI можно представить как чередование видео и аудио. Мы познакомились с ним, когда Microsoft в ноябре 1992 года впервые выпустила пакет Video for Windows. С тех пор AVI стал базовым для хранения видео в Windows.

    AVI (вместе с QuickTime Apple и развиваемой «опенсорсниками» системой Matroska) относится к числу наиболее универсальных контейнеров: в нем может встречаться почти любое сочетание форматов хранения видео и аудио. В этом его отличие от таких более специализированных контейнеров, как, например, MP4 (предназначенного для представления видео в MPEG-4 в сочетании с различными форматами звука). В этом же объяснение его долголетия и одновременно его недостаток - не все устройства воспроизведения одинаково хорошо «разбираются» в вариантах AVI.

    Простые аудио- и видеопотоки могут содержаться в AVI-файле без какого-либо сжатия, и такой формат до сих пор используется для небольших (менее минуты) клипов с невысоким разрешением. Для полноформатных AVI-видеороликов в настоящее время особой популярностью пользуется такая пара: DivX (для видео) и WMA (для аудио). Информация о кодеке может содержаться в AVI-файле, и при открытом доступе в Интернет последние версии Windows Media Player умеют сами обращаться на сайт Microsoft и скачивать (при его наличии там) необходимый кодек. В частности, по этой причине воспроизведение разноформатного видео программными плеерами в компьютерах обычно доставляет меньше хлопот, чем запуск роликов через «железные» плееры, в которых нужного кодека может попросту не оказаться.

    В первых байтах AVI-файла всегда содержится информация о контейнере: «RIFF <размер области данных> AVI». После них должно идти как минимум два блока, начинающихся со слова LIST: блок заголовка ‘hdrl’ и блок данных ‘movi’. В заголовке хранятся данные, определяющие форматы потоков, располагающихся в области ‘movi’.

    Канонический AVI был заточен под хранение видео в отдельных кадрах, к каждому из которых полагалось свое звуковое сопровождение. Такой кадр мог храниться в виде обычного несжатого изображения в формате BMP, а звук - также несжатого WAV. Конечно, кроме BMP, предусмотрено и хранение со сжатием (если использовался JPEG, то такая последовательность кадров образует формат Motion JPEG). Но применение форматов сжатия MPEG, где на отдельные кадры картинка не разбивается, заставило отойти от этой простой схемы.

    Заметим, что фотокамеры, способные работать в режиме съемки видео, часто используют нестандартные контейнеры, потому снятые ролики приходится перекодировать с помощью различных программ. Так, некоторые DVD-проигрыватели воспроизводят видео в MPEG-4 только в контейнере AVI и «не понимают» контейнеры MP4, применяющиеся, например, в некоторых камерах Olympus, Sanyo или Sony. Есть и другие случаи несовместимости. Для перекодировки в «нормальный» формат годится любая «продвинутая» программа видеомонтажа (например Ulead VideoStudio), есть и специализированные бесплатные программы, такие, как MP4Cam2AVI или Avi2DVD.

    Waveform Audio File Format - WAV

    В отличие от AVI, формат «волновых колебаний» предназначен только для аудио. Для него первоначально подразумевалось, что звук записывается несжатым, но были предусмотрены и различные звуковые форматы со сжатием.

    Самые первые байты в файле WAV, аналогично AVI, - это идентификатор формата «RIFF <размер области данных> WAVEfmt». Так же, как и в случае других контейнеров, опознавание происходит именно по этим байтам, потому расширение имени файла может быть любым: у меня на компьютере хранятся файлы с записями песен Высоцкого с расширением mp3, и, что самое интересное, по сути таковыми и являются. Но зачем-то авторам записей понадобилось обычный MP3 еще упаковать в контейнер WAV, так что плееры не обманываются, правильно идентифицируя эти файлы как WAV, хранящий звук в сжатом формате MP3.

    В простейшем случае после идентификационного заголовка в WAV-файле указывается размер и формат данных (на что отведено 24 байта), в том числе приводится величина битрейта (сколько отсчетов в секунду), количество каналов (моно или стерео) и т. п. Затем следует ключевое слово data, после чего располагаются собственно данные. Если формат - без сжатия, то эти данные могут представлять 8-битный (по байту на каждый отсчет) или 16-битный (по два байта на отсчет) звук. Если число каналов более одного, то отсчеты для каждого располагаются друг за другом, причем первым идет левый канал, вторым - правый. Столь простая структура позволяет использовать WAV-файлы для хранения последовательностей оцифрованного сигнала не только для аудионадобностей, но и других (например научно-технических) целей.

    Разумеется, файлы с таким представлением звука без компрессии получаются «неподъемными» (примитивный диктофон с 8-битным монофоническим звуком и битрейтом 8 тыс. отсчетов в секунду потребует примерно 30 Мбайт дискового пространства на каждый час записи, а нормальный 16-битный стереозвук CD-качества - уже около полугигабайта в час). Потому сколько-нибудь длинные записи в несжатом формате не встречаются: используется вариант с компрессией. В таких более сложных случаях WAV-файлы включают дополнительные заголовки и структуры: в них указывается не только кодек, но и содержатся данные о правах копирования и другая дополнительная информация.

    Теперь остановимся на популярных текстовых файлах-контейнерах, которые кроме текста могут содержать и графическую информацию в различной форме - Microsoft Word и RTF. Стоило бы рассмотреть еще один из самых популярных контейнеров - Adobe PDF (близкий родственник «языка описания страниц» PostScript), но в силу его сложности и громоздкости посвятим этому отдельный рассказ.

    DOC

    Представление текста в RTF

    Собственно текст может непосредственно храниться в RTF, но, начиная с версии формата 1.6 (1999 год), это допускается лишь для латинских символов, цифр и некоторых знаков (пробела, запятой, точки и пр.). При этом находящиеся в тексте знаки перевода строки, как и в HTML, игнорируются, работают лишь управляющие слова \раr (может заменяться последовательностью \10 или \13) и \line. Есть специальные управляющие символы для некоторых специальных знаков (например, знак неразрывного пробела \~ или мягкого переноса \-).

    Знаки, выходящие за пределы 128 символов «канонического» ASCII, должны быть также представлены в форме управляющих последовательностей. Подавляющая часть RTF-файлов использует однобайтовую (\ansi) кодировку с одновременным указанием языка в форме \ansicpgN, где N - кодовая страница (1251 для кириллицы). В одном документе можно мешать языки, объявляя для соответствующего фрагмента каждый раз свою кодовую страницу. В таком представлении каждый знак, например, русского текста предваряется «обратным слэшем», после чего идет управляющий символ в виде прямого апострофа «‘» и код буквы в шестнадцатеричной форме: например, \’c5 означает заглавную русскую «Е».

    Использование двухбайтовой кодировки Unicode предусмотрено в более поздних версиях формата, причем несколькими способами, простейший из которых - после «слэша» идет управляющий символ u, затем десятичный номер символа.

    Форматов Microsoft Word, как известно, существует несколько, причем самым распространенным пока остается Word 97–2003 (с расширением DOC), отличающийся от более старого Word 6.0 в основном тем, что в нем текст представлен в двухбайтовой кодировке Unicode. Файлы в формате DOC начинаются с идентификатора (числовой сигнатуры), которая в шестнадцатеричной форме выглядит, как D0 CF 11 E0. Эта сигнатура представляет собой одно 32-битное число, в обычной десятичной форме выглядящее как 3 759 263 696 (или –535 703 600, если представлять его, как число со знаком). На самом деле она не является эксклюзивным идентификатором для DOC-формата, потому что DOC есть лишь частный случай «составных файлов» (compound file) в рамках технологий OLE/COM/ActiveX, имеющих в принципе одинаковую структуру и читающихся с помощью одних и тех же программных библиотек (файлы Excel также начинаются с этой сигнатуры).

    Файлы, подобные DOC, - это довольно сложное структурированное хранилище, в определенной степени напоминающее структуру каталогов в дисковой файловой системе FAT (даже минимальные размеры блоков данных совпадают с размером дискового сектора и равны обычно 512 байтам). В таком файле имеется корневой каталог («корневое хранилище»), указывающий на то, в каких секторах расположены различные данные и каталоги, описывающие вложенные структуры.

    Описание формата для Word 8 (Word 97) было фирмой Microsoft опубликовано, но за кадром осталось множество недокументированных возможностей (злые языки утверждают, что и в самой Microsoft в них не полностью разбираются). Все последующие дополнения формата открыто не публиковались. Потому большинство работающих с форматом DOC сторонних программ обладает лишь ограниченной совместимостью с оригинальными DOC-файлами.

    Две особенности DOC-формата стали притчей во языцах: это, во-первых, способность содержать в своем составе созданные пользователем программы-макросы, во-вторых, сохранять различные изменения, которым подвергался документ в процессе работы над ним. Первое стало причиной появления макровирусов, способных заражать систему (последнее время, правда, макровирусы несколько «вышли из моды», но беречься от них все равно следует). А вот второе даже не очень понятно зачем сделано - штатных средств прочесть сохраненные изменения, если это специально не задано в процессе редактирования, в Word’е нет, зато извлечь их сторонними программами не составляет особого труда. И это не раз служило источником конфузов для пиар-отделов различных фирм, когда из невинного пресс-релиза досужие журналюги извлекали конфиденциальную информацию.

    Начиная с Word 2003, параллельно с обычным DOC стал вводиться формат, основанный на универсальном языке разметки XML, и в Office 2007 он стал основным. XML - это тоже контейнер, но, в отличие от проприетарного DOC, - открытый. Microsoft даже пыталась сделать свой формат, основанный на XML, стандартом документов в рамках ISO (в чем ей, впрочем, пока отказано).

    RTF

    В отличие от DOC, RTF (Rich Text Format - «расширенный текстовый формат») основан не на каких-то там специальных OLE-структурах, а представляет собой независимый от платформы текстовый документ, подобно HTML размеченный специальными служебными словами-тегами (в терминологии RTF их называют управляющими словами и управляющими символами). В силу отсутствия каких-либо исполняемых кодов, он, в частности, не может нести в себе вирусы. Начинается он всегда с последовательности {\rtf, которая служит его отличительным признаком.

    RTF - это классический контейнер с вложенными друг в друга контейнерами помельче. Каждый такой контейнер обычно начинается с управляющего слова или символа, предваряемого знаком «обратный слэш». Например, последовательность \раr задает начало абзаца, \line - перевод строки (без образования нового абзаца), \deffn - означает, что должен использоваться шрифт по умолчанию и т. д. Управляющие слова либо действуют до следующего знака того же назначения, либо перед ним может идти открывающая фигурная скобка, которой где-то обязательно должна соответствовать закрывающая - так получают область действия управляющего слова, в том числе во вложенных управляющих последовательностях. Например, последовательность «\par {\i Курсив} обычный текст {\b жирный {\i жирный курсив}}.\par» отобразится в отдельном абзаце, как «Курсив обычный текст жирный жирный курсив.» и завершится переводом на начало следующего абзаца.

    В RTF могут внедряться таблицы и картинки, причем в последнем случае RTF-файл будет значительно большего объема, чем идентичный по содержанию DOC. Это происходит потому, что картинка там представлена в виде простого массива чисел без какого-либо сжатия, причем числа даны в текстовом формате, в шестнадцатеричной форме, что увеличивает объем еще ровно вдвое: так, число 10, занимающее один байт в памяти, будет записано, как два символа 0a.

    Описание формата RTF всех версий можно скачать с сайта http://microsoft.com , но из-за всех этих тонкостей и огромного количества управляющих слов, со своей спецификой и вариантами представления, разобраться в RTF-файле «вручную», несмотря на всю кажущуюся логичность его построения, - мука мученическая.

    Напоследок заметим, что в большинстве случаев пользователю, к счастью, не приходится заморачиваться особенностями структуры тех или иных файлов-контейнеров. Соответствующие программы все сделают за вас, но бывают и исключения - часть подобных проблем вы можете найти во врезке.

    Cплиттеры, кодеки и их коды

    Распаковкой файлов-контейнеров занимается программа-сплиттер. Когда она доходит до конкретной реализации аудио- или видеопотока, в дело вступают кодеки - методы представления аудио- или видеопотока в различных форматах. Кодеком также называют не только сам метод кодирования, но и программу-драйвер, которая реализует этот метод. Кодеки не следует путать с собственно форматами сжатия: так, конвертировать аудио в формат MP3 можно с помощью абсолютно разных кодеков. Другой пример - единый стандарт MPEG-4, есть реализация разных возможностей в рамках этого стандарта, например DivX и AVC/H.264 (реализующие MPEG-4 Part 2 и Part 10, соответственно), а есть конкретные кодеки, которые это и делают на практике, но по-разному. Причем если вариантов кодеков DivX встречается лишь несколько, то собственных кодеков H.264 сейчас «не настрогал» только ленивый.

    Как вы поняли из этого примера, различных кодеков, что в принципе делают одно и то же, встречается множество, и разобраться в них часто не под силу даже знатоку. Иногда сжатие может делаться разными кодеками, а вот воспроизводится результат практически любым того же назначения; реже кодеки оказываются несовместимыми и по воспроизведению. Положение усугубляется тем, что производители очень любят давать собственные наименования кодекам, которые по сути ничем не отличаются от более распространенных. Например, DIVX, DVX3, SAN3, XVID - кодеки, которые при воспроизведении файлов MPEG-4/DivX в подавляющем большинстве случаев дадут идентичный результат.

    А вот программа-плеер запросто может «не понять», что от нее хотят. В используемом контейнере всегда указывается так называемый FourCC-код используемого кодека, например, в AVI он находится, начиная с байта номер 188 (BCh в шестнадцатеричной форме) от начала файла. Этот код всегда состоит из четырех знаков, на что указывает его название - Four Character Code (служебные слова в RIFF-контейнерах, такие, как LIST или собственно RIFF, это тоже FourCC-коды). Большинство встречающихся на практике FourCC-кодов для видеокодеков и некоторых других форматов можно найти на сайте http://fourcc.org . Причем для правильного распознавания кодека важен даже используемый регистр букв - так, DIVX и divx, формально говоря, относятся к разным кодекам.

    Если видео в каком-то формате никак не желает воспроизводиться, то положение иногда может спасти универсальный кодек FFDshow, который не только поддерживает форматы DivX/XviD, H.264, WMV, MPEG 1 и 2 и еще кучу других, но и позволяет осуществлять тонкие настройки. Хорошую инструкцию по применению FFDshow можно найти на http://forum.sharereactor.ru/showthread.php?t=62337 . Для тех, кто вообще не желает возиться с кодеками, отличным выбором может также стать «опенсорсный» Media Player Classic, отличающийся строгим «классическим» оформлением (по образцу старинного Windows Media Player 6), работающий в любой Windows, начиная с 95-й, не требующий инсталляции и воспроизводящий без проблем почти любое видео и аудио. Причем использовать такие универсалы предпочтительнее, чем скачивать наборы кодеков, вроде популярного K-Lite Codec Pack, в котором все доступные кодеки попросту свалены в кучу, и никогда точно неизвестно, насколько хорош сделанный вашей программой выбор. К тому же, если появился какой-то новый кодек, то K-Lite Codec Pack приходится опять скачивать и устанавливать целиком.

    Наконец, есть программы, позволяющие попросту подменить название кодека (например, XVID на DIVX или DIVX на divx). К самым популярным из них относится заточенная под контейнер AVI программа FourCC Code Changer. А программа GSpot, скачать которую можно по адресу http://gspot.headbands.com , позволит диагностировать проблему: открыв в ней файл, можно узнать FourCC-код, название кодека и его наличие/отсутствие в системе.

    Сегодня, кажется, все стремятся стать кинематографистами. Люди используют для видеосъемки самые различные гаджеты и девайсы, включая мобильные телефоны, цифровые фотокамеры, портативные и профессиональные видеокамеры. А последнее поколение цифровых зеркальных фотокамер позволяет записывать видео с поддержкой высокого разрешения.

    Чтобы научиться снимать хорошее видео, потребуется приложить определенные усилия, но все становится еще более сложным, когда вы захотите во всей красе продемонстрировать свой шедевр другим людям. Может быть, вам нужно загрузить его на YouTube, может вы собираетесь записать свой Blu-ray или DVD диск, возможно, захотите загрузить видео на мобильный телефон или планшетный компьютер.

    Разобраться в том, какой кодек и контейнер лучше подойдет для создания вашего видеошедевра порой достаточно сложно. Помочь в решении этой проблемы сможет представленный далее материал.

    Какая разница между кодеком и контейнером?

    Начинающие пользователи часто бывают озадачены, когда пытаются выяснить разницу между кодеками и контейнерами. Сейчас слово Кодек стало чем-то общеупотребительным, а изначально термин являлся сокращением от понятия КОмпрессор-ДЕКомпрессор. Что же делают кодеки?

    Они принимают цифровые медиа данные и либо сжимают их (для передачи и хранения), либо распаковывают для просмотра и перекодирования. Каждый кодек использует определенный метод кодирования и декодирования цифровых данных.


    Несжатое (англ. raw означает необработанное или часто говорят « сырое») видео и аудио требует для хранения огромного дискового пространства. Несжатое видео высокой четкости формата 1080i, записываемое со скоростью 50 кадров в секунду, съедает до 410 гигабайт в час. Аудио с CD дисков, довольно устаревшее по современным стандартам, звучит около 74 минут при емкости диска 680 мегабайт. Однако, восьмиканальный звук, кодируемый с 24 битным разрешением, потребует уже 16 мегабит в секунду, или несколько гигабайт в час. Даже возможностей широкополосного соединения с интернет порой не хватит, чтобы послушать музыку в полном аудио разрешении. Вот почему цифровые видео и аудио записи должны быть сжаты для передачи и хранения.

    После того как медиа данные ужаты в разумные пределы, они должны быть упакованы для транспортировки и последующего отображения. Для этого используются форматы-контейнеры, выполняющие роль «черного ящика», наполняемого различными медиа-форматами. Хорошие форматы контейнеров могут вмещать файлы, сжатые разными кодеками.

    Давайте разберемся с типами кодеков.

    Общее понятие о кодеках

    Если вы пообщаетесь с людьми, которые занимаются видеообработкой или посетите соответствующие веб форумы, то будете, так или иначе, причастны к, порой бурным, дебатам о том, какой кодек лучше. В действительности, эффективность любого кодека во многом зависит от используемого режима сжатия и типа обрабатываемых видеоматериалов. Так что стоит рассматривать различные кодеки и с учетом их конкретного использования и особенностей сжимаемого материала. Далее в основном рассматриваются видео кодеки, но в разделе, посвященном контейнерам форматов, упоминается и об использовании аудиокодеков.

    Ввод и архивирование видео

    Большинство устройств современной бытовой электроники получает контент в каком-либо уже сжатом формате. Как правило, только профессиональные видеооператоры работают с несжатым HD видео. Конечно в идеале, если это возможно, при наличии очень емкой системы хранения, видеоархивы нужно хранить в оригинальном формате съемки, потому что при этом обеспечивается максимальное качество. Перекодировка видео из одного типа сжатия в другой может привнести едва различимые искажения, которые могут снизить качество изображения. (Подобные погрешности минимизирует хорошее программное транскодирование.) Сегодня предлагается множество кодеков, с определенной специализацией. С большинством из них обычный пользователь может никогда и не столкнуться. Следующий раздел посвящен кодекам, как системам сжатия/декомпрессии, используемым в составе специального программного обеспечения, которое позволяет кодировать или перекодировать видеофайлы.

    x.264/ MPEG-4 AVC (Advanced Video Coding). Этот наиболее распространенный кодек используется в современных цифровых видео- и фотокамерах, в которых результаты съемки сохраняются в виде файлов на встроенных жестких дисках, картах памяти, и т.д.

    MJPEG (Motion JPEG). Это более старый формат, используемый некоторыми цифровыми камерами и видеотехникой прежнего поколения. Он был разработан теми же специалистами (Joint Picture Experts Group), которые занимались еще ранее разработкой кодека JPEG для сжатия обычных статичных изображений, отсюда и название этого кодека.

    DV и HDV. Стандарт DV был разработан консорциумом компаний производителей видеотехники для ленточных систем хранения информации и часто использовался в видеокамерах со слотом для ленточных мини кассет. Некоторые версии DV успешно использовались в профессиональных видеокамерах, была разработана версия HDV для поддержки высокого разрешения с ленточными кассетами.

    Дисковые форматы

    Перейдем к устаревающим уже DVD или чуть более модным Blu-ray дискам. Несмотря на растущую популярность потокового видео, возможность передачи медиа данных с помощью дисков в обозримом будущем по-прежнему будет востребована. Записанные на диски материалы спокойно можно передавать там, где нет каналов связи и смотреть везде, даже там, где нет возможности подключиться к интернету.

    MPEG-2. Необходимо различать кодек MPEG-2, также известный как x.262, от формата контейнера MPEG-2. MPEG-2 используется для сжатия видео на дисках DVD и сигналов телевидения высокой четкости (DVB), передаваемого по эфирным каналам. Первоначально MPEG-2 применяли и для сжатия на Blu-ray дисках, хотя большинство современных Blu-ray фильмов не используют MPEG-2.

    x.264/MPEG-4 AVC. x.264используется при сжатии видео для Blu-ray дисков. По сути это тот же кодек, который применяется для сжатия видео в современных видеокамерах. Данный метод очень масштабируемый и при высоком битрейте сжатое по стандарту x.264видео выглядит просто фантастически.

    Microsoft VC-1. Microsoft VC-1 включает три разных по степени сжатия кодека. VC-1 Advanced Profile, также известный как Windows Media Video 9 Advanced Profile или просто WVC1 является одним из трех кодеков, применяемых для кодирования содержимого Blu-ray дисков. VC-1 в качестве альтернативы технологии Adobe Flash используется в интернет-платформе Microsoft Silverlight.

    Потоковое и веб видео

    Передача видео через интернет обязательно подразумевает компромиссы, в основном между качеством изображения и скоростью передачи данных, которая сегодня и ограничивает максимально достижимое качество. Скорость передачи или, как еще говорят, ширина канала во многом зависит от возможностей интернет-провайдера и используемой им технологии доставки сигнала в вашу квартиру.

    MPEG-1. Это старый боевой конь для доставки видео в сети интернет. Хотя YouTube, Netflix, и другие поставщики относительно качественного потокового видео уже отказались от MPEG-1, масса видео стандартного разрешения на базе MPEG-1 все еще доступна на других сайтах.

    WMV (Windows Media Video): Есть Windows Media Video кодек и контейнерный формат файла. Хотя, этот метод сжатия был и не так используем, как MPEG-1, в сети все еще есть много WMV контента. Но при создании своих видеоматериалов, его очевидно также не стоит применять.

    x.264/ MPEG-4 AVC. x.264 обеспечивает при относительно низкой скорости передачи, достаточно высокое качество видео. x.264, вероятно, становится наиболее распространенным кодеком. Adobe поддерживает его во Flash, x.264может использоваться с изображениями HTML 5, на x.264ориентируется YouTube и Apple полностью поддерживает этот метод компрессии. Однако при создании видео сжатого в форматах x.264вы не сможете воспроизводить их на старых устройствах, это ставка на будущее.

    Правильный контейнер: гибкий и удобный

    Далее кратко рассмотрены наиболее распространенные сегодня контейнерные форматы медиафайлов. У каждого из них есть свои достоинства и недостатки. Выбор зависит от предполагаемой задачи. Контейнерные файлы, кроме сжатого видео, вмещают и цифровой звук, сжатый соответствующими аудио кодеками, а также меню и дополнительную информацию.

    Контейнеры для архивирования и ввода

    Также, как и с кодеками, Вы должны выбрать контейнерный формат для хранения сжатого видео с максимально возможным в ваших условиях качеством. Для большинства пользователей нужен просто способ сохранить свое видео, для того чтобы затем передавать его в потоковом виде по домашней сети или даже через интернет, но при этом никто не хочет видеть впоследствии на экране пиксельную структуру и смазанное изображение. Правильный контейнер поможет сохранить баланс между качеством и потоковыми возможностями.

    Advanced Systems Format (ASF) – разработанный Microsoft контейнерный формат. Встречается несколько расширений, включая.asf, .wma и.wmv. Отметьте, что файл с расширением.wmv, вероятно, сжат кодеком WMV (Windows Media Video), но сам файл помещен в контейнерный файл ASF. Файлы ASF, в теории, могут содержать видео и аудио файлы, сжатые любым кодеком. Однако, практически воспроизведение иногда может стать проблемным, особенно с видео, сжатым кодеками x.264. Если вы планируете пользоваться продуктами Microsoft, ASF прекрасный выбор, но могут быть проблемы с медиа файлами на основе иных кодеков.

    Audio Video Interleave (AVI) – один из более старых контейнерных форматов Microsoft. Вероятно, его уже не стоит использовать в новых проектах.

    компания Apple продвигает собственный контейнерный формат QuickTime, который поддерживает множество кодеков для аудио и видео. Apple - убежденный сторонник x.264, таким образом, файлы QuickTime (.mov, .qt) могут содержать видео, сжатое кодеком x.264.

    MP4. Этот контейнерный формат разработан Motion Pictures Expert Group, известен также как MPEG-4, часть 14. Видео внутри файлов MP4 кодируется кодеком x.264, а аудио – кодеком AAC, но могут использоваться и другие стандарты сжатия звука.

    VOB и BDAV MPEG-2. Эти контейнерные форматы используются для упаковки данных на DVD и Blu-ray дисках, соответственно. В файлах Blu-ray дисков (.m2ts) могут содержаться видеозаписи сжатые кодеками x.264и VC-1, звук может быть сжат одним из кодеков Dolby или использоваться несжатый многоканальный сигнал в формате PCM.

    AVCHD: Этот стандарт контейнера применен во многих видеокамерах. Снимаемое видео предварительно сжимается кодеком x.264. Аудиосигнал для контейнера кодируется кодеком Dolby Digital (AC3) или используется несжатый – PCM.

    Flash: Компания Adobe имеет собственный контейнерный формат Flash, который поддерживает множество кодеков. Большая часть недавно созданного Flash видео кодирована с использование видеокодека x.264и аудиокодека AAC, но не стоит ожидать, что на всех сайтах используются только эти кодеки, особенно для ранее созданного видео.

    Прочие контейнеры: Среди прочих форматов контейнеров, широко используемых особенно для доставки видео через интернет, можно упомянуть популярный во многом за счет своей универсальности и открытого кода формат Matroska (.mkv, .mk3d, .mka, .mks), а также OGG и DiVX. Файлы с расширением.divx вмещают видео, ужатое одноименным кодеком с пиратской родословной, который позволяет получить достаточно высокое качество видео при эффективной компрессии видеоматериалов. Долгое время Divx официально не признавался и его использование не приветствовалось. Однако сегодня многие известные производители уже встраивают аппаратные кодеки DiVX в свою видеотехнику.

    Какой кодек и контейнер выбрать


    Если вы будете размещать свое видео на домашнем сервере, с тем чтобы впоследствии смотреть его на экране телевизора, подключаемого непосредственно к сети или через медиаплеер, необходимо выяснить какие форматы распознают телевизор и плеер. Практически всеми устройствами поддерживается сегодня кодирование в соответствии со стандартом MPEG-2, но в этом случае потребуется достаточно большой объем для хранения видео в HD разрешении. Очевидно, наиболее подходящим в ближайшем будущем можно считать различные варианты кодека x.264, в котором реализован алгоритм сжатия, поддерживаемый всеми популярными контейнерами.

    Если больше интересует воспроизведение готового видео, и вы планирует нарезать (ripping) фильмы из своей персональной коллекции DVD дисков для передачи по домашней сети, вас может устроить контейнер MP4, как удачный компромисс между степенью сжатия и качеством.