Медиаконтейнеры
- 1 year ago
- 0
- 0
Медиаконтейнер , мультимедиаконтейнер ( англ. Media container ) — формат файла или потоковый формат (поток, в отличие от файла, не является предметом хранения), чьи спецификации определяют только способ представления данных (а не алгоритм кодирования ) в пределах одного файла . Медиаконтейнер определяет размер и структуру представляемых данных, вместе с тем он не определяет никакую кодификацию самих данных. Медиаконтейнер фактически является метаформатом, так как он хранит данные и информацию о том, как данные будут сохраняться внутри файла. Как следствие, программа, которая способна корректно идентифицировать и открыть файл (прочитать поток), записанный в каком-либо формате, впоследствии может быть не способна декодировать фактические данные, записанные внутри медиаконтейнера, так как или метаданные в медиаконтейнере являются недостаточными, или программное обеспечение неспособно декодировать данные, закодированные в медиаконтейнере.
В теории формат-контейнер способен хранить любой тип данных, однако на практике для каждого типа данных существуют отдельные группы контейнеров. Эти группы «настроены» для специфических требований и информации, которая будет сохраняться в них. Медиаконтейнеры являются типичным примером такой группы файловых контейнеров, которые предназначены для сохранения медиаинформации, которая условно делится на изображения, видео и аудио. В случае фильмов медиаконтейнер должен не только сохранять видео- и аудиопоток, но и метки для их синхронизации при воспроизведении. В медиаконтейнере может сохраняться несколько однотипных потоков, например фильм (видеопоток) с несколькими звуковыми дорожками (аудиопотоками) и субтитрами (текстовыми потоками).
Контейнер файла используется для идентификации и чередования различных типов данных. Более простые контейнерные форматы могут содержать различные типы звуковых данных, закодированных определённым кодеком . Более сложные медиаконтейнеры могут поддерживать множественные аудио- и видеопотоки, текстовые субтитры, информацию о разделах ( англ. chapter ), метаданные (теги), наряду с информацией для синхронизации воспроизведения различных потоков одновременно. В большинстве случаев заголовок ( англ. header ) файла, большинство метаданных и синхронизационные данные определены форматом контейнера. Например, есть контейнеры, оптимизированные для видео низкого качества с низким битрейтом, а есть контейнеры, оптимизированные для больших файлов, содержащих множество потоков высокого качества.
Составные части контейнера файла имеют различные наименования. В RIFF и PNG их часто называют chunks (куски), в MPEG-TS их называют packets (пакеты), а в JPEG они называются «segments» (сегменты). Основной контент данных составных частей называется «данные» или «полезная нагрузка». В большинстве контейнерных форматов каждая составная часть в последовательности имеет свой заголовок ( англ. header ), в то время как медиаконтейнер TIFF вместо этого сохраняет смещения, что приводит к трудностям в сохранении информации. Модульные составные части облегчают восстановление других составных частей в случае повреждения файла или при «выпадении» кадров или при .
Некоторые медиаконтейнеры предназначены для сохранения только аудиоданных :
Некоторые медиаконтейнеры предназначены для сохранения только статических изображений:
Большинство медиаконтейнеров приспособлено для сохранения всех или почти всех типов медиаинформации, включая аудио, видео и текст. Самые популярные из них:
Есть также много других медиаконтейнеров, например NUT, MPEG-1 , MXF, GXF, ratDVD, SVI, VOB и .
В дополнение к «чистым» контейнерным форматам, которые определяют только «обёртку», а не алгоритм кодирования, есть некоторые файловые форматы, которые определяют и слой хранения, и слой кодирования, как часть модульного дизайна и для совместимости «снизу вверх». К таким медиаконтейнерам относятся (JFIF) для JPEG -изображений и Portable Network Graphics (PNG). Такие полнофункциональные медиаконтейнеры (хотя понятие «медиаконтейнер» к ним не совсем применимо) называются «Single coding format» ( рус. Единый формат кодирования ).
Все различия между разными медиаконтейнерами происходят из пяти основ:
Remux (ремультиплексирование) — принятый в сфере видеокодирования термин, означающий перекомпоновку содержимого медиаконтейнера. Его важной особенностью является отсутствие перекодировки (сохранение исходного качества) основных элементарных потоков (видео- и аудиопотока). Заменяется лишь медиаконтейнер, также могут добавляться или удаляться субтитры, меню, множественные аудиопотоки (дополнительные звуковые дорожки) и прочие второстепенные данные.