Метаданные

В этой главе описываются, как сохранить метаданные в файлах фильма в формате QuickTime. Это также определяет ключи для некоторых общих типов метаданных как примеры того, как использовать возможности метаданных в формате файла QuickTime.

Обзор

Метаданные могут быть определены как полезная информация, связанная с носителями. В этом разделе описываются метод связывающихся метаданных с носителями в файле QuickTime, который расширяем и допускает тегирование страны и язык. Кроме того, это обеспечивает средние значения, чтобы сохранить тип метаданных и связать имя с метаданными. Этот метод хранения метаданных поддерживается и в QuickTime 7 и в QuickTime X.

Этот формат метаданных использует пару ключ/значение для каждого типа сохраненных метаданных. Были определены стандартные ключи, с определенными форматами для значений, которые они указывают. Посмотрите Ключи Метаданных QuickTime для подробных данных.

Тип данных

Тип хранения элементов метаданных определяется через перечислимый список типов данных, определенных статически; примером мог бы быть “простой текст Unicode”. Посмотрите таблицу Well-Known Types для подробных данных стандарта, определенных типов данных.

Значение или цель

Значение элемента метаданных идентифицирует то, что оно представляет: уведомление об авторском праве, имя исполнителя, и т.д. Это использует расширяемое пространство имен, допуская значения или ключи, которые будут добавлены, и затем сосланы от элементов метаданных. Эти ключи могут быть четырьмя кодами символов, именами в обратно-адресном формате (такими как «com.apple.quicktime.windowlocation») или любой другой формат ключа включая собственные форматы от внешних стандартов метаданных. Ключ тегируется с его пространством имен, допуская расширение в будущем. Рекомендуется, чтобы обратно-адресный формат использовался в общем случае: это обеспечивает расширяемый синтаксис для данных поставщика или для других организаций или организаций по стандартизации.

Расположение данных

Метаданные сразу сохранены в соответствующих структурах атома значением.

Локализация

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

Место хранения в файле QuickTime

В файле QuickTime метаданные могут быть сохранены в атоме фильма (‘moov’), атом дорожки (‘trak’) или атом носителей (‘mdia’). Только один атом метаданных позволяется для каждого расположения. Если существуют пользовательские данные и метаданные, сохраненные в том же расположении, и оба объявляют, что та же информация, например, объявляет уведомление об авторском праве, метаданные имеют приоритет.

Структура метаданных

Контейнер для метаданных является атомом типа ‘meta’. Атом метаданных должен содержать следующие податомы: атом обработчика метаданных (‘hdlr’), ключевой атом элемента метаданных (‘keys’), и элемент метаданных перечисляет атом (‘ilst’). Другие дополнительные атомы, которые могут содержаться в атоме метаданных, включают атом списка страны (‘ctry’), атом списка языка (‘lang’) и атом свободного пространства (‘free’). Список страны и атомы списка языка могут использоваться, чтобы хранить локализованные данные эффективным способом. Атом свободного пространства может использоваться, чтобы зарезервировать пространство в атоме метаданных для более поздних дополнений к нему или обнулить байты в атоме метаданных после редактирования и удаления элементов от него. Атом свободного пространства может не произойти ни в каком другом податоме, содержавшемся в атоме метаданных.

Atom метаданных

Атом метаданных является контейнером для переноса метаданных.

Рисунок 3-1 показывает демонстрационное расположение для этого атома.

  Выборка рисунка 3-1 атома метаданных и податомов

Atom обработчика метаданных

Атом обработчика метаданных является полным атомом с типом атома ‘hdlr’. Это определяет структуру, используемую для всех типов метаданных, сохраненных в атоме метаданных.

Расположение атома обработчика метаданных определяется:

Размер

32-разрядное целое без знака, указывающее размер в байтах структуры атома

Ввести

32-разрядный набор значений целого без знака к 'hdlr'

Версия

Один байт, установленный в 0

Флаги

Три байта, установленные в 0

Предопределенный

32-разрядное целое число, установленное в 0

Тип обработчика

32-разрядное целое число, указывающее структуру, используемую в атоме метаданных, наборе к ‘mdta’

Зарезервированный

Массив 3 констант 32-разрядный целочисленный набор без знака к 0

Имя

Имя является ЗАВЕРШЕННОЙ NULL строкой в символах UTF-8, дающей человекочитаемое имя для типа метаданных для отладки и инспекционных целей. Строка может быть пустой или единственный байт, содержащий 0.

Atom заголовка метаданных

Формат метаданных дополнительно присваивает уникальные идентификаторы элементам метаданных в таких целях как определение стабильных идентификаторов для внешних ссылок в набор элементов метаданных. Это выполняется включением атома информации об элементе в добавленных атомах элемента метаданных, содержавших атомом списка элемента метаданных. Такие уникальные идентификаторы, как должны гарантировать, будут уникальны.

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

После присвоения идентификатора к элементу метаданных, если значение nextItemID поля является меньше, чем 0xFFFFFFFF, это должно быть постепенно увеличено к следующему неиспользованному значению. Если значение nextItemID равно 0xFFFFFFFF, это не должно быть изменено: в этом случае поиск неиспользованного значения идентификатора элемента в диапазоне от 0 до 0xFFFFFFFF необходим для всех дополнений.

Атом заголовка метаданных является полным атомом с типом атома ‘mhdr’. Это содержит следующие поля:

Размер

32-разрядное целое без знака, указывающее размер в байтах структуры атома

Ввести

32-разрядный набор значений целого без знака к 'mdhr'

Версия

Один байт, установленный в 0.

Флаги

Три байта, установленные в 0.

nextItemID

32-разрядное целое без знака, указывающее значение для использования для элемента ID следующего создаваемого элемента или, присвоило элемент ID. Если значение является всеми, оно указывает, что будущие дополнения потребуют поиска неиспользованного элемента ID.

Расширяемость

Чтобы позволить метаданным быть переписанными легко и без потребности переписать весь файл фильма в формате QuickTime, атомы свободного пространства могут произойти где угодно в определении атома метаданных между позициями других атомов, содержавших атомом метаданных. Атомы свободного пространства не могут быть вставлены между элементами в атоме списка элемента метаданных или в атомах в атоме списка элемента метаданных. Это ограничение на определение атома свободного пространства избегает риска путания атома свободного пространства со значением a ‘free’ идентификатор или атом значения типа ‘free’ определенный в контексте структуры атома метаданных.

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

Проигнорированы нераспознанные атомы (т.е. те атомы, типы которых, не определенные в контексте структуры атома метаданных и, содержатся в атоме списка элемента метаданных).

Наборы списка локализации

Когда элементам метаданных связали отдельные значения больше чем с одной страной или больше чем одним языком, атом списка страны и/или атом списка языка требуются. Также, если все значения связаны с нулем или одной страной, никакой атом списка страны не требуется, и если все значения связаны с нулем или одним языком, никакой атом списка языка не требуется.

Atom списка страны

Когда один или несколько элементов должны быть идентифицированы как являющийся подходящим больше чем для одной страны, каждый список стран сохранен в этом иначе дополнительный атом. Атом списка страны является полным атомом с типом атома ‘ctry’.

Каждый список запускается с двухбайтового количества числа элементов в списке, и затем каждого представления кода ISO 3166 страны в списке.

Атом состоит из количества числа списков, выраженных как 32-разрядное целое число, и затем эти списки, добавленные от начала до конца. Атом списка страны содержит следующие поля:

Размер

32-разрядное целое без знака, указывающее размер в байтах структуры атома

Ввести

32-разрядный набор значений целого без знака к 'ctry'

Версия

Один байт, установленный в 0.

Флаги

Три байта, установленные в 0.

Entry_count

32-разрядное целое число, указывающее число Страны, выстраивает для следования в этом атоме.

Country_count

16-разрядное целое число, указывающее число Стран в массиве.

Страна [Country_count]

Массив 16-разрядных целых чисел, определенных согласно определению ISO 3166 кодов стран.

Обратите внимание на то, что:

Атом списка страны в качестве примера, состоящий из двух списков страны с двумя и тремя странами, соответственно, показан в Таблице 3-1.

Табличная 3-1  страна В качестве примера перечисляет атом

Размер поля

Поле

Полевое содержание

Комментарий

32-разрядный

atom_size

26

Размер этой страны перечисляет атом в байтах.

32-разрядный

atom_type

'ctry’

32-разрядный

entry_count

2

Число списков страны.

16-разрядный

country_count

2

Число стран в стране перечисляет 1.

16-разрядный

страна

'США'

16-разрядный

страна

