Ресурсы
Файл FCPXML содержит многократные ссылки на совместно используемые ресурсы, такие как медиа-файлы, форматы видео и эффекты. Вы определяете ссылки на совместно используемые ресурсы в <resources> элемент, дочерний элемент <fcpxml> элемент.
Структура
<resources> элемент может включать дочерние элементы в Таблицу 3-1.
Элемент | Описание |
|---|---|
| Ссылка на медиа-файл, которым управляет библиотека. |
| Ссылка на плагин эффекта (например, FxPlug, документ Движения или Аудиоустройство). |
| Ссылка на определение формата видео Final Cut Pro X. |
| Ссылка на новое или существующее определение носителей в библиотеке. Дочерний элемент, также |
Каждый ресурс имеет id атрибут, указывающий локальный идентификатор для использования в файле FCPXML. Например, ресурс актива с локальным идентификатором r1 мог бы быть объявлен следующим образом:
<asset id="r1" name="MyMovieFile" src="/path/to/MyMovieFile.mov"/> |
Позже в том же файле, видео или аудио элемент, использующий актив, может относиться к нему его локальным идентификатором:
<video ref="r1" ... > |
Для большинства ресурсов Final Cut Pro X также присваивает более длительный уникальный идентификатор, который он пишет при экспорте файла FCPXML. Этот уникальный идентификатор сохранен как a uid атрибут в ресурсе.
Final Cut Pro X имеет и локальный идентификатор и уникальный идентификатор так, чтобы он мог различить ресурсы, уже существующие и ресурсы, импортирующиеся впервые. Экспортируемым файлам FCPXML, относящимся к существующим ресурсам, присвоил уникальные идентификаторы Final Cut Pro X, тогда как импортированные файлы FCPXML, содержащие новые ресурсы только, имеют локальные идентификаторы. Локальный идентификатор обеспечивает идентификационные данные для нового ресурса в файле FCPXML, прежде чем Final Cut Pro X присвоит его постоянный уникальный идентификатор.
Форматы носителя
<format> элемент указывает формат видео для временной шкалы. Этот элемент имеет ссылку на один из предопределенных форматов видео, перечисленных в Форматах видео через name атрибут, или это может описать пользовательский формат с помощью атрибутов в Таблице 3-2.
Атрибут | Описание |
|---|---|
| Полевой порядок на чересстрочный ( |
| Продолжительность кадра как временная стоимость. |
| Высота видеокадра, в пикселях. |
| Относительная ширина пикселя, когда видео кодируется с неквадратными пикселями. |
| Относительная высота пикселя, когда видео кодируется с неквадратными пикселями. |
| Ширина видеокадра, в пикселях. |
Данные закладки
Ограниченная по объему безопасностью закладка, связанная с <asset> элемент, требуется для поигравших в песочнице приложений, которые должны получить доступ к активу носителей (ресурс файловой системы) вне поигравшей в песочнице среды. Обратитесь к разделу Security-Scoped Bookmarks и Persistent Resource Access в Руководстве по проектированию Тестовой среды приложения для получения дополнительной информации.
Из-за этого требования Final Cut Pro X создает ограниченную по объему документом закладку (см. Таблицу 3-3) для каждого актива носителей пользователь предоставляет доступ к и включает эти данные закладки в элементе актива при экспорте события FCPXML или проекта.
Элемент | Описание |
|---|---|
| Base64-закодированная строка, представляющая ограниченные по объему безопасностью данные закладки. Это используется поигравшим в песочнице приложением для ссылки на актив вне поигравшей в песочнице среды. Закладка связана с |
Выполните эти шаги для использования ограниченной по объему безопасностью закладки в поигравшем в песочнице приложении:
Декодируйте данные закладки.
Данные закладки в элементе закладки Base64-кодируются так, необходимо сначала декодировать закладку, прежде чем это сможет использоваться. Можно использовать Безопасность, Преобразовывает API, чтобы закодировать или декодировать данные Base64 — обращаются к Безопасности, Преобразовывает Руководство по программированию для большего количества подробных данных.
Разрешите декодируемые данные закладки в ограниченный по объему безопасностью URL, указывающий на актив носителей.
Укажите, что Вы хотите использовать ограниченный по объему безопасностью URL для доступа к ресурсу файловой системы.
Получите доступ к ресурсу файловой системы с помощью ограниченного по объему безопасностью URL в приложении.
Выпустите ресурс файловой системы.
Эти шаги обрисованы в общих чертах в следующем фрагменте кода (обратитесь к Ссылке класса NSURL для подробных данных об используемых методах NSURL):
// Decode the Base64 data using the Security Transforms API. |
NSData* decodedBookmark = yourBase64DataDecodeRoutine(bookmark); |
// Resolve the decoded bookmark data into a security-scoped URL. |
NSError* err = nil; |
NSURL* url = [NSURL URLByResolvingBookmarkData:decodedBookmark |
options:NSURLBookmarkResolutionWithSecurityScope |
relativeToURL:sourceURL |
bookmarkDataIsStale:nil |
error:&err]; |
if (url) { |
// Indicate that you want to access the file-system resource. |
[url startAccessingSecurityScopedResource]; |
// Use the resolved security scoped URL. |
... |
// Release the file-system resource when you are done. |
[url stopAccessingSecurityScopedResource]; |
} |
Носители мультибегунка
Можно использовать a <multicam> медиа-элемент для сборки видеозаписи от многократных камер или углов, синхронизирующихся своевременно. A <multicam> элемент содержит один или больше <mc-angle> элементы, что каждый управляет серией других элементов истории.
Эти медиа-элементы мультибегунка перечислены в Таблице 3-4.
Элемент | Описание |
|---|---|
| Корневой контейнер для углов связанных носителей, организованных как |
| Контейнер элементов истории, организованных последовательно своевременно. |
<multicam> элемент появляется как дочерний элемент под a <media> элемент (как ресурс).
Перечисление 3-1 показывает определение мультибегунка с двумя угловыми определениями a1 и a2:
Определение Мультибегунка перечисления 3-1 с двумя углами
<resources> |
<asset id="r1" name="angle1" src="angle1.mov"/> |
<asset id="r2" name="angle2" src="angle2.mov"/> |
<format id="r3" name="FFVideoFormat720p2997"/> |
<media id="r4" name="MC Clip"> |
<multicam format="r3"> |
<mc-angle name="Angle1" angleID="a1"> |
<clip duration="10s"> |
<video ref="r1" duration="10s"> |
<audio lane="-1" ref="r1" duration="10s"/> |
</video> |
</clip> |
</mc-angle> |
<mc-angle name="Angle2" angleID="a2"> |
<clip duration="10s"> |
<video ref="r2" duration="10s"> |
<audio lane="-1" ref="r2" duration="10s"/> |
</video> |
</clip> |
</mc-angle> |
</multicam> |
</media> |
</resources> |
Используя носители мультибегунка
Для использования носителей мультибегунка в качестве клипа добавьте <mc-clip> элемент, ссылающийся на носители во временной шкале.
Каждый <mc-clip> элемент может использовать аудио и видео от того же угла, или объединить аудио и видео от отдельных углов от того же <multicam> контейнер. Вы используете <mc-source> элементы для указания, из какого угла аудио, видео, или оба происходят.
Элемент | Описание |
|---|---|
| Указывает, из какого угла определенная часть клипа прибывает. Этот элемент имеет следующие атрибуты:
|
Следующий пример ссылается на носители мультибегунка, определенные в Перечислении 3-1:
<mc-clip ref="r4" name="MC Clip" duration="10s"> |
<mc-source angleID="a1" srcEnable="all"/> |
</mc-clip> |
Аудио компоненты и мультибегунок
При использовании клипов мультибегунка в проекте можно также указать конфигурацию аудио компонентов в каждом клипе, таких как отображение канала, эффекты, роли, бесшумные диапазоны, и включена ли конфигурация. Для этого Вы используете <audio-source> элемент, как Вы делаете с регулярными элементами клипа.
Распечатка 3-2 является проектом мультибегунка в качестве примера на основе Перечисления 3-1 с двумя клипами мультибегунка, аудио компоненты которых реконфигурированы. Первому клипу реконфигурировали его аудио к моно двойному, и второму клипу реконфигурировали его аудио для инвертирования стерео с прошлыми 2 отключенными звук секундами.
Проект Мультибегунка перечисления 3-2 с двумя клипами мультибегунка и реконфигурированным аудио
<project name="Multicam Project"> |
<sequence format="r3"> |
<spine> |
<mc-clip ref="r4" offset="0s" duration="5s" start="0s"> |
<mc-source angleID="a1" srcEnable="all"> |
<audio-source name="mono1" srcCh="1" outCh="L"/> |
<audio-source name="momo2" srcCh="2" outCh="R"/> |
</mc-source> |
</mc-clip> |
<mc-clip ref="r4" offset="5s" duration="5s" start="5s"> |
<mc-source angleID="a1" srcEnable="audio"> |
<audio-source name="reverse stereo" srcCh="2, 1"> |
<mute start="3s" duration="2s"/> |
</audio-source> |
</mc-source> |
<mc-source angleID="a2" srcEnable="video"/> |
</mc-clip> |
</spine> |
</sequence> |
</project> |