Темы XMEML
Эта подробная информация главы о выбранном Final Cut Pro темы XML, включая
Примечания по формату обмена XML
Синхронизация значений
Управление компонентами проекта
Управление метаданными QuickTime
Скорость XML
Примечания по формату обмена XML
Вот некоторые дополнительные подробные данные о Формате обмена.
Вы не можете закодировать информацию интерфейса пользователя, такую как размер и позиция окна, источника и целевых настроек для дорожки или высоты дорожки последовательности в документе формата обмена XML.
Переходы или просачиваются, Браузер не включен в экспорт XML.
Пользовательские имена для столбцов в Браузере не включены в экспорт XML. Экспорт проекта с именами пользовательского столбца и затем реимпорт его вызывают потерю данных.
drop/non-drop символ значения временного кода не включен в экспорт XML.
Сторонние эффекты и пользовательские основные шаблоны не экспортируются с XML. Если Вы экспортируете последовательность с помощью один и затем импортируете последовательность на машине, где эффект или шаблон не доступны, система заменяет его эффектом по умолчанию или основным шаблоном по умолчанию.
Если Вы создаете переход между двумя клипами в последовательности, экспортируете последовательность, и затем импортируете его в тот же проект, значок на переходе в исходной последовательности может потерять свое имя.
Уровень громкости для аудиотрека клипа кодируется
Audio Levelsэффект. ПараметрLevelэкспрессы линейное усиление, а не децибелы. Для преобразования усиления в децибелы используйте формулуdecibels = 20 * log10(Level). С другой стороны, для преобразования децибелов для получения использоватьLevel = 10 ^ (decibels / 20).
Для сводного описания изменений в Final Cut Pro Формат обмена XML и Окончательный вариант, посмотрите Версии XMEML и Окончательного варианта.
Синхронизация значений
Рисунок 4-1 иллюстрирует элементы синхронизации, кодирующие отношение между клипами, подклипами и носителями.

Элементы in и out закодируйте начальные и конечные пункты, указывающие мультимедийный контент, связанный с a clip или clipitem. (Напротив, элементы start и end проиллюстрированный ниже указывают размещение a clipitem в последовательности.) Элементы startoffset и endoffset закодируйте указание значений смещения a subclip.
Преобразовать in и out к значениям временного кода используйте стартовый временной код в носителях, если существует тот. Для носителей без временных кодов значение по умолчанию, начинающее временной код, является 00:00:00:00. Для носителей больше чем с одним временным кодом (таких как носители с source, aux1, aux2, sound), ищите primarytimecode подэлемент и использование то значение.
Рисунок 4-2 иллюстрирует элементы, кодирующие значения синхронизации для a clipitem в последовательности.

Элементы start и end закодируйте запуск и конец a clipitem в последовательности включения. Элемент duration кодирует длину a clipitem. Обратите внимание на то, что duration значение для a clipitem может не соответствовать duration значение соответствующих носителей, даже когда clipitem и медиа-файл совершенно выровненный. Применение скорости к a clipitem, изменение его framerate или других редактирований может измениться duration из clipitem.
Преобразовать start и end к значениям временного кода используйте временной код в содержании последовательности, или, для клипов Браузера, временного кода на file из содержания clip.
Рисунок 4-3 иллюстрирует отношения синхронизации элементов для углов мультиклипа и мультиклипа.

