Метаданные — это набор следующих стандартизированных сведений о файле: имя автора, разрешение, цветовое пространство, авторские права и ключевые слова и т.д. Метаданные в M4A является сложной структурой, содержащей множество контейнеров и чанков.
Кол-во структур в метаданных M4A могут изменятся. Основные из них на схеме, представленной ниже.
Эта коробка содержит информацию о метаданных для файловых носителей. «Moov» - это контейнерная коробка, а конкретная информация содержимого интерпретируется подбором
Поле | Байт | Описание |
---|---|---|
box size | 4 | Размер коробки |
box type | 4 | Тип коробки (mvhd) |
version | 1 | Коробка версии, 0 или 1 |
flags | 3 | В этом поле содержатся специфичные для процессора флаги, относящиеся к файлу. |
creation time | 4 | Время создания (относительно времени UTC) |
modification time | 4 | Время изменения (относительно времени UTC) |
time scale | 4 | Значение масштаба файловой среды (можно понимать как количество единиц времени 1 секунды) |
duration | 4 | Длина дорожки |
rate | 4 | Рекомендуемая скорость воспроизведения (0x00010000 представляет собой нормальную игру) |
volume | 2 | Громкость воспроизведения (0x0100 представляет максимальный объём) |
reserved | 10 | Зарезервированная позиция) |
matrix | 36 | Матрица, определяющая взаимосвязь между координатами в пространстве |
preview time | 4 | Просмотр времени; Начать предварительный просмотр этого времени файла |
preview duration | 4 | Проверка просмотра во временной шкале |
poster time | 4 | |
selection time | 4 | Значение времени начала дорожки |
selection duration | 4 | |
current time | 4 | Текущее время |
next track id | 4 | Идентификационный номер, используемый следующим треком |
«TRAK» также является контейнерным ящиком
«Trak» должен содержать «TKHD» и «MDIA», из которых «TKHD» - это коробка заголовка треков, «MDIA» - это Media Box, которая является контейнером, содержащая некоторые панели информации о трековом медиа-данных.
Поле | Байт | Описание |
---|---|---|
box size | 4 | Размер коробки |
box type | 4 | Тип коробки (tkhd) |
version | 1 | Коробка версии, 0 или 1 |
flags | 3 | В этом поле содержатся специфичные для процессора флаги, относящиеся к файлу. |
creation time | 4 | Время создания (относительно времени UTC) |
modification time | 4 | Время изменения (относительно времени UTC) |
track id | 4 | Идентификационный номер, не может повторяться и не 0 |
reserved | 4 | Зарезервированная позиция |
duration | 4 | Длина отслеживания времени |
reserved | 8 | Зарезервированная позиция |
layer | 2 | Слой видео, по умолчанию 0, значение мало в верхнем слое |
alternate group | 2 | Информация о группе отслеживания, по умолчанию равно 0 указывает на то, что дорожка имеет групповые отношения с другим треком. |
volume | 2 | Формат, если звуковая дорожка, 1.0 (0x0100) представляет максимальный объем; в противном случае 0 |
reserved | 2 | Зарезервированная позиция |
matrix | 36 | Видео преобразование матрицы |
width | 4 | Ширина |
height | 4 | Высота |
«MDIA» также является контейнером, структура и виды их подкора более сложны. Общие «MDIA» содержит: «MDHD», «HDLR», «Minf», «UDTA»
среди них,
- «MDHD» - это коробка для заголовков СМИ,
- «HDLR» - это справочная коробка обработчика,
- «Минф» - это ящик для медиа-информации,
- «UDTA» - это коробка данных пользователя.
Поле | Байт | Описание |
---|---|---|
box size | 4 | Размер коробки |
box type | 4 | Тип коробки (mdhd) |
version | 1 | Коробка версии, 0 или 1 |
flags | 3 | В этом поле содержатся специфичные для процессора флаги, относящиеся к файлу. |
creation time | 4 | Время создания (относительно времени UTC) |
modification time | 4 | Время изменения (относительно времени UTC) |
time scale | 4 | |
duration | 4 | Длина отслеживания времени |
language | 2 | Медиавидный код. Самый высокий бит 0, а задняя часть - 3 символа (см. Определение ISO 639-2 / T). |
pre-defined | 2 |
«HDLR» объясняет информацию о процессе воспроизведения СМИ, которая также может быть включена в Meta Box (META).
Поле | Байт | Описание |
---|---|---|
box size | 4 | Размер коробки |
box type | 4 | Тип коробки (hdlr) |
version | 1 | Коробка версии, 0 или 1 |
flags | 3 | В этом поле содержатся специфичные для процессора флаги, относящиеся к файлу. |
pre-defined | 4 | |
handler type | 4 | В Media Box это значение составляет 4 символа: “vide”— video track; “soun”— audio track; “hint”— hint track |
reserved | 12 | Зарезервированная позиция |
name | неопределенный | Имя типа трека, строка, заканчивая «\ 0» |
«Minf» хранит информацию о обработчике, которая объясняет данные трековых носителей, а обработчик медиа-обработчика использует эту информацию, чтобы сопоставить время носителя в носительские данные и процессы.
При нормальных обстоятельствах «Minf» содержит коробку заголовка, «Dinf» и «STBL», где
Коробка заголовка разделена на «SMHD», «HMHD» и «NMHD» в соответствии с типом трека (т.е. тип обработчика средств массовой информации). «DINF» - это информация о данных, «STBL» - это образца таблицы в таблице
Sound Media Header Box(smhd)
Поле | Байт | Описание |
---|---|---|
box size | 4 | Размер коробки |
box type | 4 | Тип коробки (smhd) |
version | 1 | Коробка версии, 0 или 1 |
flags | 3 | |
balance | 2 | |
reserved | 2 | Зарезервированные поля, по умолчанию 0 |
«Dinf» объясняет, как найти информацию о медиа-информации - это контейнер. «Dinf» обычно содержит «dref», а именно справочник данных; «Dref» будет содержать несколько «URL» или «URN», который составляют таблицу, чтобы найти данные трека.
dref
Поле | Байт | Описание |
---|---|---|
box size | 4 | Размер коробки |
box type | 4 | Тип коробки (dref) |
version | 1 | Коробка версии, 0 или 1 |
flags | 3 | В этом поле содержатся специфичные для процессора флаги, относящиеся к файлу. |
entry count | 4 | Количество элементов таблицы «URL» или «URN» |
Список «URL» или «URN» | неопределённый |
«STBL» - это почти самая сложная коробка в обычном файле M4A . «STBL» - это контейнеровочная коробка, а его подкарые включает в себя: sample description box(stsd)、 time to sample box(stts)、 Коробка размера выборки (STSZ или STZ2), sample to chunk box(stsc)、 Коробка смещения Chunk (STCO или CO64), composition time to sample box(ctts)、 Синхронизация образец коробки (STSS) и т. д.
В этом поле появится тип видео, широкая, длинная, длина, аудиоканал, выборка и т. Д.
Поле | Байт | Описание |
---|---|---|
box size | 4 | Размер коробки |
box type | 4 | Тип коробки (stsd) |
version | 1 | Коробка версии, 0 или 1 |
flags | 3 | В этом поле содержатся специфичные для процессора флаги, относящиеся к файлу. |
entry count | 4 | Количество описаний образца |
Sample description | неопределённый | Различные типы носителей имеют разное описание образца, но первые четыре поля каждого описания образца одинаковы, включая следующие элементы данных. |
размер | 4 | Количество байтов этого образца описания |
Формат данных | 4 | Хранить формат данных |
reserved | 6 | Зарезервированные поля, по умолчанию 0 |
Ссылочный индекс данных | 2 | Используйте этот индекс для получения данных, связанных с текущим описанием образца. Ссылки данных хранятся в данных справочных атомах |
«STTS» хранит продолжительность образца, описывая метод отображения синхронизации образца, и мы можем найти любой раз образец времени.
«STSC» описывает отображение образца и куска в «STSC», и посмотрите эту таблицу, чтобы найти Thunk, который указывает указанный образец, поэтому я нахожу этот образец.
«STSZ» определяет размер каждого образца, содержит количество всех образцов в носителях, а таблица дает каждый размер выборки. Эта коробка относительно велика.
Поле | Байт | Описание |
---|---|---|
box size | 4 | Размер коробки |
box type | 4 | Тип коробки (stsz) |
version | 1 | Коробка версии, 0 или 1 |
flags | 3 | В этом поле содержатся специфичные для процессора флаги, относящиеся к файлу. |
Sample size | 4 | Количество всех образцов. Если вся образец имеет ту же длину, это поле это значение. В противном случае значение этого поля 0. Эти длины существуют в таблице размеров выборки |
entry count | 3 | Количество размеров выборки |
sample size | неопределённое | Структура таблицы размеров выборки. Эта таблица основана на индексе номера образца. Первый элемент является первым образцом, второй - второй образец |
size | 4 | Каждый размер образца |
«STCO» определяет местоположение каждого Thunk в медиа-потоке.
Поле | Байт | Описание |
---|---|---|
box size | 4 | Размер коробки |
box type | 4 | Тип коробки (stsz) |
version | 1 | Коробка версии, 0 или 1 |
flags | 3 | В этом поле содержатся специфичные для процессора флаги, относящиеся к файлу. |
entry count | 4 | Количество смещений куска |
chunk offset | 3 | неопределённое |
size | 4 | Каждый размер образца |
Использованные источники информации: