Ресурсы

Файл FCPXML содержит многократные ссылки на совместно используемые ресурсы, такие как медиа-файлы, форматы видео и эффекты. Вы определяете ссылки на совместно используемые ресурсы в <resources> элемент, дочерний элемент <fcpxml> элемент.

Структура

<resources> элемент может включать дочерние элементы в Таблицу 3-1.

Табличные 3-1  элементы Ресурса

Элемент

Описание

<asset>

Ссылка на медиа-файл, которым управляет библиотека.

<effect>

Ссылка на плагин эффекта (например, FxPlug, документ Движения или Аудиоустройство).

<format>

Ссылка на определение формата видео Final Cut Pro X.

<media>

Ссылка на новое или существующее определение носителей в библиотеке. Дочерний элемент, также <multicam> или <sequence>, указывает, является ли это мультибегунком или составным клипом.

Каждый ресурс имеет 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.

Табличные 3-2  атрибуты Элемента формата

Атрибут

Описание

fieldOrder

Полевой порядок на чересстрочный (upper first или lower first), или прогрессивное видео (progressive).

frameDuration

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

height

Высота видеокадра, в пикселях.

paspH

Относительная ширина пикселя, когда видео кодируется с неквадратными пикселями.

paspV

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

width

Ширина видеокадра, в пикселях.

Данные закладки

Ограниченная по объему безопасностью закладка, связанная с <asset> элемент, требуется для поигравших в песочнице приложений, которые должны получить доступ к активу носителей (ресурс файловой системы) вне поигравшей в песочнице среды. Обратитесь к разделу Security-Scoped Bookmarks и Persistent Resource Access в Руководстве по проектированию Тестовой среды приложения для получения дополнительной информации.

Из-за этого требования Final Cut Pro X создает ограниченную по объему документом закладку (см. Таблицу 3-3) для каждого актива носителей пользователь предоставляет доступ к и включает эти данные закладки в элементе актива при экспорте события FCPXML или проекта.

Табличный 3-3  элемент Закладки

Элемент

Описание

<bookmark>

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

Закладка связана с <asset> элемент.

Выполните эти шаги для использования ограниченной по объему безопасностью закладки в поигравшем в песочнице приложении:

  1. Декодируйте данные закладки.

    Данные закладки в элементе закладки Base64-кодируются так, необходимо сначала декодировать закладку, прежде чем это сможет использоваться. Можно использовать Безопасность, Преобразовывает API, чтобы закодировать или декодировать данные Base64 — обращаются к Безопасности, Преобразовывает Руководство по программированию для большего количества подробных данных.

  2. Разрешите декодируемые данные закладки в ограниченный по объему безопасностью URL, указывающий на актив носителей.

  3. Укажите, что Вы хотите использовать ограниченный по объему безопасностью URL для доступа к ресурсу файловой системы.

  4. Получите доступ к ресурсу файловой системы с помощью ограниченного по объему безопасностью URL в приложении.

  5. Выпустите ресурс файловой системы.

Эти шаги обрисованы в общих чертах в следующем фрагменте кода (обратитесь к Ссылке класса 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.

Табличные 3-4  медиа-элементы Мультибегунка

Элемент

Описание

<multicam>

Корневой контейнер для углов связанных носителей, организованных как <mc-angle> элементы.

<mc-angle>

Контейнер элементов истории, организованных последовательно своевременно.

<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-5  исходный элемент Мультибегунка

Элемент

Описание

<mc-source>

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

  • angleID— Указывает угол.

  • srcEnable— Указывает который источник использовать, если таковые имеются, от угла (один из audio, video, all, или none).

Следующий пример ссылается на носители мультибегунка, определенные в Перечислении 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>