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

Технология 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-файла не забывайте извлекать виртуальный диск, чтобы в итоге не получить поврежденный файл.

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

Из-за массы вопросов, связанных со способами кодирования и хранения мультимедийного контента, в первую очередь - видео, мы хотим попытаться сделать ситуацию немного более понятной. В первую очередь этот документ адресован владельцам ,а также
И начнём мы с контейнеров.

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

Популярные в настоящее время контейнеры

:
  • AVI (Audio Video Interleaved), чередующееся аудио/видео - старый (1992 год!) и до сих пор весьма популярный тип контейнера. Его появлению мы благодарны фирме Microsoft и пакету Video for Windows. В настоящее время начинает сдавать позиции более современным контейнерам из-за отсутствия нормальной поддержки нескольких аудиодорожек, субтитров и современных кодеков (вроде h.264), тем не менее, ещё долго будет пользоваться популярностью из-за широчайшей поддержки производителями бытовой техники. Обычно используется в сочетании с кодеками семейства MPEG4/DivX/Xvid и сжатым в mp3 звуком.
  • MKV (Matroska, "Матрёшка") - современный контейнер, разработан как open source проект и лишён всех недостатков AVI - поддерживаются современные видео и аудиокодеки, несколько аудиодорожек и внедрение нескольких дорожек с субтитрами. Обычно, но вовсе не обязательно применяется в сочетании с современными кодеками h.264/x.264/AVC-1. Субъективно является наиболее популярным для дистрибуции в Интернете и локального хранения видео высокого качества.
    Но никто не мешает, например, поместить внутрь MKV видео, сжатое"старым добрым" Xvid. Более того, в некоторых ситуациях такие действия оправданы.
  • QuickTime (расширения файлов - *.mov или *.qt ) - достаточно прогрессивный контейнер, созданный фирмой Apple, поддерживает практически все популярные кодеки и внедрение субтитров, более, того, в отличие от MKV куда более пригоден для редактирования видеоматериала, записанном в таком контейнере.
    Однако его нормальная поддержка возможна только при установленном на компьютере пакете Apple QuickTime, сторонние open source реверс-инжиниринговые разработки полной функциональности не обеспечивают.
  • ASF/WMV/WMA (Advanced Stream Format/Windows Media Video) - замена AVI от Microsoft, расширения файлов, соответственно: ASF, WMV, WMA (для звуковых файлов). Несмотря на все прогрессивные нововведения (поддержка нескольких дорожек, глав, новых кодеков), поддержка h.264 им по-прежнему затруднительна, что ставит под большой вопрос будущее этого контейнера.
  • FLV - Adobe Flash Video. Получил бешеную популярность из-за Youtube. В процессе эволюции научился использовать современные видео и аудиокодеки, однако ориентация его на короткие и сильно сжатые интернет-ролики ограничивает сферу его распространения. Встраиваемые субтитры почему-то не поддерживает.
  • BDMV - фактически, несжатый образ Blu-Ray диска, обладает всеми мыслимыми "вкусностями" (поддержка всех современных аудио и видеоформатов, вплоть до 3D), но предъявляет серьёзные требования к дисковому пространству и к нагрузке на декодер. Поэтому поддержка его аппаратными плеерами пока весьма ограничена.
  • 3GP - контейнер, ориентированный на съёмку видео мобильными телефонами. Отсюда ограниченная поддержка аудиоформатов, видеоформаты поддерживаются весьма прогрессивные. Никаких альтернативных аудиодорожек, вместо субтиров - таймкод. Оружие мобильного репортёра, проще говоря.
  • MP4 - достаточно прогрессивный контейнер, поддерживает сжатие видео не только в MPEG4, как можно подумать из названия, но и более современными методами. Но уступил "матрёшке" в части поддержки субтитров и аудиоформатов.
  • Divx - контейнер от создателей одноимённого кодека. Несмотря на некую прогрессивность, такого же распространения не получил. Причина - может использовать только одноимённый кодек для видео, ну и кому после этого он нужен, если "матрёшка" универсальнее.
  • VOB - на самом деле официальное название этого контейнера MPEG 2 Program Stream - т.е. фактически это содержимое DVD . Поддерживает только два видеокодека, MPEG1 и MPEG2, в остальном - эталон эпохи "до HDTV", потому что есть поддержка субтитров, глав (если брать диск целиком как единый контейнер) и различных звуковых форматов, включая весьма прогрессивные.
  • .ts MPEG 2 Transport stream, также встречается в виде файлов с расширением m2ts и mts - популярен благодаря спутниковому цифровому вещанию, способен использовать, несмотря на название, современные кодеки и FullHD разрешения. Популярен среди любителей спутникового телевидения, но по гибкости использования уступает "Матрёшке".
  • OGG - контейнер, формально предназначенный для хранения звука в формате OGG Vorbis, но может хранить и видео. Несмотря на заявленные возможности, представляет собой экзотику (это касается видео), для звука этот контейнер уже, можно считать, прижился.
  • WAV - контейнер, предназначенный для хранения звука, вовсе не обязательно несжатого.
  • ISO - просто образ оптического диска. Внутри может быть всё что угодно. Как это переварит плеер - уже задача его разработчиков.
  • MPG - наследие VideoCD, контейнер для видео в формате только MPEG 1. Звук - mp3 или его более ранние варианты. Известен тем, что воспроизводится практически везде и всем.