'ВЕЛИКОБРИТАНИЯ'

16-разрядный

country_count

3

Число стран в стране перечисляет 2.

16-разрядный

страна

'МИРОВОЙ СУДЬЯ'

16-разрядный

страна

'США'

16-разрядный

страна

'FR'

Atom списка языка

Когда один или несколько элементов должны быть идентифицированы как являющийся подходящим больше чем для одного языка, каждый список языков сохранен в этом иначе дополнительный атом. Атом списка языка является полным атомом с типом атома ‘lang’.

Каждый список запускается с 2-байтового количества числа элементов в списке, и затем каждого ISO 6392/t код, упакованный в два байта, согласно определению Кода Языка ISO в спецификации MP4.

Атом состоит из количества числа списков, выраженных как 32-разрядное целое число, и затем эти списки, добавленные от начала до конца. Атом списка языка содержит следующие поля:

Размер

32-разрядное целое без знака, указывающее размер в байтах структуры атома

Ввести

32-разрядный набор значений целого без знака к 'lang'

Версия

Один байт, установленный в 0.

Флаги

Три байта, установленные в 0.

Entry_count

32-разрядное целое число, указывающее число языка, выстраивает для следования в этом атоме.

Language_count

16-разрядное целое число, указывающее число языков в массиве.

Язык [Language_count]

Массив 16-разрядных целых чисел, определенных согласно ISO 6392/t определение кодов языка.

Обратите внимание на то, что:

Таблица 3-2 показывает атом Списка Языка в качестве примера, состоящий из двух списков языка с тремя и двумя языками, соответственно.

Табличный 3-2  атом Списка Языка В качестве примера

Размер поля

Поле

Полевое содержание

Комментарий

32-разрядный

atom_size

26

Размер этого атома Списка Языка в байтах.

32-разрядный

atom_type

'Ленг'

32-разрядный

entry_count

2

Число списков языка.

16-разрядный

language_count

3

Число языков на языке перечисляет 1.

16-разрядный

язык

5575

Упакованный код ISO для 'инженера' (английский язык)

16-разрядный

язык

6721

Упакованный код ISO для ‘fra’ (французский язык)

16-разрядный

язык

4277

Упакованный код ISO для ‘deu’ (немецкий язык)

16-разрядный

language_count

2

Число языков на языке перечисляет 2.

16-разрядный

язык

19969

Упакованный код ISO для 'спа' (испанский язык)

16-разрядный

язык

16882

Упакованный код ISO для ‘por’ (португальский язык)

Ключевой Atom элемента метаданных

Ключевой атом элемента метаданных содержит список ключей метаданных, которые могут присутствовать в атоме метаданных. Этот список индексируется начиная с 1; 0 зарезервированное индексное значение. Ключевой атом элемента метаданных является полным атомом с типом атома ‘keys’.

Этот атом имеет следующую структуру:

Размер

32-разрядное целое без знака, указывающее размер в байтах структуры атома

Ввести

32-разрядный набор значений целого без знака к 'keys'

Версия

Один байт, установленный в 0

Флаги

Три байта, установленные в 0

Entry_count

32-разрядное целое число, указывающее число ключевых массивов для следования в этом атоме

Key_size

32-разрядное целое число, указывающее размер всей структуры, содержащей ключевое определение. Поэтому key_size = sizeof (key_size) + sizeof (key_namespace) + sizeof (key_value). Так как key_size и key_namespace являются оба целыми числами на 32 бита, вместе у них есть размер 8 байтов. Следовательно, key_value структура будет равна key_size - 8.

Key_namespace

32-разрядное целое число, определяющее схему именования, используется для ключей метаданных. Ключи метаданных расположения, например, используют ‘mdta’ ключевое пространство имен.

Key_value [Key_size-8]

Массив 8-разрядных целых чисел, каждый содержащий подлинное имя ключа метаданных. Ключи с ‘mdta’ пространством имен используют обратное соглашение о присвоении имен DNS. Например, координаты метаданных расположения используют метаданные key_value ‘com.apple.quicktime.location. ISO6709’.

Обратите внимание на то, что:

Рисунок 3-2 показывает демонстрационное расположение для этого атома.

Рисунок 3-2  типичный ключевой атом элемента метаданных

Рисунок 3-3 показывает пример ключевого атома элемента метаданных, состоящего из трех ключей: два от одного ключевого пространства имен и одной трети от другого ключевого пространства имен.

