Техническое примечание TN2174

Final Cut Pro X - Метаданные в MP4

Final Cut Pro X распознает временной код и определенные метаданные в файлах MP4, так, как это делает в фильме в формате QuickTime (MOV) файлы. Этот документ описывает формат временного кода и маркеров главы, сохраненных как дорожка в файлах MP4. Это также обсуждает, как метаданные поддержки Final Cut Pro X сохранены в файлах MP4 как пользовательские элементы данных.

Введение
Формат файла MP4
Временной код и маркеры главы
Дорожка временного кода
Дорожка маркера главы
Метаданные ролика
Ссылки
Приложение A: 3GPP пользовательские ключи данных
Приложение B: пользовательские ключи данных редактирования видео
История версии документа

Введение

Потребительские Видеокамеры уровня / Полупрофессиональные Видеокамеры уровня и Цифровые видеокамеры для покадровой съемки (DSLRs и DSCs) требуют, чтобы автономный формат медиа-файла перенес полученное аудио/видеоматериалы и метаданные. Формат файла QuickTime [1] удовлетворяет эту потребность очень приятно, однако существует увеличенный уровень интереса среди производителей камеры для спецификации на основе стандарта, таких как MP4.

Это адреса документов такой интерес путем определения формата временного кода и маркера главы отслеживает в Формате файла MP4 [2], заимствования соответствующих определений от Формата файла QuickTime. Кроме того, Apple рекомендует использовать Пользовательский контейнер Данных для хранения невременных метаданных в файле MP4 с ключами, определенными в 3GPP стандарт [5]. Документ также определяет дополнительные ключи метаданных, предназначенные для использования с приложениями редактирования видео, такими как Final Cut Pro X.

Формат файла MP4

Формат файла MP4 является мультимедийным контейнерным форматом файла, определенным как часть стандарта MPEG 4. Официальным названием стандарта является ISO/IEC, 14496-14:2003 [2], часто времена, называемые частью 14 MPEG 4. Это определяет, как сохранить видеопотоки и аудиопотоки, закодированные с определенными кодеками, такими как часть 2 MPEG 4 или часть 10 (H.264/AVC) MPEG 4 и Усовершенствованное кодирование звука (AAC). Формат файла MP4 также используется для хранения текста подзаголовка в MPEG 4 Синхронизированный Текстовый формат (часть 17 [3] MPEG 4).

Формат файла MP4 имеет общие положения для переноса временных метаданных с помощью определений в Формате Медиа-файла Основы ISO (часть 12 [4] MPEG 4), но нет никакой конкретной спецификации, чтобы хранить информацию временного кода или маркеры главы. Существуют очень ограниченные невременные или метаданные ролика (только авторское право) определены в частности для MP4.

Временной код и маркеры главы

Apple рекомендует, чтобы разработчики и производители использовали следующие два типа дорожки для хранения временного кода и маркеров главы в файле MP4:

Эти типы дорожки уже доступны в Формате файла QuickTime. Проект Формата файла MP4 подобен Формату файла QuickTime, поэтому естественно занять эти конструкции, определенные в Формате файла QuickTime, чтобы поддерживать функции в Формате файла MP4. Может, однако, быть надлежащим отбросить устаревший QuickTime определенные конструкции, которые являются неловкими в контексте спецификации ISO.

Дорожка временного кода

Дорожка временного кода в файле MP4 использует конструкции, определенные в Формате файла QuickTime с некоторыми незначительными модификациями.

Остальная часть функциональности дорожки Временного кода QuickTime, такой как 64-разрядная поддержка временного кода, сохраняется.

Информация о носителях временного кода

Следующие разделы описывают поля под полем Media (mdia) это указывает дорожку временного кода.

Ссылочное поле обработчика

Тип обработчика tmcd в поле Handler Reference (hdlr) под полем Media (mdia), как определено в Спецификации [1] Формата файла QuickTime. Это указывает, что дорожка содержит информацию о временном коде.

Поле заголовка информации о носителях

Для дорожки временного кода, поле Null Media Header (nmhd) используется в качестве заголовка информации о носителях. Это в отличие от поля Generic Media Header (gmhd) используемый в дорожке Временного кода QuickTime.

В отличие от дорожки Временного кода QuickTime, нет никакого поля Timecode Media Information (tcmi). Информация в этом поле о форматировании временного кода как текст. Учитывая временной код метаданные, информацию о форматировании больше не считают релевантной, и поэтому отбрасывают.

Демонстрационная запись временного кода

Демонстрационная запись дорожки временного кода использует ту же структуру в качестве Демонстрационного Описания Временного кода, определенного в фильме в формате QuickTime спецификация [1] Формата файла, за исключением исходного поля ссылки. Демонстрационное определение Записи Временного кода представлено в Перечислении 1 с той же нотацией, используемой в спецификации [2] MP4.

  Демонстрационное определение Записи Временного кода перечисления 1

