stringtranslate.com

Формат контейнера

Формат контейнера (неофициально, иногда называемый оболочкой ) или метафайл — это формат файла , который позволяет встраивать несколько потоков данных в один файл , обычно вместе с метаданными для идентификации и дальнейшей детализации этих потоков. [1] Яркие примеры форматов контейнеров включают архивные файлы (например, формат ZIP ) и форматы, используемые для воспроизведения мультимедиа (например, Matroska , MP4 и AVI ). Среди первых кросс-платформенных форматов контейнеров были Distinguished Encoding Rules и Interchange File Format 1985 года .

Дизайн

Макеты распространенных форматов контейнеров: AVI , Matroska и PDF.

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

Форматы контейнеров могут быть созданы для упаковки любых данных. Хотя существуют некоторые примеры таких форматов файлов (например, файлы DLL Microsoft Windows ) , большинство форматов контейнеров специализированы для конкретных требований к данным. Например, поскольку аудио- и видеопотоки могут кодироваться и декодироваться с помощью множества различных алгоритмов, формат контейнера может использоваться для предоставления пользователям программного обеспечения воспроизведения мультимедиа внешнего вида единого формата файла.

Соображения

Различия между различными форматами контейнеров возникают из пяти основных проблем:

  1. Популярность; насколько широко поддерживается контейнер.
  2. Накладные расходы. Это разница в размере файла между двумя файлами с одинаковым содержимым в разных контейнерах.
  3. Поддержка расширенных функций кодека. Старые форматы, такие как AVI, изначально не поддерживают новые функции кодека, такие как B-кадры , звук VBR или видео VFR . Формат можно «взломать» для добавления поддержки, но это создаст проблемы совместимости.
  4. Поддержка расширенного контента, такого как главы, субтитры, метатеги, пользовательские данные.
  5. Поддержка потокового мультимедиа .

Единые форматы кодирования

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

Примеры включают формат обмена файлами JPEG (JFIF) для хранения данных JPEG и переносимую сетевую графику (PNG).

В принципе, кодирование можно изменить, сохранив уровень хранения; например, сетевая графика с несколькими изображениями (MNG) использует формат контейнера PNG, но обеспечивает анимацию, тогда как сетевая графика JPEG (JNG) помещает данные в кодировке JPEG в контейнер PNG; однако в обоих случаях разные форматы имеют разные магические числа - формат определяет кодировку, хотя MNG может содержать как изображения в кодировке PNG, так и изображения в кодировке JPEG.

Форматы мультимедийных контейнеров

Файл-контейнер используется для идентификации и чередования различных типов данных. Более простые форматы контейнеров могут содержать различные типы аудиоформатов, в то время как более продвинутые форматы контейнеров могут поддерживать несколько аудио- и видеопотоков, субтитров , информацию о главах и метаданные ( теги ) — а также информацию о синхронизации, необходимую для воспроизведения различных потоков. вместе. В большинстве случаев заголовок файла, большая часть метаданных и фрагменты синхронизации определяются форматом контейнера. Например, существуют форматы контейнеров для оптимизированной потоковой передачи низкокачественного интернет-видео, которая отличается от требований к высококачественной потоковой передаче Blu-ray.

Части формата контейнера имеют разные названия: «куски», как в RIFF и PNG, «атомы» в QuickTime/MP4, «пакеты» в MPEG-TS (из термина связи) и «сегменты» в JPEG. Основное содержимое фрагмента называется «данными» или «полезной нагрузкой». Большинство форматов контейнеров имеют последовательные фрагменты, каждый из которых имеет заголовок, тогда как TIFF вместо этого хранит смещения. Модульные фрагменты позволяют легко восстанавливать другие фрагменты в случае повреждения файла, потери кадров или проскальзывания битов , тогда как смещения приводят к ошибкам кадрирования в случае проскальзывания битов.

Некоторые контейнеры предназначены исключительно для аудио:

Другие контейнеры предназначены исключительно для неподвижных изображений:

Другие гибкие контейнеры могут содержать многие типы аудио и видео, а также другие медиафайлы. Наиболее популярные мультимедийные контейнеры:

Существует множество других форматов контейнеров, таких как NUT , MXF , GXF , ratDVD , SVI, VOB и формат мультимедиа DivX.

Смотрите также

Рекомендации

  1. ^ Хо, Энтони ТС; Ли, Шуцзюнь (20 мая 2016 г.). Справочник по цифровой криминалистике мультимедийных данных и устройств, расширенная электронная книга. Джон Уайли и сыновья. С. 146–(?). ISBN 9781118757079. ОСЛК  953319457.

Внешние ссылки