Рисунок 3-3  пример ключевого атома элемента метаданных

Atom списка элемента метаданных

Атом списка элемента метаданных содержит список фактических значений метаданных, присутствующих в атоме метаданных. Элементы метаданных отформатированы как список элементов. Атом списка элемента метаданных имеет тип ‘ilst’ и содержит много элементов метаданных, каждый из которых является атомом.

Рисунок 3-4 показывает соединение между ключами.

Рисунок 3-4  атом списка элемента метаданных и Соединение элемента/ключа

Atom элемента метаданных

Каждый элемент в атоме списка элемента метаданных идентифицируется его ключом. Тип атома для каждого атома элемента метаданных должен быть установлен равный индексу ключа для метаданных в атоме элемента, беря этот индекс от ключевого атома элемента метаданных. Кроме того, каждый атом элемента метаданных содержит Atom Значения, для содержания значения элемента метаданных.

Атом элемента метаданных имеет следующую структуру:

Item_info

Дополнительный атом информации об элементе, посмотрите Atom информации об Элементе (ID и флаги)

Имя

Дополнительный атом имени, определенный ниже.

Атом значения данных []

Массив атомов значения, определенных ниже.

Atom значения

Значение элемента метаданных выражено как непосредственные данные в атоме значения. Атом значения запускается с двух полей: индикатор типа и индикатор локали. И тип и индикаторы локали четыре байта длиной. Могут быть многократные записи 'значения', с помощью другого типа, страны или кодов языка (см. раздел Data Ordering ниже для требуемого упорядочивания).

Структура атома Значения содержит следующие поля:

Ввести

Индикатор типа, определенный в Индикаторе Типа.

Локаль

Индикатор локали, определенный в Индикаторе Локали.

Введите индикатор

Индикатор типа формируется из четырехбайтового разделения между двумя полями. Первый байт указывает набор типов, из которых нарисован тип. Второе через четвертый байт формирует второе поле, и его интерпретация зависит от значения в первом поле.

Байт индикатора должен иметь значение 0, означая, что тип нарисован из известного набора типов. Все другие значения резервируются.

Если байт индикатора типа 0, следующее хранение на 24 бита известный тип. См. список Известных Типов, в разделе Well-Known Types ниже.

Индикатор локали

Индикатор локали отформатирован как четырехбайтовое значение. Это формируется из двух двухбайтовых значений: индикатор страны и индикатор языка. В каждом случае двухбайтовому полю показали возможные значения в Таблице 3-3.

Табличная 3-3  Страна и индикаторы языка

Значение

Значение

0

Этот атом обеспечивает значение по умолчанию этой данной величины для любой локали, не явно перечисленной.

1 - 255

Значение является индексом в страну, или список языка (старший байт 0).

иначе

Значение является кодом ISO 3166 (для кода страны) или упакованный ISO 6392/t код (для языка).

Обратите внимание на то, что и ISO 3166 и ISO, 6392/t коды имеют ненулевое значение в своем старшем байте, и так будут иметь значение> 255.

Приложения, читающие метаданные, могут быть настроены для определенного набора стран или языков. Если писатель метаданных не хочет ограничивать элемент метаданных определенным набором стран, это должно использовать зарезервированное значение ZZ от ISO 3166 как его код страны. Так же, если писатель метаданных не хочет ограничивать язык пользователя (это не рекомендуется), он использует значение ‘und’ (неопределенный) от ISO 6392/t спецификация.

Приложение соответствует код страны, если или (a), которые значение, которое будет соответствующим к, 0 (значение по умолчанию) или (b) коды, равны. Если его значение является элементом того списка, приложение соответствует к списку кодов. Если и страна и язык соответствуют, приложение соответствует к локали.

Таблица 3-4 показывает некоторые теги метаданных в качестве примера.

Табличные 3-4  теги метаданных В качестве примера

Страна

Язык

Значение

0

инженер

Все динамики английского языка, независимо от страны

ГБАЙТ

0

Все люди в Соединенном Королевстве, независимо от языка

CA

fra

Французские динамики в Канаде

DE, ГБАЙТ, FR, IT

0

Люди в Германии, Франции, Соединенном Королевстве и Италии, независимо от языка

DE, ГБАЙТ, FR, IT

deu, fra