class TimecodeSampleEntry(codingName) extends SampleEntry(codingName) {
   const unsigned int(32) reserved = 0;
   unsigned int(32) flags;
   int(32) timescale;
   int(32) frameDuration;
   int(8) numFrames;
   const unsigned int(8) reserved = 0;
}

codingName поле является одним из следующего:

  • tmcd — Для 32-разрядных выборок временного кода.

  • tc64 — Для 64-разрядных выборок временного кода.

flags поле содержит следующие флаги:

  • Кадр отбрасывания (0x0000001) — Указывает, является ли временной код кадром отбрасывания. Если флаг установлен, это - кадр отбрасывания.

  • 24-часовой макс. (0x0000002) — Указывает ли обертки временного кода после 24 часов. Если флаг установлен, это переносится.

  • Отрицательные времена OK (0x0000004) — Указывает, позволяются ли отрицательные временные стоимости. Если флаг установлен, отрицательные величины позволяются.

  • Счетчик (0x0000008) — Указывает, является ли значение временного кода, которое представляет эта дорожка, значением счетчика ленты. Если флаг установлен, это - значение счетчика ленты.

timescale поле указывает масштаб времени для frameDuration поле.

frameDuration поле указывает, сколько времени каждый кадр длится в режиме реального времени.

numFrames поле содержит число кадров в секунду для формата временного кода. Если временной код является счетчиком, это - число кадров для каждой встречной галочки.

Это - точно то же как Демонстрационное Описание Временного кода QuickTime, за исключением того, что отбрасывается исходное ссылочное расширение.

Выборки временного кода

Демонстрационный формат совпадает с Дорожкой Временного кода QuickTime. Когда данные идут от одного формата до другого, нет никакой потребности в транскодировании.

Ссылка дорожки временного кода

Apple не рекомендует использовать ссылки дорожки, указывающие определенную ассоциацию к другим дорожкам носителей. Обычно дорожка временного кода представляет временной код для всего полученного фильма, и поэтому никакая ссылка дорожки не требуется.

Дорожка маркера главы

Маркер Главы отслеживает текстовые маркеры главы хранилищ в файле MP4 как дорожка недоступного текста со ссылкой дорожки, идентифицирующей дорожку как дорожку маркера главы. Это использует конструкции, определенные в Спецификации Формата файла QuickTime с помощью незначительных модификаций.

Информация о носителях маркера главы

Следующие разделы описывают поля под полем Media (mdia) это указывает дорожку маркера главы.

Ссылочное поле обработчика

Тип обработчика установлен в text в поле Handler Reference (hdlr) под полем Media (mdia). Это указывает, что дорожка содержит текстовые данные.

Поле заголовка информации о носителях

Для дорожки Маркера Главы, поле Null Media Header (nmhd) используется в качестве заголовка информации о носителях. Это в отличие от поля Generic Media Header (gmhd) поле используется в Текстовой дорожке QuickTime.

Демонстрационная запись производителя главы

Хранить информацию, определенную для выборок Маркера Главы, TextSampleEntry определенный в MPEG 4 Синхронизированный Текстовый формат [3], первоначально определенный в 3GPP Синхронизированный Текстовый формат [6], используется. Поскольку маркеры главы рассматривают как метаданные и не часть представления, всей текстовой информации о форматировании, такой как шрифт, стиль, текстовое поле, цвет и выравнивание, проигнорированы.

Демонстрационный формат маркера главы

Выборка Маркера Главы является серией символов Unicode, или в UTF-16 или в UTF-8, которому предшествует 16-разрядное целое без знака, указывающее число байтов, которые приводит в рабочее состояние ряд. Если размер выборки носителей больше, чем число обозначенных байтов, дополнительные данные проигнорированы. Если UTF-16 используется, должен быть BOM (Знак Порядка байтов) в начале серийного формата указания и порядка байтов символов Unicode.

Это - подмножество MPEG 4 Синхронизированный текстовый Демонстрационный Формат [3]. Нет никакой информации о форматировании. Достаточно просто транскодировать MPEG 4 Синхронизированная Текстовая дорожка в дорожку Маркера Главы путем простого снятия изоляции с информации о форматировании.

Поле заголовка дорожки маркера главы

Чтобы указать, что текстовые выборки в дорожке маркера главы не являются частью представления, дорожка маркера главы должна быть отключена. Для этого установите track_enabled флаг, который является нулевым битом поля флагов, к 0.

Ссылка дорожки маркера главы

Ссылка дорожки типа chap от включенной дорожки до Маркера Главы должна существовать дорожка, как это с дорожкой Маркера Главы в фильме в формате QuickTime.

Метаданные ролика

