Формат файла MP4-AT поддерживает хранение вспомогательных дорожек, полезных для редактирования и композиции после захвата (например, видеодорожки с картой глубины), наряду с воспроизводимыми мультимедийными данными в структуре ISOBMFF/MP4.
Цель формата — хранить вспомогательные треки так, чтобы они были скрыты от клиентов, не реализующих эту спецификацию. Это не позволяет клиентам интерпретировать вспомогательные дорожки как воспроизводимые данные.
Зависимости
Ниже приведены нормативные ссылки для этой спецификации:
- Ключевые слова для использования в RFC для обозначения уровней требований
- ISO/IEC 14496-12:2022 Формат медиафайлов ISO Box (ISOBMFF/MP4)
- ISO/IEC 14496-10:2022 Кодирование аудиовизуальных объектов. Часть 10. Расширенное кодирование видео (AVC).
- ISO/IEC 23008-2:2023 Высокоэффективное кодирование и доставка мультимедиа в гетерогенных средах. Часть 2. Высокоэффективное кодирование видео (HEVC)
- Видеокодеки VP9 (VP9)
- Спецификация битового потока и процесса декодирования AV1 (AV1)
- Динамическая глубина 1.0
Введение
Использование слов «ДОЛЖЕН», «НЕ ДОЛЖЕН», «ТРЕБУЕТСЯ», «СЛЕДУЕТ», «НЕ СЛЕДУЕТ», «РЕКОМЕНДУЕТСЯ», «МОЖЕТ» и «ДОПОЛНИТЕЛЬНО» соответствует стандарту IETF, определенному в RFC2119 .
Формат файла MP4-AT
Формат файла MP4-AT состоит из основных и вспомогательных дорожек, позволяющих выполнять различные операции редактирования. Основные дорожки (например, видеодорожка, к которой был применен эффект боке) записываются в файл MP4, как обычно, тогда как вспомогательные дорожки записываются в файл Auxiliary Tracks MP4 . Auxiliary Tracks MP4 — это еще один контейнер, совместимый с MP4, который помещается в блок axte
(расширение дополнительных треков) . Поле axte
рекомендуется располагать последним в файле, что позволяет удобно удалять вспомогательные данные путем усечения файла.
Этот формат обратно совместим: проигрыватели, которые не поддерживают остальную часть этого формата, будут читать и воспроизводить основные видеодорожки при загрузке файла.
В файле есть поле moov.meta
с обработчиком mdta
, содержащее следующие метаданные. Метаданные могут появляться в любом порядке.
Ключ метаданных | Индикатор типа | Ценить |
| 78 (64-битное целое число без знака с обратным порядком байтов) | Смещение файла (в байтах) поля |
| 78 (64-битное целое число без знака с обратным порядком байтов) | Длина (в байтах) поля |
Коробка расширения вспомогательных гусениц (axte)
Синтаксис
Блок axte
описывается с использованием семантики блока, определенной в ISO/IEC 14496-12:2022: 4.2.
aligned(8) class AuxiliaryTracksExtensionBox extends Box('axte') {
bit(8) data[];
}
где поле данных содержит вспомогательные дорожки MP4 .
Полезная нагрузка
Полезная нагрузка axte
Box — вспомогательные гусеницы MP4 . Вспомогательные дорожки MP4 имеют обычную структуру MP4.
Вспомогательные треки MP4 содержат образцы метаданных для всех вспомогательных треков. Все образцы полезных данных вспомогательной дорожки должны храниться либо в поле mdat
вспомогательных дорожек MP4 , либо во внешнем поле mdat
MP4 (но не в обоих одновременно).
В первом случае для auxiliary.tracks.interleaved
должно быть установлено значение 0 ( см. «Статические метаданные» ниже ), а смещения образцов в поле axte.moov
относятся к началу Auxiliary Tracks MP4 . Это делает вспомогательные дорожки MP4 автономными, что означает, что вспомогательные дорожки MP4 можно читать автономно, без каких-либо ссылок на внешний MP4.
В последнем случае для auxiliary.tracks.interleaved
должно быть установлено значение 1 ( см. «Статические метаданные» ниже ), а образцы смещений в поле axte.moov
относятся к началу файла и образцам полезных данных основного и вспомогательного файлов. треки могут чередоваться. В этом случае поле axte.mdat
может отсутствовать.
Статические метаданные
Вспомогательные дорожки MP4 содержат поле moov.meta
с обработчиком mdta
, который содержит следующие метаданные. Метаданные могут появляться в любом порядке.
Ключ метаданных | Индикатор типа | Ценить |
(Необязательно) | 75 (8-битное целое число без знака) | 0: указывает, что выборки не чередуются и находятся в поле 1: указывает на то, что сэмплы чередуются в поле Все остальные значения зарезервированы и не должны использоваться. Отсутствие этих метаданных указывает на значение по умолчанию 0. |
| 0 (зарезервировано) | Двоичный формат:
|
Порядок типов дорожек в файле auxiliary.tracks.map
указывает их порядок в полезных данных Auxiliary Tracks MP4 .
Типы вспомогательных дорожек
Вспомогательные дорожки MP4 могут содержать следующие дорожки видео и метаданных, полезные для редактирования.
Четкая видеодорожка
Видео в полном разрешении без применения редактируемых эффектов. Видеодорожка может храниться с разрешением, отличным от разрешения основной видеодорожки. Четкая видеодорожка может использовать любой распространенный видеокодек и может находиться в стандартном или расширенном динамическом диапазоне.
Глубина видеодорожки
Видеодорожка глубины предоставляет информацию о глубине, закодированную как стандартное видео в оттенках серого. Это сделано для того, чтобы обеспечить декодирование и кодирование дорожек глубины на устройствах, которые не имеют специальной поддержки декодирования или кодирования глубины. Видеодорожка глубины может использовать H.264/AVC , H.265/HEVC , VP9 , AV1 или любой другой распространенный видеокодек. Видеодорожка глубины может быть 8-битной или 10-битной и иметь линейное или инверсное кодирование (см. спецификацию динамической глубины 1.0 ).
Дорожка метаданных глубины с синхронизацией
Дорожка метаданных временной глубины содержит нормализующие значения для расчета глубины и таблицу фокусов, которую можно использовать для расчета радиуса размытия для эффекта боке.
Пример типа MIME | |
Пример синтаксиса | Двоичный формат (все с прямым порядком байтов):
|
Полупрозрачная видеодорожка
Видеодорожка, хранящая значение альфа (прозрачности) для каждого пикселя в соответствующем кадре. Минимальное значение указывает на полную прозрачность, а максимальное значение указывает на полную непрозрачность. Значения между ними представляют собой различные уровни прозрачности в линейной шкале, а при компоновке используется обычный режим наложения с неумноженными заранее значениями цвета. Подобно дорожке видео глубины , эта дорожка также должна быть закодирована как стандартное видео в оттенках серого.
Примеры использования
Сохранение воспроизводимого визуализированного видео с боке на основной дорожке со вспомогательными видеодорожками для исходных (предварительно размытых) данных резкого цвета и карты глубины, а также вспомогательной дорожки синхронизированных метаданных с метаданными глубины, отражающими точку фокусировки в каждом кадре. Вспомогательные дорожки затем можно использовать в видеоредакторе для изменения объекта фокусировки и повторной визуализации видеодорожки с эффектом боке в высоком качестве.
Сохранение предварительно обработанного полупрозрачного видео-стикера, например анимированного видео с эмодзи на белом фоне на основной видеодорожке, со вспомогательной видеодорожкой, содержащей альфа-карту. Затем наборщик может использовать вспомогательную дорожку для смешивания наклейки с фоном, используя информацию о полупрозрачности из вспомогательной дорожки.