Люди в Германии, Франции, Соединенном Королевстве и Италии, кто говорит на немецком или французском языке

0

0

Значение по умолчанию, все динамики во всех странах

Для повторения, если значение country_indicator находится в диапазоне 1 - 255, это интерпретируется как индекс на основе 1 для списка страны в атоме Языка Страны в атоме Метаданных. Если значение language_indicator находится в диапазоне 1 - 255, это интерпретируется как индекс на основе 1 для списка языка в атоме Списка Языка в атоме Метаданных. Иначе, country_indicator или language_indicator неуказанные (0) или содержат непосредственное значение для единственной страны или языка.

Atom информации об элементе (ID и флаги)

Дополнительный атом информации об элементе содержит информацию об элементе: специфичные для элемента флаги и элемент дополнительный идентификатор. Этот ID должен быть уникальным в атоме метаданных. Для упрощения присвоения идентификаторов элемента nextItemInfo поле атома заголовка метаданных может использоваться, как описано в Atom Заголовка Метаданных.

Если элемент имеет присвоенный ID или имеет ненулевые флаги, атом информации об элементе должен присутствовать.

Никакие флаги в настоящее время не определяются; они должны быть установлены в 0 в этой версии спецификации.

Атом информации об элементе является полным атомом с типом атома ‘itif’. Этот атом имеет следующую структуру:

Размер

32-разрядное целое без знака, указывающее размер в байтах структуры атома

Ввести

32-разрядный набор значений целого без знака к 'itif'

Версия

Один байт, установленный в 0.

Флаги

Три байта, установленные в 0.

Item_ID

32-разрядное целое число без знака, уникальное в контейнере.

Имя

Атом Имени является полным атомом с типом атома 'имени'. Этот атом содержит имя метаданных, отформатированное как строка символов UTF-8, для заполнения атома. Это является дополнительным. Если это не присутствует, элемент является нем назван и не может именоваться по имени. Имена не являются видимым пользователем; они обеспечивают способ относиться к элементам метаданных. Максимальная длина имени может быть ограничена в определенных средах.

Никакие два элемента метаданных не могут иметь то же имя.

Этот атом имеет следующую структуру:

Версия

Один байт, установленный в 0.

Флаги

Три байта, установленные в 0.

Имя

Массив байтов, составляя строку UTF-8, содержа имя.

Структура Atom данных

Атом Данных имеет тип атома 'данных' и содержит четыре байта каждый тип и индикаторы локали, как указано в Индикаторе Индикатора и Локали Типа, и затем фактическом значении метаданных, отформатированных как требуется типом.

Этот атом имеет следующую структуру:

Введите индикатор

Индикатор типа, как определено в Индикаторе Типа.

Индикатор локали

Индикатор локали, как определено в Индикаторе Локали.

Значение

Массив байтов, содержащих значение метаданных.

Упорядочивание данных

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

Приложение может тогда выбрать изменение имя художника для отображения на основе размера, в котором это нуждается.

Данные должны быть упорядочены в каждом элементе от самых специфичных данных до самого общего. Приложение, если это желает, может прекратить 'искать' значение, как только это находит значение, которое это может вывести на экран (это имеет приемлемую локаль, и введите).

Известные типы

Основной список типа данных находится в Таблице 3-5.

Таблица 3-5  Известные типы данных

Код

Ввести

Комментарий

0

зарезервированный

Зарезервированный для использования, где не должен быть обозначен никакой тип

1

UTF-8

Без любого количества или разделителя NULL

2

UTF-16

Также известный как UTF-16BE

3

S/JIS

Осуждаемый, если это не необходимо для специальных японских символов

4

Вид UTF-8

Различное хранение строки для сортировки только

5

Вид UTF-16

Различное хранение строки для сортировки только

13

JPEG

В обертке JFIF

14

PNG

В обертке PNG

21

Целое число со знаком BE

Целое число со знаком с обратным порядком байтов в 1,2,3 или 4 байта

Примечание: Этот тип данных не поддерживается в Синхронизированных Носителях Метаданных. Используйте один из типов данных целого числа со знаком фиксированного размера (т.е. введите коды 65, 66, или 67), вместо этого.

22

Целое без знака BE

Целое без знака с обратным порядком байтов в 1,2,3 или 4 байта; размер имеющий значение определяет целочисленный размер