Для клипа (или невременный) метаданные, Apple рекомендует использовать Пользовательский контейнер Данных и элементы метаданных хранилища как пользовательские элементы данных с пользовательскими ключами данных, каждый из которых является четырьмя кодами символа. Это обеспечивает достаточную функциональность для переноса ориентированных на текст элементов метаданных с определением языка. 3GPP формат файла [5] определяет больше чем дюжину пользовательских ключей данных, и Apple рекомендует следовать тем определениям. Следующие три ключа в настоящее время поддерживаются Final Cut Pro X:

Приложение A: 3GPP Пользовательские Ключи Данных перечисляет ключи метаданных, определенные в 3GPP Выпуск 12 [5]. Обратитесь к спецификации [5] для определений пользовательских типов данных.

Apple также определяет дополнительные пользовательские ключи данных для видео приложений, таких как Final Cut Pro X, таких как производитель и имя модели камеры. Приложение B: Пользовательские Ключи Данных Редактирования видео содержат список тех пользовательских ключей данных. Обратите внимание на то, что строковое значение для ключа даты создания, как ожидают, будет в формате [7] ISO 8601 строки даты.

В отличие от этого с ключами QuickTime Metadata, нет безопасного способа представить закрытые ключи для пользовательских ключей данных. Для файла MP4 частные метаданные должны быть сохранены в поле UUID, как определено в формате [4] Медиа-файла Основы ISO.

Ссылки

[1] Спецификация формата файла QuickTime, 2012, Apple Inc.

[2] Часть 14 MPEG 4: формат файла MP4; ISO/IEC 14496-14:2003, Международная организация по стандартизации

[3] Часть 17 MPEG 4: Потоковая передача текстового формата; ISO/IEC 14496-17:2006, Международная организация по стандартизации

[4] Часть 12 MPEG 4: ISO базирует формат медиа-файла; ISO/IEC 14496-12:2012, Международная организация по стандартизации

[5] 3GPP TS 26.244 v12.1.0: 3GPP формат файла (3GP) (Выпуск 12), Проект Партнерства третьего поколения

[6] 3GPP TS 26.245 V12.0.0: 3GPP Синхронизированный текстовый формат (Выпуск 12), Проект Партнерства третьего поколения

[7] Элементы данных и форматы обмена - Обмен информацией - Представление дат и времени; ISO 8601:2004, Международная организация по стандартизации

Приложение A: 3GPP пользовательские ключи данных

Обратитесь к [5] для определения пользовательских типов данных.

Табличные 1 3GPP  пользовательские ключи данных

Ключ

Имя

Ввести

Описание

titl

заголовок

строка

Заголовок носителей.

dscp

описание

строка

Заголовок или описание для носителей.

cprt

авторское право

строка

Заметьте об организации, содержащей авторское право на носители.

перфект

исполнитель

строка

Исполнитель или художник для носителей.

автор

Автор

строка

Автор носителей.

gnre

жанр

строка

Жанр (категория или стиль) носителей.

rtng

оценка

пользовательский

Оценка носителей, включая объект оценки и критерии оценки.

clsf

классификация

пользовательский

Классификация носителей, включая объект классификации и индекс, указывающий таблицу классификации.

kywd

ключевое слово

список строк

Ключевые слова носителей.

местоположения

расположение

пользовательский

Информация о расположении, включая имя расположения, роль, долготу, широту, высоту, астрономическую организацию и примечания.

albm

альбом

пользовательский

Название альбома и номер дорожки для носителей.

yrrc

запись года

целое число

Запись года для носителей.

колледж

набор

строка

Имя набора, от которого носители прибывает из.

урат

пользовательский рейтинг

целое число

Звезда пользователя, оценивающая для носителей.

thmb

миниатюра

пользовательский

Изображение миниатюр носителей.

Приложение B: пользовательские ключи данных редактирования видео

Табличные 2  пользовательские ключи данных редактирования видео

Ключ

Имя

Ввести

Описание

manu

производитель

строка

Имя производителя камеры.

modl

имя модели

строка

Имя модели камеры.

slno

последовательный нет

строка

Порядковый номер камеры.

clid

клип ID

строка

Идентификатор клипа.

clfn

отсеките имя файла

строка

Имя файла клипа.

cmid

камера ID

строка

Идентификатор камеры.

cmnm

имя камеры

строка

Имя, идентифицирующее камеру.

барабан

барабан

строка

Имя бобины с лентой.

scen

сцена

строка

Имя сцены для клипа.

выстрел

выстрел

строка

Имя, идентифицирующее выстрел.

angl

угол

строка

Имя угла камеры, полного, который был застрелен клип.

дата

дата создания

строка

Дата и время, отформатированная согласно ISO 8601, когда запустилась запись клипа.



История версии документа


ДатаПримечания
18.12.2013

Новый документ, описывающий формат временного кода и других метаданных Final Cut Pro X, распознает в файлах MP4.