.MOV вариант №
Файл MOV — это тип видеофайла, разработанный Apple Inc., который содержит одну или несколько дорожек. Каждая дорожка хранит фильм, аудио, видеоклипы и субтитры. Это мультимедийный контейнер, который может хранить различные типы медиа-элементов. Видеоформат MOV совместим с системами Windows и Macintosh. Он использует кодировку MPEG-4 для сжатия, а дорожки сохраняются в объектах, называемых атомами, которые помещаются в иерархическую структуру данных.
Краткая история формата файла MOV
Формат файла MPEG-4 произошел от спецификации формата файла QuickTime (QTFF) в 2001 году. Международная организация по стандартизации одобрила формат, и системные спецификации MPEG-4 Part 1 были опубликованы в 1999 году. был опубликован формат MP4.
Первая версия MP4 была пересмотрена в 2003 году как MPEG-4 Part 14 (ISO/IEC 14496-14:2003). В 2004 году MP4 был обобщен, чтобы определить общую структуру для всех медиафайлов, основанных на времени. Поэтому сейчас он используется в качестве основы для различных других форматов мультимедийных файлов.
Формат файла QuickTime (QTFF) — дополнительная информация
Для работы с цифровым мультимедиа QTFF может хранить множество типов данных. Это формат идеи для обмена цифровыми медиа, поскольку формат определяет стандарты для описания любых медиа структур. Формат файла состоит из гибкой коллекции объектно-ориентированных объектов. Для хранения фильмов на дисках QuickTime использует две структуры: «атомы» и «атомы QT».
Атомы
Атом — это основная единица файла QuickTime. В любом атоме перед любым другим полем есть два основных поля: поля размера и типа. Поле размера показывает размер атома, а поле типа указывает тип данных, хранящихся в атоме. По своей природе атомы иерархичны, что означает, что один атом может содержать другие атомы, которые могут содержать другие. Схема образца атома показана на следующем изображении.
Каждый атом состоит из двух частей: «заголовок» и «данные». Заголовок содержит поля размера и типа, а часть данных содержит фактические данные. Кроме того, каждое поле поясняется ниже:
Размер атома
Заголовок и содержимое атома указываются 32-битным целым числом, известным как размер атома. Поле размера содержит размер атома в байтах, выраженный в виде 32-битного целого числа без знака.
Тип атома
Тип атома также отображается 32-битным целым числом, которое в основном обрабатывается как четырехсимвольное поле с кнемоническим значением, например «moov» (0x6D6F6F76) для атома фильма или «trak» (0x7472616B) для атома фильма. трековый атом. Когда тип атома известен, это позволяет интерпретировать его данные.
Атомы QT и контейнеры атомов
Атомы QT обеспечивают формат хранения общего назначения и имеют расширенный заголовок, состоящий из полей «Размер», «Тип», «Идентификатор атома» и «Количество дочерних атомов». Атомы QT упакованы в контейнер атомов, уникальную структуру данных, имеющую заголовок со счетчиком блокировок. В каждом контейнере атомов есть один корневой атом, который является атомом QT. Схема атома QT показана на рисунке ниже.
Заголовок контейнера атома QT содержит следующие данные:
Зарезервировано: 10-байтовый элемент со значением 0.
Lock Count: 16-битное целое число со значением 0.
Заголовки атомов QT содержат следующие данные:
Размер - Заголовок и содержимое атома QT указываются в байтах 32-битным целым числом. В случае листового атома это поле содержит размер одного атома.
Тип - Тип атома указывается 32-битным целым числом. В случае, если это корневой атом, значение устанавливается равным ‘sean’.
Идентификатор атома - Это 32-битное целое число, которое показывает идентификатор атома и должно быть уникальным для всех братьев и сестер. Корневой атом всегда имеет значение идентификатора атома, равное 1.
Зарезервировано - 16-битное целое число, которое должно быть установлено равным 0.
Число дочерних элементов - 16-разрядное целое число, указывающее количество дочерних атомов атома.
Зарезервировано - 32-битное целое число, которое должно быть установлено равным 0.
Файловая структура файлов MOV
Файлы MOV состоят из последовательных фрагментов. Каждый чанк имеет 8-байтовый заголовок: 4-байтовый размер чанка (с обратным порядком байтов, старший байт вперед) и 4-байтовый тип чанка — одна из предопределенных сигнатур: «ftyp», «mdat», «moov», «pnot». “, “udta”, “uuid”, “moof”, “free”, “skip”, “jP2”, “wide”, “load”, “ctab”, “imap”, “matt”, “kmat”, «клип», «crgn», «синхронизация», «глава», «tmcd», «scpt», «ssrc», «PICT». Первый фрагмент имеет тип “ftype” и имеет подтип по смещению 8. MOV определяется подтипом, который должен быть “qt”. Чтобы составить файл MOV, необходимо повторять фрагменты до тех пор, пока не будет обнаружен неизвестный тип.
Вот пример
: при просмотре двоичных данных образца файла MOV становится очевидным, что он начинается с подписи ftyp (шестнадцатеричный: 66 74 79 70) по смещению 4, которая определяет тип файла-контейнера QuickTime. Подтип файла — qt~~ (hex: 71 74 20 20), что указывает на тип файла MOV. Размер первого блока равен 32 (шестнадцатеричный: 00 00 00 20, обратный порядок байтов, первый старший байт), размер расположен по смещению 0. По смещению 32 (шестнадцатеричный: 20) расположен второй блок, который имеет размер 8 и введите mdat (шестнадцатеричный: 6D 64 61 74).
Следующий фрагмент расположен по смещению 32+8#40 (шестнадцатеричный: 28), имеет размер 3 263 028 (шестнадцатеричный: 00 31 CA 34) и тип mdat (шестнадцатеричный: 6D 64 61 74) по смещению 44 (шестнадцатеричный : 2С). Следующий фрагмент расположен по смещению 40 + 3 263 028#3 263 068 (шестнадцатеричный: 00 31 CA 5C), имеет размер 21 189 (шестнадцатеричный: 00 00 52 C5) и тип moov (шестнадцатеричный: 6D 6F 6F 76) по смещению. 1 836 019 574 (шестнадцатеричный: 00 31 CA 60). Это последний фрагмент, поэтому общий размер файла составляет 3 263 068 + 21 189 # 3 284 257 байт.
Как преобразовать файл MOV?
Существует множество медиаплееров и программных видеоредакторов для преобразования файлов MOV в другие популярные форматы видеофайлов. Некоторые из медиаплееров, которые могут конвертировать файлы MOV в другие форматы, включают:
- Медиаплеер VideoLAN VLC
- Элтима Элмедиа Плеер
Несколько медиаплееров и видеоредакторов, в том числе медиаплеер VideoLAN VLC и Eltima Elmedia Player, могут преобразовывать файлы MOV в другие форматы. Это программное обеспечение может конвертировать файлы MOV в следующие форматы видео.
- Видео MPEG-4 - MP4
- Видео WebM — WEBM
- Транспортный поток видео — TS
- Расширенный системный формат — ASF
- Ogg Vorbis Audio - OGG
- Аудио MP3 - MP3
- Бесплатный аудиокодек без потерь — FLAC
- Аудио WAVE - WAV
API с открытым исходным кодом для файлов MOV
- React Native API для преобразования MOV в MP4
- Python API для восстановления файлов MOV
- Ruby API для преобразования MOV в GIF