Примечание: Этот тип данных не поддерживается в Синхронизированных Носителях Метаданных. Используйте один из типов данных целого без знака фиксированного размера (т.е. введите коды 75, 76, или 77), вместо этого.

23

BE Float32

32-разрядное значение с плавающей точкой (IEEE754) с обратным порядком байтов

24

BE Float64

64-разрядное значение с плавающей точкой (IEEE754) с обратным порядком байтов

27

BMP

Графика растрового формата Windows

28

Атом Метаданных QuickTime

Блок данных, имеющий структуру атома Метаданных, определяется в этой спецификации

65

8-разрядное целое число со знаком

8-разрядное целое число со знаком

66

BE 16-разрядное целое число со знаком

16-разрядное целое число со знаком с обратным порядком байтов

67

BE 32-разрядное целое число со знаком

32-разрядное целое число со знаком с обратным порядком байтов

70

BE PointF32

Блок данных, представляющий двумерную (2D) точку с 32-разрядными координатами x и y с плавающей точкой с обратным порядком байтов. Это имеет структуру:

struct { BEFloat32 x; BEFloat32 y; }

71

BE DimensionsF32

Блок данных, представляющий 2D размерности с 32-разрядной шириной с плавающей точкой с обратным порядком байтов и высотой. Это имеет структуру:

struct { BEFloat32 width; BEFloat32 height; }

72

BE RectF32

Блок данных, представляющий 2D прямоугольник с 32-разрядными координатами x и y с плавающей точкой с обратным порядком байтов и 32-разрядным размером ширины и высоты с плавающей точкой с обратным порядком байтов. Это имеет структуру:

struct { BEFloat32 x; BEFloat32 y; BEFloat32 width; BEFloat32 height;}

или эквивалентная структура:

struct { PointF32 origin; DimensionsF32 size; }

74

BE 64-разрядное целое число со знаком

64-разрядное целое число со знаком с обратным порядком байтов

75

8-разрядное целое без знака

8-разрядное целое без знака

76

BE 16-разрядное целое без знака

16-разрядное целое без знака с обратным порядком байтов

77

BE 32-разрядное целое без знака

32-разрядное целое без знака с обратным порядком байтов

78

BE 64-разрядное целое без знака

64-разрядное целое без знака с обратным порядком байтов

79

AffineTransformF64

Блок данных, представляющий 3x3 матрица преобразования. Это имеет структуру:

struct { BEFloat64 matrix[3][3]; }

Вариант сортировки текста используется для языков, на которых сортировка не очевидна из письменной формы (например, некоторые формы азиатских языков). В этих случаях сортировка может только быть выполнена человеком, который может идентифицировать фактические слова путем понимания контекста. Для этих языков альтернативная форма той же информации может быть сохранена с помощью различного представления того же текста, который может быть сортированной машиной. Это альтернативное представление все еще сортируется согласно правилам вида рассматриваемого языка, как определено для текстовой системы в использовании (например, Unicode). В целом простая лексическая сортировка, сравнивающая значения одних только символов, не достаточна.

Метаданные расположения

Много систем имеют возможность обнаружить или установить их позицию в координатной ссылочной системе. Спецификация “ISO 6709:2008 Стандартное представление географического расположения точки координатами” описывает один способ хранить такую информацию. Одной из общих систем является Система глобального позиционирования (GPS), разработанная Министерством обороны США. Другие системы включают возможность некоторых систем сотового телефона триангулировать позицию сотовых телефонов и возможность, что базовые станции беспроводной связи IEEE 802.11 тегируются с их позицией (после чего мобильные модули, которые могут 'видеть' их сигнал, могут установить, что они, вероятно, 'около' того расположения).

Эта поддержка все более и более распространена во все еще и кинокамеры или составные устройства (такие как телефоны с камерой), который может функционировать как камеры.

Apple определил ключ для хранения координат места как метаданные, а также несколько вспомогательных данных о расположении. Для всех ключей метаданных расположения, определенных в этой спецификации, тип обработчика атома Метаданных должен быть ‘mdta’. Посмотрите com.apple.quicktime.location. Запись ISO6709 в следующей таблице для описания основного ключа метаданных расположения и дополнительная таблица, описывающая вспомогательные ключи метаданных расположения.

Ключи метаданных QuickTime

QuickTime определил ключи, показанные в Таблице 3-6 для содержания данных в атоме Метаданных:

  Ключи Table 3-6 Metadata

