Медиаконтейнер
Медиаконтейнер, мультимедиаконтейнер (англ. Media container) — формат файла или потоковый формат (поток, в отличие от файла, не является предметом хранения), чьи спецификации определяют только способ представления данных (а не алгоритм кодирования) в пределах одного файла. Медиаконтейнер определяет размер и структуру представляемых данных, вместе с тем он не определяет никакую кодификацию самих данных. Медиаконтейнер фактически является метаформатом, так как он хранит данные и информацию о том, как данные будут сохраняться внутри файла. Как следствие, программа, которая способна корректно идентифицировать и открыть файл (прочитать поток), записанный в каком-либо формате, впоследствии может быть не способна декодировать фактические данные, записанные внутри медиаконтейнера, так как или метаданные в медиаконтейнере являются недостаточными, или программное обеспечение неспособно декодировать данные, закодированные в медиаконтейнере.
В теории формат-контейнер способен хранить любой тип данных, однако на практике для каждого типа данных существуют отдельные группы контейнеров. Эти группы «настроены» для специфических требований и информации, которая будет сохраняться в них. Медиаконтейнеры являются типичным примером такой группы файловых контейнеров, которые предназначены для сохранения медиаинформации, которая условно делится на изображения, видео и аудио. В случае фильмов медиаконтейнер должен не только сохранять видео- и аудиопоток, но и метки для их синхронизации при воспроизведении. В медиаконтейнере может сохраняться несколько однотипных потоков, например фильм (видеопоток) с несколькими звуковыми дорожками (аудиопотоками) и субтитрами (текстовыми потоками).
Список медиаконтейнеров
Контейнер файла используется для идентификации и чередования различных типов данных. Более простые контейнерные форматы могут содержать различные типы звуковых данных, закодированных определённым кодеком. Более сложные медиаконтейнеры могут поддерживать множественные аудио- и видеопотоки, текстовые субтитры, информацию о разделах (англ. chapter), метаданные (теги), наряду с информацией для синхронизации воспроизведения различных потоков одновременно. В большинстве случаев заголовок (англ. header) файла, большинство метаданных и синхронизационные данные определены форматом контейнера. Например, есть контейнеры, оптимизированные для видео низкого качества с низким битрейтом, а есть контейнеры, оптимизированные для больших файлов, содержащих множество потоков высокого качества.
Составные части контейнера файла имеют различные наименования. В RIFF и PNG их часто называют chunks (куски), в MPEG-TS их называют packets (пакеты), а в JPEG они называются «segments» (сегменты). Основной контент данных составных частей называется «данные» или «полезная нагрузка». В большинстве контейнерных форматов каждая составная часть в последовательности имеет свой заголовок (англ. header), в то время как медиаконтейнер TIFF вместо этого сохраняет смещения, что приводит к трудностям в сохранении информации. Модульные составные части облегчают восстановление других составных частей в случае повреждения файла или при «выпадении» кадров или при bit slip.
Некоторые медиаконтейнеры предназначены для сохранения только аудиоданных:
- AIFF (формат файла IFF, широко используемый на платформе Mac OS)
- WAV (формат файла RIFF, широко используемый на платформе Microsoft Windows)
- XMF (англ. Extensible Music Format — расширяемый формат музыки)
Некоторые медиаконтейнеры предназначены для сохранения только статических изображений:
- FITS (англ. Flexible Image Transport System — гибкая транспортная система изображения) — медиаконтейнер для статичных изображений, необработанных данных (англ. raw data) и связанных метаданных.
- TIFF (англ. Tagged Image File Format — теговый файловый формат изображений) — медиаконтейнер для статичных изображений и связанных метаданных.
Большинство медиаконтейнеров приспособлено для сохранения всех или почти всех типов медиаинформации, включая аудио, видео и текст. Самые популярные из них:
- 3gp (используется на многих мобильных телефонах, основан на стандартизированном ISO формате медиафайлов, определён спецификаций MPEG-4 Part 12)
- ANIM — медиаконтейнер для цифровой анимации на линейке классических компьютеров Commodore Amiga, следует основным спецификациям IFF ILBM.
- ASF (англ. Advanced Systems Format — продвинутый системный формат) — стандартный медиаконтейнер для Microsoft WMA и WMV.
- AVI (англ. Audio Video Interleave — чередование аудио и видео) — стандартный медиаконтейнер для Microsoft Windows, базируется на RIFF, один из самых распространённых.
- CDXL (другое наименование для формата ANIM) — медиаконтейнер для анимации для Amiga CDTV и Amiga CD32.
- DVR-MS (англ. Digital Video Recording — Microsoft — цифровая видеозапись — Майкрософт) — проприетарный медиаконтейнер, разработанный Microsoft и базирующийся на ASF. DVR-MS использует видео стандарта MPEG-2 и аудио стандартов MPEG-1 Layer II или Dolby Digital AC-3 (ATSC A/52).
- IFF (англ. Interchange File Format — чередующийся файловый формат) — первый платформо-независимый медиаконтейнер.
- Matroska (MKV, Матрёшка) — открытый свободный стандарт и медиаконтейнер.
- MPEG-TS (англ. MPEG-2 transport stream — транспортный поток MPEG) — медиаконтейнер для цифрового широковещательного телевидения. Стандартно содержит несколько видео- и аудиопотоков и расписание телепрограмм (Electronic Program Guide).
- MP4 (MPEG-4 Part 14) — медиаконтейнер, поддерживающий аудио и видео из группы MPEG-4.
- M4V — медиаконтейнер на базе MPEG-4 Part 14 с добавлением возможности DRM-защиты и поддержки кодека AC3
- MOV — медиаконтейнер для мультимедийного фреймворка QuickTime, разработанный Apple.
- Ogg — медиаконтейнер для аудиокодека Vorbis от Xiph.org и видеокодека Theora.
- OGM (Ogg Media) медиаконтейнер для кодеков от Xiph.org, более не поддерживаемый и формально отторгнутый Xiph.org.[1]
- RealMedia — медиаконтейнер для RealVideo и RealAudio.
- MXF ( англ. Material eXchange Format — формат обмена данными) — контейнер для профессионального хранения и обработки видео- и аудиоматериалов.
Есть также много других медиаконтейнеров, например NUT, MPEG-1, MXF, GXF, ratDVD, SVI, VOB и DivX Media Format.
Single coding formats
В дополнение к «чистым» контейнерным форматам, которые определяют только «обёртку», а не алгоритм кодирования, есть некоторые файловые форматы, которые определяют и слой хранения, и слой кодирования, как часть модульного дизайна и для совместимости «снизу вверх». К таким медиаконтейнерам относятся JPEG File Interchange Format (JFIF) для JPEG-изображений и Portable Network Graphics (PNG). Такие полнофункциональные медиаконтейнеры (хотя понятие «медиаконтейнер» к ним не совсем применимо) называются «Single coding format» (рус. Единый формат кодирования).
Различия
Все различия между разными медиаконтейнерами происходят из пяти основ:
- Популярность. Насколько распространён и поддерживается данный контейнер.
- Размер файла. Показывает различие в файловом размере между двумя файлами, которые имеют одинаковый контент, но сохранены различными медиаконтейнерами.
- Поддержка расширенной функциональности кодека. Старые медиаконтейнеры, такие как AVI, не поддерживают новые особенности кодеков, такие как B-кадры, переменный битрейт аудиопотока и переменную частоту кадров видеопотока. Контейнер может быть «взломан» для добавления поддержки, но это создаёт проблемы совместимости.
- Поддержка расширенного контента. Поддерживает ли медиаконтейнер разделы, субтитры, мета-теги и пользовательские данные.
- Поддержка потокового мультимедиа.
Remux
Remux (ремультиплексирование) — принятый в сфере видеокодирования термин, означающий перекомпоновку содержимого медиаконтейнера. Его важной особенностью является отсутствие перекодировки (сохранение исходного качества) основных элементарных потоков (видео- и аудиопотока). Заменяется лишь медиаконтейнер, также могут добавляться или удаляться субтитры, меню, множественные аудиопотоки (дополнительные звуковые дорожки) и прочие второстепенные данные.
Примечания
- Xiph.org does not support OGM Архивировано 30 января 2009 года.