angle кодирование для клипа 1 показывает, что угловой зажим может использовать in и out кодирование для указания, какая часть носителей должна использоваться для клипа.
Синхронизация in точка (synctype 1) означает что весь in точки для каждого углового зажима выстроены в линию в начале мультиклипа. В этом случае нет mediadelay требуется.
Упрощенный angle кодирование для клипа 2 показывает, как можно выстроить в линию угловые зажимы в мультиклипе. Второй угол будет черным с начала мультиклипа, в течение какого-то времени указанного в mediadelay. Тогда второй угловой зажим выведен на экран. (Обратите внимание на то, что это не целесообразно для mediadelay быть отрицательным, так как можно просто отметить более позднее in на клипе для достижения того же результата.)
Хороший способ понять эти, которые оценивает синхронизация, состоит в том, чтобы создать желаемое выравнивание мультиклипа в Final Cut Pro, затем изменить что-то (как in точка для одного клипа), и делают другой мультиклип, затем сравнивают XML для мультиклипов и видят, где они отличаются.
Скорость и специальные ключевые кадры
Окончательный вариант кодирует скорость на a clipitem с массивом специальных ключевых кадров.
Спецификация специального ключевого кадра включает элементы when и value, где when позиция ключевого кадра в clipitem и value соответствующая позиция в базовых носителях. Элемент when всегда является неотъемлемой частью; value может быть дробным, который указывает, что это будет смешано в следующий кадр.
Первый ключевой кадр всегда имеет значение 0 для when, и последний ключевой кадр всегда имеет продолжительность clipitem как значение для when
Скорость может быть или постоянной или переменной.
Если скорость является постоянной, график
when-valueпары линейны.Если скорость является переменной, значения
when-valueпары произвольны, и получающийся график нелинеен.
Специальные и виртуальные ключевые кадры
Окончательный вариант экспортирует четыре специальных ключевых кадра для a clipitem со скоростью. Они:
speedkfstart— первый ключевой кадр. Не представляют еслиspeedkfinнаходится на первом кадре.speedkfin— ключевой кадр в в точке.speedkfout— ключевой кадр в указывает.speedkfend— последний ключевой кадр. Не представляют еслиspeedkfoutв конце.
Время от времени Окончательный вариант выписывает ключевой кадр скорости в XML, который не находится фактически на clipitem. Эти «виртуальные» ключевые кадры отмечаются с помощью булева элемента speedvirtualkf набор к TRUE.
Окончательный вариант игнорирует виртуальные ключевые кадры на импорте, если они не находятся на первом или последнем ключевом кадре.
anchoroffset Элемент
anchoroffset элемент является новым в версии 5 Final Cut Pro Формат обмена XML (xmeml). Это - дополнительное значение, описывающее смещение от ключевого кадра для воспроизведения. Final Cut Pro использует его для сохранения точности по изменениям скорости.
Например, при применении 200%-й скорости к clipitem кадры воспроизвели бы в: 0, 2, 4... Но если speedkfin установлен в 3, воспроизведение запустилось бы с кадра, который больше не доступен. Для корректировки Окончательный вариант добавляет anchoroffset 1,0 так, чтобы известность воспроизвела бы в 1, 3, 5, 7... запустившись правильно с кадра, указанного speedkfin .
Корректировки ключевого кадра
По историческим причинам существует два modifications, которые необходимо иметь в виду при чтении или записи специальных ключевых кадров для скорости.
Последняя Корректировка Кадра — инкременты Окончательного варианта
whenиvalueв последнем ключевом кадре 1.Постоянная Обратная Корректировка — Для постоянных обратных ключевых кадров, Окончательный вариант постепенно увеличивает все
valueнастройки 1, за исключениемvalueв последнем ключевом кадре, если это было уже постепенно увеличено Последней корректировкой Кадра.
Импорт ключевых кадров скорости
Окончательный вариант интерпретирует ключевые кадры скорости в импорте по-другому для переменной и постоянной скорости.
Для переменной скорости Окончательный вариант интерпретирует ключевые кадры скорости, как указано.
Для постоянной скорости Окончательный вариант создает свой график скорости:
Чтение
valueспецификация первого ключевого кадра.Определение числа кадров, используемых путем чтения
valueспецификация последнего ключевого кадра и вычитанияvalueспецификация первого ключевого кадра.Установка
durationиз графика скорости какwhenспецификация последнего ключевого кадра.Корректировка графика скорости как требуется, чтобы гарантировать, что установка графика в в точке соответствует
speedkfinспецификация. Обратите внимание на то, что, если ключевой кадр отмечается как виртуальный и не является первым или последним ключевым кадром, Окончательный вариант игнорирует тот ключевой кадр.
Экспорт ключевых кадров скорости
Окончательный вариант пишет ключевые кадры для скорости после этих соглашений:
Если ключевой кадр не существует в
speedkfnилиspeedkfout, Окончательный вариант добавляет один и отмечает его как виртуальный.Окончательный вариант применяет поправки, упомянутые в разделе «Keyframe Adjustments» выше. Отметьте эти точки:
Установка для
whenв последнем ключевом кадре должен согласиться сdurationизclipitem.Если скорость является постоянной и если настройки ключевого кадра не производят линейный график, Окончательный вариант корректирует настройки для создания линейного графика при поддержании настроек для
speedkfin.
Идентификация носителей
Одна общая причина ключевых кадров скорости считывания состоит в том, чтобы идентифицировать кадры носителей, используемые в speedkfin, или в speedkfout, или между speedkfin и speedkfout.
Для в точке в носителях, используйте установку
valueвspeedkfinключевой кадр.Для точки в носителях, запустите с установки
valueвspeedkfoutключевой кадр. Вычтите из этого наклон междуspeedkfoutключевой кадр и предыдущий ключевой кадр. Это вычисление требуется потому чтоspeedkfoutиспользует упорядочивание на основе 1 — посмотрите Примечание.Для степени носителей, используемых, когда скорость будет contstant, проверьте
valueнастройки вspeedkfinиspeedkfout; для переменной скорости проверьте ключевые кадры междуspeedkfinиspeedkfout.
Управление компонентами проекта
Окончательный монтаж Pro Формат обмена XML позволяет Вам изменить или обновить открытые проекты с помощью элементов uuid и updatebehavior. Также, можно использовать itemhistory элемент для отслеживания истории редактирования a clipitem.
uuid и updatebehavior Элементы
uuid элемент уникально и постоянно идентифицирует отдельные компоненты (клипы, стеллажи и последовательности) в проекте. Так как это сохраняется с файлом проекта, можно использовать его для отслеживания подробных изменений во время потока операций.
updatebehavior элемент позволяет Вам изменять UUID-идентифицированные компоненты в открытом проекте. Целевой компонент в проекте может быть клипом, стеллажом или последовательностью. Также, можно использовать updatebehavior изменить метаданные в файле QuickTime. (Займитесь основными клипами),
Целевой компонент идентифицируется uuid запись. Например, вот отрывок XML, заменяющий клип в Браузере:
Перечисление 4-1 , заменяющее клип в браузере
<?xml version="1.0" encoding="UTF-8"?> |
<!DOCTYPE xmeml> |
<xmeml version="5"> |
<clip id="clip2 "> |
<uuid>7ACBD5FC-C166-40F9-AE36-55B39476D8E6</uuid> |
<updatebehavior>replaceiffound</updatebehavior> |
<!--Information about the replacement clip --> |
</clip> |
Когда этот отрывок импортируется, Final Cut Pro ищет компонент в проекте с соответствием UUID. Если это находит один, это заменяет компонент клипом, указанным в документе формата обмена. (В этом случае заменяющий клип появляется на самом верхнем уровне Браузера.), Если это не находит целевой клип, ничто не происходит.
Для замены клипа в стеллаже необходимо указать стеллаж и все его содержание. Например, Перечисление 4-2 заменяет клип в Стеллаже 1.
Перечисление 4-2 , заменяющее клип в стеллаже
<?xml version="1.0" encoding="UTF-8"?> |
<!DOCTYPE xmeml> |
<xmeml version="5"> |
<bin> |
<uuid>4FDDECFA-D312-4272-8DE8-BE98E4BA5F92</uuid> |
<updatebehavior>replaceiffound</updatebehavior> |
<name>Bin 1</name> |
<children> |
<clip id="clip2 "> |
<uuid>7ACBD5FC-C166-40F9-AE36-55B39476D8E6</uuid> |
<updatebehavior>add</updatebehavior> |
<!-- Information about the replacement clip --> |
</clip> |
</bin> |
Точно так же заменять деталь clipitem в последовательности необходимо заменить всю последовательность.
Путем Вы указываете, что расположение заменяющего компонента в документе импорта имеет приоритет. Например, если целевой клип находится в Стеллаже 1 и если Вы импортируете отрывок, такой как Перечисление 4-1, Final Cut Pro удаляет клип из Стеллажа 1 и помещает заменяющий клип в верхний уровень Браузера.
Желаемое поведение во время импорта указано записью для updatebehavior. Действительные доступы:
replaceiffound- Заменяет целевой компонент, если найдено. Если не найденный, ничего не делает.
replaceoradd- Заменяет целевой компонент, если найдено. Если не найденный, добавляет импортированный компонент к проекту.
addifnotfound- Если целевой компонент не найден, добавляет импортированный компонент к проекту. Если целевой компонент найден и если целевой компонент является стеллажом, атрибуты стеллажа проигнорированы, и дочерние элементы стеллажа обрабатываются согласно их
updatebehaviorнастройки. add- Добавляет импортированный компонент к проекту. Если компонент с тем же
uuidзапись присутствует, измененияuuidзапись импортированного объекта. remove- Удаляет целевой объект, если найдено. Если не найденный, ничего не делает.
itemhistory Элемент
В первый раз Вы экспортируете XML для a clipitem, Окончательный вариант создает UUID для элемента. Если Вы изменяете clipitem и экспортируйте его снова, Окончательный вариант генерирует новый UUID для элемента. Элемент itemhistory кодирует список UUIDs, связанного с деталью clipitem. Главный UUID в списке является текущим UUID для элемента и, как гарантируют, будет уникален. Остальная часть списка является архивной записью UUIDs, связанного с элементом. (Нижней частью элемент UUID в списке является начальный UUID, сгенерированный для clipitem или UUID исходного элемента, из которого был получен текущий элемент.)
Например, предположите экспорт a clipitem впервые. Это присваивается начальный UUID:
<itemhistory> |
<uuid>3510A3C8-5C79-4AA4-9A81-38B40397C0DC </uuid> |
</itemhistory> |
Вы тогда блейд clipitem и экспортируйте оба элемента. XML для первого элемента:
<itemhistory> |
<uuid>CC70F2BC-1777-4FF6-8846-58A8A3D2DA0E</uuid> |
<uuid>3510A3C8-5C79-4AA4-9A81-38B40397C0DC</uuid> |
</itemhistory> |
XML для второго элемента:
<itemhistory> |
<uuid>DD30375E-5CF3-4EB7-B209-36624768C4BB</uuid> |
<uuid>3510A3C8-5C79-4AA4-9A81-38B40397C0DC</uuid> |
</itemhistory> |
Общий заключительный UUID для этих двух элементов показывает, что они возникают.
Управление метаданными QuickTime
Final Cut Pro 5.1.2 поддерживает метаданные в файлах QuickTime. Когда Final Cut Pro открывает или перечитывает файл QuickTime с метаданными, он кэширует копию метаданных в проекте. (Файл является авторитетным источником метаданных; если файл изменяется, кэшируемые изменения копии.)
Для управления метаданными QuickTime версией 3 Final Cut Pro, Формат обмена XML обеспечивает элемент metadata и его подэлементы. (См. Метаданные QuickTime) С этими новыми элементами можно вывести на экран метаданные в проекте путем экспорта документа формата обмена. В additionl можно фактически изменить метаданные в файле QuickTime путем импорта документа формата обмена с соответственно указанными элементами.
В Final Cut Pro метаданные QuickTime появляются на уровнях дорожки или фильме; т.е. родители metadata может быть file, video, или audio. Вот фрагмент XML, выводящий на экран некоторые метаданные на уровне фильма.
Демонстрационные метаданные перечисления 4-3
<file id="clouds"> |
<name>clouds</name> |
<pathurl>file://localhost/Users/. . .</pathurl> |
<rate> |
<timebase>8</timebase> |
</rate> |
<duration>91</duration> |
<metadata> |
<storage>QuickTime</storage> |
<key>com.mycompany.myapp.myid.mymd</key> |
<size>11</size> |
<type>UTF8</type> |
<value>My metadata</value> |
</metadata> |
<media> |
. . . |
При импорте документов формата обмена с информацией о метаданных Final Cut Pro кэширует импортированные метаданные. Однако, когда переподключения Final Cut Pro сослались на файлы QuickTime к проекту, метаданные в этих файлах заменяют метаданные, которые Вы импортировали.
Можно постоянно изменить метаданные в файле QuickTime при помощи элемента updatebehavior как подэлемент metadata. В этом контексте, updatebehavior имеет два действительных доступа: add или remove. Вот использование фрагмента XML add.
Перечисление 4-4 , добавляющее метаданные
<metadata> |
<updatebehavior>add</updatebehavior> |
<storage>QuickTime</storage> |
<key>com.mycompany.myapp.myid.mymd</key> |
<size>22</size> |
<type>UTF8</type> |
<value>My additional metadata</value> |
</metadata> |
Метаданные в файлах QuickTime сохранены как пара ключ/значение. В Перечислении 4-4 значение и ключ добавляются к метаданным в файле. Если файл уже имеет идентичный ключ, импортированное значение не заменяет существующих значений. Вместо этого новое значение сохранено рядом с существующими значениями для того ключа. Обратите внимание на то, что a key указан с обратной-dns строкой, чтобы помочь гарантировать уникальность.
Используя remove, с другой стороны, действительно влияет на существующие метаданные в файле. Вот пример:
Перечисление 4-5 , удаляющее метаданные
<metadata> |
<updatebehavior>remove</updatebehavior> |
<storage>QuickTime</storage> |
<key>com.mycompany.myapp.myid.mymd</key> |
</metadata> |
Это удаляет указанный ключ и все его присваиваемые значения от файла. (Обратите внимание на то, что не необходимо указать подэлементы type, size, или value.)
Когда Вы импортируете документ формата обмена с metadata спецификации, Final Cut Pro сначала обрабатывает спецификации с remove, и затем те с add. (Это позволяет Вам легко заменять значения для определенного ключа из единственного документа импорта.)