Ключ

Ключевой тип

Полезная нагрузка значения

Определение

Пример

com.apple.quicktime.album

'mdta’

Строка UTF-8 (оценивают тип 1). Может иметь многократные значения с различным языком и обозначениями кода страны.

Альбом или именем набора которого содержание фильма является частью.

Технические документы, выполняемые к блюзу, настраивают Объем 1.

com.apple.quicktime.artist

'mdta’

Строка UTF-8 (оценивают тип 1). Может иметь многократные значения с различным языком и обозначениями кода страны.

Имя художника, создавшего содержание файла ролика.

Бабушка Доу и писатели спецификации.

com.apple.quicktime.artwork

'mdta’

Представительное изображение для содержания фильма в формате, таком как JPEG (оценивают тип 13), PNG (тип 14 значения) или BMP (тип 27 значения). Это могло бы быть иллюстрациями альбома, киноафишей, и т.д.

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

(изображение искусства покрытия)

com.apple.quicktime.author

'mdta’

Строка UTF-8 (оценивают тип 1). Может иметь многократные значения с различным языком и обозначениями кода страны.

Имя автора содержания файла ролика.

(Анонимный) технический писатель

com.apple.quicktime.comment

'mdta’

Строка UTF-8 (оценивают тип 1). Может иметь многократные значения с различным языком и обозначениями кода страны.

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

Большой для смеха.

com.apple.quicktime.copyright

'mdta’

Строка UTF-8 (оценивают тип 1). Может иметь многократные значения с различным языком и обозначениями кода страны.

Оператор Copyright для содержания файла ролика.

Copyright © 2012 Grandma Doe

com.apple.quicktime.creationdate

'mdta’

Строка UTF-8 (оценивают тип 1). Может иметь многократные значения с различным языком и обозначениями кода страны.

Дата содержание файла ролика создавалась.

21.04.2012

com.apple.quicktime.description

'mdta’

Строка UTF-8 (оценивают тип 1). Может иметь многократные значения с различным языком и обозначениями кода страны.

Описание содержания файла ролика.

Эта группа инженеров берет популярные технические документы и делает музыкальные видео, выполняющие их к новым мелодиям блюза, которые они пишут.

com.apple.quicktime.director

'mdta’

Строка UTF-8 (оценивают тип 1). Может иметь многократные значения с различным языком и обозначениями кода страны.

Имя директора содержания фильма.

Папа Доу

com.apple.quicktime.title

'mdta’

Строка UTF-8 (оценивают тип 1). Может иметь многократные значения с различным языком и обозначениями кода страны.

Заголовок содержания файла ролика. Это обычно - единственная текстовая строка.

Технические писатели делают блюз

com.apple.quicktime.genre

'mdta’

Строка UTF-8 (оценивают тип 1). Может иметь многократные значения с различным языком и обозначениями кода страны.

Текст, описывающий жанр или жанры, которым соответствует содержание фильма. Нет никакого предписанного словаря для имен жанров.

Блюз

com.apple.quicktime.information

'mdta’

Строка UTF-8 (оценивают тип 1). Может иметь многократные значения с различным языком и обозначениями кода страны.

Информация о содержании файла ролика.

Зарегистрированный живой на расположении.

com.apple.quicktime.keywords

'mdta’

Строка UTF-8 (оценивают тип 1). Может иметь многократные значения с различным языком и обозначениями кода страны.

Ключевые слова связались с содержанием файла ролика.

Музыка видео Blues Specifications Group

com.apple.quicktime.location. ISO6709

'mdta’

Определенный в ISO 6709:2008.

Географическое расположение точки координатами, как определено в ISO 6709:2008.

«+27.5916+086.5640+8850 /»

com.apple.quicktime.producer

'mdta’

Строка UTF-8 (оценивают тип 1). Может иметь многократные значения с различным языком и обозначениями кода страны.

Имя производителя содержания файла ролика.

Джимми Доу младший

com.apple.quicktime.publisher

'mdta’

Строка UTF-8 (оценивают тип 1). Может иметь многократные значения с различным языком и обозначениями кода страны.

Имя издателя содержания файла ролика.

Do-Doe Art House, Inc.

com.apple.quicktime.software

'mdta’

Строка UTF-8 (оценивают тип 1). Может иметь многократные значения с различным языком и обозначениями кода страны.