Кодеки для видео:

  • MPEG1 - с него, собственно и началось массовое распространение видео на ПК. Создавался для VideoCD, но может встретиться на DVD или в mpg-файле. Легко декодируется даже техникой времён Pentium 120.
  • MPEG2 - собственно, мы его видим не только на DVD. Им может быть сжато видео в различных подвидах цифрового телевидения, в.ts файле и даже на Blu-Ray, где он является одним из трёх обязательных кодеков. Наверное, сейчас это самый популярный видеокодек в мире, раз пережил FullHD революцию.
  • MPEG4 - Несмотря на техническое совершенство, в "чистом" виде практически не получил распространение из-за ряда ограничений на использования. Последствия читаем ниже
  • DivX - культовая первая версия 3.11 этого кодека представляла собой фактически взломанный Microsoft MPEG4 и позволяла создавать "DVD-rip" в контейнере AVI, умещавшийся на одну или две болванки, позволяя экономить на дорогой DVD-болванке или лицензионной копии DVD-фильма. Сейчас поддерживается всеми актуальными программными и аппаратными видеоплеерами. В дальнейшем, несмотря на выход новых версий, развитие кодека затормозилось и он сдал позицию своему конкуренту, читаем дальше:
  • XviD - open source версия DivX, быстро обогнавшая своего "предка" в развитии, не имевшая лицензионных проблем, а также быстро "взятая на вооружение" и производителями оборудования и поставщиками контента.
    Наиболее современный и популярный видекодек "поколения MPEG4" в наше время. В качестве контейнера для него чаще всего используется AVI, но иногда и MKV.
  • WMV7 /WMV8 - дальнейшее развитие MPEG4 от Microsoft, широкого распространения не получили. Дальнейшие усилия были брошены на разработку WMV9
  • h.264 - революция в мире кодирования видео, де факто созданная по заказу ВС США ещё первого десятилетия XXI века. Также иногда именуется "MPEG-4 Part 10" или просто "AVC ". Из-за фантастического преимущества в качестве изображения относительно размера файла над кодеками семейства MPEG4, h.264 быстро распространился везде, где смог. Например, он стал основным обязательным кодеком видео для Blu-Ray, а также начал вытеснять другие кодеки из контейнеров вроде FLV или 3GP. В распространяемом в интернете высококачественном видеоконтенте очень часто встречается сочетание MKV/h.264, из-за чего эти аббревиатуры некоторые пользователи ошибочно считают синонимами.
    Однако добавим в эту бочку мёда и приличную ложку дёгтя - аппаратному требования к декодированию сжатому в h.264 видео очень высоки, даже если речь не идёт о FullHD разрешении. Поэтому для многих старых аппаратных медиаплееров апгрейд путём перепрошивки для поддержки нового кодека оказался невозможен по причине банальной нехватки вычислительной мощности декодера. При этом поддержку новых контейнеров вроде mkv добавить было легко, что приводило к понятным казусам. Более того, воспроизведение h.264-контента на компьютере также требует либо двухъядерного процессора, либо аппаратной поддержки декодирования AVC со стороны видеокарты (к счастью, это сейчас встречается практически поголовно). А вот с планшетами и нетбуками не всё-так очевидно.
  • x.264 open source реверс-инжиниринговая переработка h.264. Вопрос их сравнения выходит за рамки этого FAQ. Используется в основном для дистрибуции высококачественного контента в интернете.
  • WMV9 - первый кодек нового поколения (рассчитанного на FullHD) от Microsoft, имея сравнимые с описанным ниже h.264 характеристики, не получил столь широкого распространения по причинам нетехнического плана.
  • VC-1 - ответ Micrsoft на h.264, создан на основе WMV9. Также является обязательным кодеком для Blu-Ray плееров. Отличается меньшей универсальностью.

