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

31.05.2019

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

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

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

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

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

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

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

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

:
  • 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.

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