Имя программного обеспечения раньше создавало содержание файла ролика.

-Блюз v2.3

com.apple.quicktime.year

'mdta’

Строка UTF-8 (оценивают тип 1). Может иметь многократные значения с различным языком и обозначениями кода страны.

Год, когда файл ролика или исходное содержание были созданы или зарегистрированы.

2012

com.apple.quicktime.collection.user

'mdta’

Строка UTF-8 (оценивают тип 1). Может иметь многократные значения с различным языком и обозначениями кода страны.

Имя, указывающее определяемый пользователем набор, включающий этот фильм.

Blues Specification Group

com.apple.quicktime.rating.user

'mdta’

BE Float32 (оценивают тип 23). Диапазон этого числа 0.0 к 5,0, включительно.

Число, присвоенное пользователем, указывающим номинальное или относительное значение фильма. Это число может колебаться от 0,0 до 5,0. Значение 0,0 указывает, что пользователь не оценил фильм.

4.5

Кроме того, QuickTime рекомендует вторичным ключам, показанным в Таблице 3-7 для содержания дополнительных метаданных быть связанными с расположением.

Табличные 3-7  Вторичные ключи для метаданных

Ключ

Ключевой тип

Полезная нагрузка значения

Определение

Пример

com.apple.quicktime.location.name

'mdta’

Строка UTF-8 (оценивают тип 1). Может иметь многократные значения с различным языком и обозначениями кода страны.

Имя расположения.

«Швеция» или “Дом бабушки”

com.apple.quicktime.location.body

'mdta’

Строка UTF-8 (оценивают тип 1). Может иметь многократные значения с различным языком и обозначениями кода страны.

Астрономическая организация, для совместимости с 3GPP формат. 'земля' принята если не существующий.

«земля»

com.apple.quicktime.location.note

'mdta’

Строка UTF-8 (оценивают тип 1). Может иметь многократные значения с различным языком и обозначениями кода страны.

Дескриптивный комментарий.

“после собаки”

com.apple.quicktime.location.role

'mdta’

Целое без знака (оценивают тип 22).

Единственный байт, двоичное значение, содержащее значение от набора: 0 указывает, что “стреляющее расположение”, 1 указывает, что “реальное расположение”, 2 указывает “вымышленное расположение”. Другие значения резервируются.

1, для стрельбы в расположение

com.apple.quicktime.location.date

'mdta’

Определенный в ISO8601:2004.

Дата и время, сохраненное использование расширенного формата, определенного в ISO 8601:2004-Элементы данных и формат обмена.

«2012-02-24T17:56Z» для даты от 24 февраля 2012, время 17:56, UTC.

com.apple.quicktime.direction.facing

'mdta’

Строка UTF-8 (оценивают тип 1), содержание машиночитаемого значения направления, как описано ниже. Это не должно быть тегировано с кодом языка или страной.

Индикация относительно направления камера обращается во время выстрела.

«+20.34M/-5.3» для заголовка 20.34º магнитный, взгляд или потеря работоспособности в 5.3º ниже горизонтали. 

com.apple.quicktime.direction.motion

'mdta’

Строка UTF-8 (оценивают тип 1), содержание машиночитаемого значения направления, как описано ниже. Это не должно быть тегировано с кодом языка или страной.

Индикация относительно направления камера перемещается во время выстрела.

«+20.34M/-5.3» для заголовка 20.34º магнитный, взгляд или потеря работоспособности в 5.3º ниже горизонтали. 

Определение направления

Для ключей метаданных, определяющих направление, com.apple.quicktime.direction.facing и com.apple.quicktime.direction.motion, направления указаны как строка, состоящая из одного или двух углов, разделенных наклонной чертой, если два происходят. Первым является направление компаса, выраженное в градусах и десятичных градусах, которым дополнительно предшествуют символы «+» или «-», и дополнительно сопровождаемый символом «M». Направление определяется максимально точно; номинальный должный север (нулевые градусы) определяется как обращающийся вдоль строки долготы системы расположения, если угол не сопровождается символом «M», указывающим магнитный заголовок. Вторым является направление повышения, выраженное в градусах и десятичных градусах между +90.0 и-90.0, с 0 являющийся горизонтальным (уровень), +90.0 являющийся прямым, и-90.0 снижающихся прямо (и для этих двух случаев, направление компаса не важно).