Форматы кодирования аудио со сжатием.

  • MP3 (вернее, MPEG 1 Audio Level 3) - без комментариев, поддерживается везде и всем, недостаток этого "вечного" формата один - всего два канала, что ограничивает его применение в современных домашних кинотеатрах.
  • MPEG 2 Audio Level 3 многоканальный (5.1) mp3.
  • WMA - Windows Media Audio, формально более качественный и современный конкурент mp3 от Microsoft. Мало распространён, хотя широко поддерживается аппаратурой.
  • OGG Vorbis - более качественный современный конкурент mp3 от сообщества open source. Лишён каких-либо лицензионных ограничений, используется всё чаще.
  • AAC - Advanced Audio Coding - основной аудиоформат Apple, внедрённый во все их iPad, iPhone, iTunes и т.п. Основное достоинство - технически более совершенен, чем mp3, допускает частоты дискретизации до 96кГц и теоретически совершенно безумное число каналов в одном файле - до 48. Также применяется в цифровом спутниковом радио. Как и mp3 это формат со сжатием, качество 96Кбит/c AAC сравнимо с качеством 128Кбит/c mp3 (речь идёт о двух каналах в обоих случаях).
  • Dolby Digital (AC-3) - вероятно, наиболее популярный стандарт для цифрового аудио в кинематографе, из-за того, что появился на рынке аж в 1995 году, существует в двух вариантах - DD2.0 (для качественного стереозвука) и DD5.1 - пять полноценных каналов и один ущербный для сабвуфера. Плеерами поддерживается поголовно по понятным причинам, битрейтом 640 Кбит/c во всех случаях.
  • Dolby Digital Plus или E-AC-3 - попытка улучшить обычный Dolby Digital, но декодеры и ресиверы предыдущего поколения обратно не совместимы с дорожками в формате Dolby Digital Plus, причины этого в радикальных изменениях: количество каналов возросло до 7.1, битрейт - до 1,7Мбит сек. Через S/PDIF такое не пролезет (при передаче по такому кабелю придётся применять даунмикс в DD5.1 или в DTS с потерей качества), а нормально с Dolby Digital Plus справляется HDMI начиная с версии 1.3, встретить такие дорожки можно на Blu-Ray дисках.
  • Dolby TrueHD - Практически имеем 8 почти несжатых дорожек в 96КГц/24бит или 6 в 192КГц/24бит, суммарный битрейт доходит до 18 Мбит/cек, что требует декодирования в плеере и передаче на ресивер в аналоговом тракте, либо использования HDMI 1.3 И выше. Для Blu-Ray эта система кодирования звука опциональна.
  • DTS - цифровая система кодирования звука с потерями для кинотеатров, позже появившаяся и на DVD, является аналогом Dolby Digital 5.1, но несколько гибче, позволяя в дополнение к 2.0 и 5.1 использовать и другие схемы, вроде 4.0 и 4.1, также есть выбор между двумя фиксированных битрейта 1500Кбит/с и 750 кбит/с. В первом случае DTS однозначно превосходит Dolby Digital по качеству звука, во втором - разница между системами является предметом споров.
  • DTS-HD - дальнейшая эволюция DTS, количество каналов доведено до 7.1 в режиме 96КГц/24бит, битрейт выбирается между 6Мбит/c и 3Мбит/с, является опциональным звуковым форматом для Blu-Ray. Ситуация с передачей звука на ресивер примерно та же, что и с DolbyTrueHD.

Форматы кодирования аудио без сжатия или со сжатием, но без потерь.

  • LPCM - это просто вообще несжатое аудио. Обычно - стерео. Не путайте с WAV-файлом, это контейнер, и внутри может быть что-то отличное от PCM WAV.
  • APE - специфический формат сжатия аудио без потерь. Любим аудиофилами.
  • Flac - его конкурент и аналог, отличия между ними выходят за рамки этого обзора.
  • Lossless Audio
  • Apple Lossless

Форматы субтитров.

  • SRT - текстовый формат, может прилагаться в виде отдельного файла с таким же расширением. По сравнению с первыми версиями этого формата оформительские возможности значительно возросли. Также может существовать внутри MKV.
  • SUB/IDX - графический формат субтитров, извлечённых из DVD. Может помещаться внуть MKV или MP4.
  • s2k ,ssa ,ass - ещё несколько продвинутых текстовых форматов, ass может быть помещён внутрь MKV.
  • smi - текстовый формат, основанный на SGML, прямом предке HTML.
  • PGS - графический формат субтитров, основной для Blu-Ray, но может существовать и в контейнерах ts и MKV.

Контейнерами в объектно-ориентированных языках программирования называются специальные структуры, внутри которых единообразным способом могут быть представлены различные типы данных. Хорошим примером использования контейнеров может служить язык разметки 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-код, название кодека и его наличие/отсутствие в системе.


Видеозапись состоит из видео ряда, звуковой дорожки (или нескольких), субтитров (возможно, нескольких), текстовых комментариев к ней и т. д. Файл, в который сохраняется видеозапись, имеет специальный формат. Помимо собственно видео ряда и звуковой дорожки он должен содержать некоторую служебную информацию: какой формат применён для сжатия видео и звука, так называемый индекс (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

Как показывает практика, вокруг 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.