Основы кодирования
Эта глава обеспечивает введение в основные характеристики Final Cut Pro Формат обмена XML. В частности это объясняет, как формат обмена может закодировать клип, последовательность, проект и эффект.
Для примеров применения формата обмена к определенным задачам см. Приложения Формата обмена
Для справочной документации об элементах формата обмена см. Каталог Элементов
Для получения информации о различных версиях формата обмена посмотрите Версии XMEML и Окончательного варианта
Эта глава содержит следующие разделы:
Специальные Соглашения представляют наследование и
idсоглашения формата обмена.Кодирование Клипа показывает, как закодировать клип.
Кодирование Последовательности детализирует кодирование последовательности.
Кодирование Проекта объясняет требования для кодирования проекта.
Кодирование взглядов Эффектов на кодирование эффектов.
Специальные соглашения
Окончательный монтаж Pro Формат обмена XML использует ряд специальных соглашений вне основных соглашений XML, влияющих, как документ анализируется и переводится при импорте его в Final Cut Pro. Эти соглашения — наследование и id атрибут — позволяет эффективно создать более краткие документы формата обмена.
Наследование
Информация для различных компонентов проекта часто избыточна. Например, последовательность и ее содержание обычно имеют ту же частоту кадров; большинство клипов совместно использует тот же исходный медиа-файл через многократные дорожки; многократные клипы в пакетном списке являются вероятной долей тот же идентификатор Барабана/Ленты и т.д.
Можно явно закодировать всю информацию для каждого компонента в проекте. Также можно использовать соглашение наследования Final Cut Pro Формат обмена XML с определенными элементами для кодирования общей информации только один раз. Например, можно закодировать последовательность и указать частоту кадров 29,97 кадр/с для последовательности. Клипы, которые являются подэлементами этой последовательности, наследовали эту частоту кадров, если Вы в частности не кодируете различный уровень для определенного клипа.
Пример соглашения наследования появляется в Перечислении 3-4
Атрибут ID
id атрибут позволяет Вам поделиться информацией между определенными «равноправными» элементами — элементы, которые не находятся в отношении элемента/подэлемента друг с другом. Если элемент обеспечивает id атрибут, Final Cut Pro регистрирует этот элемент в таблице ссылок во время импорта и перевода. Затем во время последующего перевода другие элементы могут сослаться на эту зарегистрированную информацию.
Например, информация о клипе для видеотрека в последовательности может быть идентична информации о клипе в аудиотреке в той же последовательности. Вместо того, чтобы повторять эту информацию для обеих дорожек, можно закодировать его один раз и затем сослаться на информацию с помощью id атрибут.
Пример id соглашение появляется в Перечислении 3-14
Кодирование клипа
Клип представляет виртуальную часть основанных на времени носителей. A clip элемент имеет три требуемых подэлемента: name, duration, и rate. (Когда клип появляется в последовательности, также необходимо указать start и end подэлементы.) Перечисление 3-1 показывает пример минимального клипа:
Перечисление 3-1 минимум clip
<?xml version="1.0" encoding="UTF-8"?>// 1 |
<!DOCTYPE xmeml>// 2 |
<xmeml version="5">// 3 |
<clip> |
<name>Jeremy Solo</name> |
<duration>188</duration>// 4 |
<rate>// 5 |
<ntsc>TRUE</ntsc> |
<timebase>30</timebase> |
</rate> |
</clip> |
</xmeml> |
Строки пронумеровали 1, и 2 раздел вводной части. Строка пронумеровала 1, объявляет версию XML и текстового кодирования; строка пронумеровала 2 тип документа. Строка пронумеровала 3, тег запуска для корневого элемента xmeml это содержит все другие элементы в документе формата обмена. Атрибут версии в этом теге запуска указывает версию Final Cut Pro Формат обмена XML.
В строке пронумеровал 4, duration элемент кодирует общее количество кадров в клипе. Это значение не изменяется, даже если Вы начинаетесь, и указывает для клипа с помощью in и out элементы. (Это - эквивалент свойства синхронизации Длины, а не свойства Duration.)
В строке пронумеровал 5, rate элемент определяет частоту кадров для клипа — в этом случае, клипа NTSC с частотой кадров 29,97 кадр/с. Обратите внимание на то, что эта частота кадров указана с помощью ntsc подэлемент, принимающий булево значение, и timebase подэлемент, принимающий целочисленное значение (30). Вариант частоты кадров NTSC определяется как сокращение на 0,01 процента частоты кадров. Фактическое математическое значение этого варианта 29.970029970029... (повторение). Десятичные 29.97 не являются точным представлением этого числа. Используя interger и индикатор NTSC флаг позволяет любому приложению обрабатывать информацию об уровне своим собственным способом. Посмотрите Таблицу b-1 для полного списка возможных настроек для timebase и ntsc.
Перечисление 3-2 показывает клип с большей информацией, включая В и указывает, основной клип, журналирование, метка и информация о комментарии.
Перечисление 3-2 клип с дополнительной информацией
<?xml version="1.0" encoding="UTF-8"?> |
<!DOCTYPE xmeml> |
<xmeml version="5"> |
<clip id="Jeremy Solo"> |
<name>Jeremy Solo</name> |
<duration>188</duration> |
<rate> |
<ntsc>TRUE</ntsc> |
<timebase>30</timebase> |
</rate> |
<in>14</in> |
<out>149</out> |
<masterclipid>Jeremy Solo</masterclipid>// 1 |
<ismasterclip>TRUE</ismasterclip>// 2 |
<logginginfo> |
<description>solo male</description> |
<scene>ballroom</scene> |
<shottake>Shot1/Take1</shottake> |
<lognote>LogNote1</lognote> |
<good>TRUE</good> |
</logginginfo> |
<filmdata> . . . </filmdata> |
<labels> |
<label>Good Take</label> |
<label2>Label 2 (1)</label2> |
</labels> |
<comments> |
<mastercomment1>MC1</mastercomment1> |
<mastercomment2>MC2</mastercomment2> |
<mastercomment3>MC3</mastercomment3> |
<mastercomment4>MC4</mastercomment4> |
<clipcommenta>CommentA</clipcommenta> |
<clipcommentb>CommentB</clipcommentb> |
</comments> |
</clip> |
</xmeml> |
В строке пронумеровал 1, masterclipid элемент обеспечивает ссылку на основной клип clip id атрибут. (Как в этом примере, основной клип перечисляет свое собственное clip id атрибут.)
В строке пронумеровал 2, ismasterclip элемент указывает, является ли клип основным клипом. (В этом случае это.)
Для получения дополнительной информации о других элементах в этом перечислении, посмотрите справочную информацию в Каталоге Элементов. Проверьте индекс для определения местоположения определенного элемента.
Соединение носителей с клипом
Для соединения носителей с клипом Вы используете file элемент. Перечисление 3-3 показывает клип, связанный с медиа-файлом.
Перечисление 3-3 клип со связанными носителями
<?xml version="1.0" encoding="UTF-8"?> |
<!DOCTYPE xmeml> |
<xmeml version="5"> |
<clip id ="Jeremy Solo"> |
<name>Jeremy Solo</name> |
<duration>188</duration> |
<rate> |
<ntsc>TRUE</ntsc> |
<timebase>30</timebase> |
</rate> |
<file id="Jeremy Solo1"> |
<name>Jeremy Solo1</name> |
<pathurl>file://localhost/Jeremy%20Solo</pathurl>// 1 |
<rate>// 2 |
<timebase>30</timebase> |
<ntsc>TRUE</ntsc> |
</rate> |
<duration>188</duration>// 3 |
</file> |
</clip> |
</xmeml> |
В строке пронумеровал 1, pathurl элемент указывает расположение носителей. Обратите внимание на то, что имя файла включает пространство, кодирующееся символом ESC (%) и шестнадцатеричное значение для пробела (20). Seepathurl для большего количества подробных данных.
В строках пронумеровал 2 и 3, rate и duration подэлементы требуются для file элемент. Однако, потому что они указаны ранее в документе родительским элементом, file элемент может наследовать эту информацию. Перечисление 3-4 показывает, как это работает.
Перечисление 3-4 клип с помощью наследования
<?xml version="1.0" encoding="UTF-8"?> |
<!DOCTYPE xmeml> |
<xmeml version="5"> |
<clip id ="Jeremy Solo"> |
<name>Jeremy Solo</name> |
<duration>188</duration> |
<rate> |
<ntsc>TRUE</ntsc> |
<timebase>30</timebase> |
</rate> |
<file id="Jeremy Solo1"> |
<name>Jeremy Solo1</name> |
<pathurl>file://localhost/Jeremy%20Solo</pathurl> |
</file> |
</clip> |
</xmeml> |
file элемент может также иметь дополнительные подэлементы: timecode и media. Перечисление 3-5 является примером.
Перечисление 3-5 клип с временным кодом и носителями
<?xml version="1.0" encoding="UTF-8"?> |
<!DOCTYPE xmeml> |
<xmeml version="5"> |
<clip id ="Jeremy Solo"> |
<name>Jeremy Solo</name> |
<duration>188</duration> |
<rate> |
<ntsc>TRUE</ntsc> |
<timebase>30</timebase> |
</rate> |
<file id="Jeremy Solo1"> |
<name>Jeremy Solo1</name> |
<pathurl>file://localhost/Jeremy%20Solo</pathurl> |
<timecode>// 1 |
<string>02:42:35;14</string> |
<frame>292372</frame> |
<displayformat>DF</displayformat> |
<source>source</source> |
<reel> |
<name>002</name> |
</reel> |
</timecode> |
<media>// 2 |
<video> |
<duration>188</duration> |
<samplecharacteristics> |
<width>720</width> |
<height>480</height> |
</samplecharacteristics> |
</video> |
</media> |
</file> |
</clip> |
</xmeml> |
В строке пронумеровал 1, timecode элемент кодирует начальную точку носителей. Это включает подэлементы string, который указывает стартовый временной код в формате SMPTE; frame, который указывает количество начального кадра; и displayformat, который указывает кадр отбрасывания или формат кадра неотбрасывания. Обратите внимание на то, что любой элемент string, или элементы frame и format требуются, но не все три. Другие подэлементы включают source, который категоризирует временной код как исходный временной код от ленты, и reel.
В строке пронумеровал 2, media элемент кодирует информацию о носителях, включая height и width в пикселях.
Кодирование информации о звуке
Носители могут также включать аудиотреки. Вы используете audio элемент для указания информации об этих дорожках, как замечено в Перечислении 3-6.
Перечисление 3-6 , Кодирующее информацию о звуке
<file> |
<name>myFile.mov</name> |
<pathurl> file://localhost/myFile.mov</pathurl> |
<rate> |
<timebase>24</timebase> |
<ntsc>TRUE</ntsc> |
</rate> |
<duration>3671</duration> |
<media> |
<video>...</video> |
<audio>// 1 |
<samplecharacteristics> |
<samplerate>48000</samplerate> |
<depth>16</depth> |
</samplecharacteristics> |
<layout>stereo</layout> |
<channelcount>2</channelcount> |
<audiochannel> |
<channellabel>right</channellabel> |
</audiochannel> |
<audiochannel> |
<channellabel>left</channellabel> |
</audiochannel> |
</audio> |
<audio>// 2 |
<samplecharacteristics> |
<samplerate>48000</samplerate> |
<depth>16</depth> |
</samplecharacteristics> |
<channelcount>2</channelcount> |
</audio> |
</media> |
</file> |
В строке, пронумерованной 1, кодируется первый аудиотрек стерео. Это имеет два канала. Первый канал указан как правильный канал, второе как левый канал. (Это - реверс настроек по умолчанию.)
В строке, пронумерованной 2, кодируется второй аудиотрек в носителях. Когда расположение не указано, stereo принят
Посмотрите, что Каталог Элементов для получения дополнительной информации о подэлементах раньше кодировал информацию о звуке.
Экспорт клипа от браузера
При экспорте единственного клипа от Браузера получающееся перечисление включает media элемент с информацией о дорожке. Перечисление 3-7 показывает выборки от такого экспорта.
Перечисление 3-7 экспортируемый клип Браузера
<?xml version="1.0" encoding="UTF-8"?> |
<!DOCTYPE xmeml> |
<xmeml version="5"> |
<clip id="Jeremy Solo"> |
<uuid>970C270C-8692-4E6A-A58C-F378CC3EB776</uuid>// 1 |
<updatebehavior>add</updatebehavior> |
<name>Jeremy Solo</name> |
<duration>188</duration> |
<rate> |
<ntsc>TRUE</ntsc> |
<timebase>30</timebase> |
</rate> |
<in>14</in>// 2 |
<out>149</out> |
<masterclipid>Jeremy Solo</masterclipid> |
<logginginfo> |
<good>FALSE</good> |
</logginginfo> |
<media> |
<video>// 3 |
<track>// 4 |
<clipitem>// 5 |
<name>Jeremy Solo</name> |
<duration>188</duration> |
<rate> |
<ntsc>TRUE</ntsc> |
<timebase>30</timebase> |
</rate> |
<enabled>TRUE</enabled> |
<anamorphic>FALSE</anamorphic> |
<alphatype>none</alphatype> |
<file id="Jeremy Solo1"> |
. . . |
</file> |
<sourcetrack> |
<mediatype>video</mediatype> |
</sourcetrack> |
</clipitem> |
<enabled>TRUE</enabled> |
<locked>FALSE</locked> |
</track> |
</video> |
</media> |
</clip> |
</xmeml> |
В строке пронумеровал 1, uuid элемент и updatebehavior элемент в следующей строке позволил Вам управлять компонентами проекта. Посмотрите Управляющие Компоненты Проекта, которые можно также использовать updatebehavior управлять метаданными QuickTime. Займитесь основными клипами
В строке пронумеровал 3, video элемент идентифицирует тип носителей.
В строке пронумеровал 4, track элемент запускает кодирование для первого (и только) дорожка в носителях.
В строке пронумеровал 5, clipitem элемент кодирует информацию, которая является определенной для связанных носителей. Посмотрите Носители в Последовательности.
Кодирование подклипа
Вы могли использовать клип, закодированный в Перечислении 3-7 для генерации подклипа. Перечисление 3-8 показывает результаты (с некоторыми опущенными подробными данными).
Перечисление 3-8 подклип
<?xml version="1.0" encoding="UTF-8"?> |
<!DOCTYPE xmeml> |
<xmeml version="5"> |
<clip id="Jeremy Solo Subclip"> |
<name>Jeremy Solo Subclip</name> |
<duration>135</duration>// 1 |
<rate> |
<ntsc>TRUE</ntsc> |
<timebase>30</timebase> |
</rate> |
<in>-1</in>// 2 |
<out>-1</out> |
<masterclipid>Jeremy Solo Subclip</masterclipid> |
<subclipmasterid>Jeremy Solo</subclipmasterid>// 3 |
. . . |
<media> |
<video> |
<track> |
<clipitem> |
<name>Jeremy Solo Subclip</name> |
<duration>135</duration> |
. . . |
<in>0</in> |
<out>135</out> |
<start>0</start> |
<end>135</end> |
<subclipinfo>// 4 |
<startoffset>14</startoffset> |
<endoffset>39</endoffset> |
</subclipinfo> |
. . . |
<file id="Jeremy Solo"> |
. . . |
<media> |
<video> |
<duration>188</duration>// 5 |
<samplecharacteristics> |
<width>720</width> |
<height>480</height> |
</samplecharacteristics> |
</video> |
</media> |
</file> |
<sourcetrack> |
<mediatype>video</mediatype> |
</sourcetrack> |
</clipitem> |
<enabled>TRUE</enabled> |
<locked>FALSE</locked> |
</track> |
</video> |
</media> |
</clip> |
</xmeml> |
В строке, пронумерованной 1, продолжительность подклипа 135.
В строке пронумеровал 2, значения для in и out –1, указание, что не В и указывает, установлено.
Новые подклипы Broswer-уровня автоматически становятся своими собственными основными клипами. В строке пронумеровал 3, subclipmasterid элемент указывает ID родительского клипа подклипа.
В строке пронумеровал 4, subclipinfo элемент указывает начальное смещение и окончание смещения для подклипа. Эти значения являются смещениями в кадрах от носителей, запускаются и конец носителей связанного медиа-файла, вычисленное использование in и out точки для клипа, от которого был сгенерирован подклип. (См., что строка Перечисления 3-7 пронумеровала 1.)
В строке пронумеровал 5, значение для duration элемент для носителей, связанных с подклипом, остается в 188, по сравнению со значением 135 в строке пронумеровал 2.
Кодирование мультиклипа
Мультиклипы позволяют Вам собрать в группу многократные клипы угла камеры и переключатель или сокращение между углами в режиме реального времени. Можно также сделать мультиклип с многократными аудиотреками. Видео мультиклип представлен Перечислением 3-9
Перечисление 3-9 видео мультиклип
<clip id="Billiards1"> |
<name>Billiards1</name> |
<duration>2700</duration> |
<rate> |
<ntsc>TRUE</ntsc> |
<timebase>30</timebase> |
</rate> |
<in>-1</in> |
<out>-1</out> |
<ismasterclip>FALSE</ismasterclip> |
<media> |
<video> |
<track> |
<clipitem> |
<name>Billiards1</name> |
<duration>2700</duration> |
. . . |
<multiclip id="Multiclip 1 ">// 1 |
<name>Multiclip 1</name> |
<collapsed>FALSE</collapsed> |
<synctype>1</synctype> |
<angle>// 2 |
<activevideoangle>TRUE</activevideoangle> |
<activeaudioangle>TRUE</activeaudioangle> |
<clip id="Billards1"/> |
</angle> |
<angle> |
<clip id="Billiards2"> |
<name>Billiards2</name> |
<duration>2700</duration> |
. . . |
<defaultangle>2</defaultangle>// 3 |
</clip> |
</angle> |
<angle> |
<clip id="Billiards3"> |
<name>Billards3</name> |
<duration>2700</duration> |
. . . |
<defaultangle>3</defaultangle> |
</clip> |
</angle> |
</multiclip> |
<mediadelay>900</mediadelay>// 4 |
</clipitem> |
<enabled>TRUE</enabled> |
<locked>FALSE</locked> |
</track> |
</video> |
</media> |
</clip> |
В строке пронумеровал 1, multiclip элемент является подэлементом clipitem. Это имеет два требуемых подэлемента: name и angle. Другие подэлементы включают collapsed, который указывает, разрушен ли мультиклип или нет, и synctype, какой spcifies, как должны синхронизироваться углы в muticlip.
В строке пронумеровал 2, angle элемент включает дополнительные подэлементы activevideoangle и activeaudioangle. Они принимают булевы значения (TRUE или FALSE) и укажите, активен ли угол или нет. (Только один угол в мультиклипе может быть активным за один раз.), Если эти элементы не являются specificed в углу, настройки по умолчанию являются ложью. Если никакие углы в мультиклипе не кодируются с этими подэлементами, первый угол, как предполагается, является активным углом.
В строке пронумеровал 3, элемент defaultangle используется для клипов в Браузере. Это кодирует информацию об идентификации (число или буква) об угле камеры.
В строке пронумеровал 4, элемент mediadelay подэлемент clipitem. Это смещает точку синхронизации мультиклипа от запуска элемента клипа к указанной задержке. (См. рисунок 4-3).
Кодирование последовательности
Для кодирования последовательности в Final Cut Pro Формат обмена XML Вы используете sequence элемент. Вы указываете подэлементы для имени последовательности, продолжительности, частоты кадров и стартового временного кода. Вы также используете media элемент для кодирования подэлементов для видеотреков и аудиотреков.
Перечисление 3-10 показывает пустую последовательность с одним видеотреком и двумя аудиотреками.
Перечисление 3-10 пустая последовательность
<?xml version="1.0" encoding="UTF-8"?> |
<xmeml version="5"> |
<sequence> |
<name>Sequence 1</name> |
<duration></duration> |
<rate>. . .</rate> |
<timecode>. . .</timecode> |
<media> |
<video> |
<format></format>// 1 |
<track></track> |
</video> |
<audio> |
<format></format>// 2 |
<outputs></outputs>// 3 |
<track></track> |
<track></track> |
</audio> |
</media> |
</sequence> |
</xmeml> |
Формат и выводы
В строках пронумеровал 1 и 2, format в то время как, в строке пронумеровал 3, элемент в Перечислении 3-10 кодирует информацию о видео и аудио носителях outputs элемент кодирует информацию об аудио носителях. Эти элементы и их подэлементы эквивалентны настройкам последовательности в Final Cut Pro.
Перечисление 3-11 показывает демонстрационные данные о формате для видеотрека. См. Каталог Элементов для подробных данных об элементах, выведенных на экран здесь.
Данные о формате перечисления 3-11 для видеотрека
<video> |
<format> |
<samplecharacteristics> |
<width>720</width> |
<height>480</height> |
<anamorphic>FALSE</anamorphic> |
<pixelaspectratio>NTSC-CCIR-601</pixelaspectratio> |
<fielddominance>lower</fielddominance> |
<rate> |
<ntsc>TRUE</ntsc> |
<timebase>30</timebase> |
</rate> |
<colordepth>24</colordepth> |
<codec> |
<name>Apple DV - NTSC</name> |
<appspecificdata> |
<appname>Final Cut Pro</appname> |
<appmanufacturer>Apple Computer, Inc.</appmanufacturer> |
<appversion>4.0</appversion> |
<data> |
<qtcodec>// 1 |
. . . |
</qtcodec> |
</data> |
</appspecificdata> |
</codec> |
</samplecharacteristics> |
<appspecificdata> |
<appname>Final Cut Pro</appname> |
<appmanufacturer>Apple Computer, Inc.</appmanufacturer> |
<appversion>4.0</appversion> |
<data> |
<fcpimageprocessing>// 2 |
<useyuv>TRUE</useyuv> |
<usesuperwhite>FALSE</usesuperwhite> |
<rendermode>YUV8BPP</rendermode> |
</fcpimageprocessing> |
</data> |
</appspecificdata> |
</format> |
. . . |
</video> |
В строке пронумеровал 1, qtcodec элемент предоставляет информацию (опущенную) о кодеке QuickTime.
В строке пронумеровал 2, fcpimageprocessing элемент кодирует подробные данные о настройках обработки изображений.
Перечисление 3-12 показывает выборку format и outputs информация для аудиотрека.
Данные о формате перечисления 3-12 для аудиотрека
<audio> |
<format> |
<samplecharacteristics>// 1 |
<depth>16</depth> |
<samplerate>48000</samplerate> |
</samplecharacteristics> |
</format> |
<outputs>// 2 |
<group> |
<index>1</index> |
<numchannels>2</numchannels> |
<downmix>4</downmix> |
<channel> |
<index>1</index> |
</channel> |
<channel> |
<index>2</index> |
</channel> |
</group> |
</outputs> |
В строке пронумеровал 1, samplecharacteristics элемент кодирует информацию об аудио глубине и частоте дискретизации.
В строке пронумеровал 2, outputs элемент указывает информацию о настройках аудиовыхода.
Носители в последовательности
Для добавления носителей к последовательности Вы используете a clipitem подэлемент в track элемент.
Перечисление 3-13 последовательность с видеотреком
<sequence id = "Sequence 1"> |
. . . |
<media> |
<video> |
<format> |
. . . |
</format> |
<track> |
<clipitem id = "Seq1Clip1"> |
<name>Rob Dialog</name> |
<duration>751</duration> |
<in>0</in>// 1 |
<out>751</out> |
<start>0</start>// 2 |
<end>751</end> |
. . . |
<file id = "Rob Dialog"> |
<name>Rob Dialog</name> |
<pathurl>. . .</pathurl> |
<duration>751</duration> |
. . . |
</file> |
<sourcetrack>// 3 |
<mediatype>video</mediatype> |
<trackindex>1</trackindex> |
</sourcetrack> |
</clipitem> |
</track> |
</video> |
</media> |
. . . |
</sequence> |
A clipitem закодированный в дорожке подобно a clip в Браузере. Это имеет имя, продолжительность, временной код, связала медиа-файл и т.д. A clipitem в последовательности дорожка подобна a clipitem в дорожке a clip. Единственная разница - то, что у Вас может быть больше чем один clipitem на дорожку в последовательности.
В строке, пронумерованной 1, это имеет in и out подэлементы, указывающие часть исходного медиа-файла к ссылке. В строке, пронумерованной 2, это имеет start и end подэлементы, указывающие относительную позицию клипа в родительской последовательности. (См. Значения Синхронизации.)
В строке пронумеровал 3, sourcetrack элемент указывает дорожку носителей для использования в исходном медиа-файле; в этом случае, видеотрек 1.
Для кодирования аудио стерео, идущего с этим видеоклипом Вы используете audio элемент и первые два track подэлементы в нем.
Перечисление 3-14 audio элемент с двумя дорожками
<sequence id = "Sequence 1"> |
. . . |
<media> |
<video> |
<format> |
. . . |
</format> |
<track> |
<clipitem id = "Seq1Clip1">// 1 |
<name>Rob Dialog</name> |
<duration>751</duration> |
<in>0</in> |
<out>751</out> |
<start>0</start> |
<end>751</end> |
<file id = "Rob Dialog"> |
. . . |
</file> |
. . . |
</clipitem> |
</track> |
</video> |
<audio>// 2 |
<format> |
. . . |
</format> |
<outputs> |
. . . |
</outputs> |
<track> |
<clipitem id = "Seq1Clip1">// 3 |
<file id = "Rob Dialog"/>// 4 |
<sourcetrack>// 5 |
<mediatype>audio</mediatype> |
<trackindex>1</trackindex> |
</sourcetrack> |
</clipitem> |
</track> |
<track>// 6 |
<clipitem id = "Seq1Clip1"> |
<file id = "Rob Dialog"/> |
<sourcetrack> |
<mediatype>audio</mediatype> |
<trackindex>2</trackindex> |
</sourcetrack> |
</clipitem> |
</track> |
</audio> |
</media> |
. . . |
</sequence> |
В строке, пронумерованной 2, у Вас есть тег запуска audio элемент.
В строке, пронумерованной 3, можно сослаться id атрибут, указанный ранее в строке, пронумеровал 1. Посмотрите Атрибут ID, в котором Вы не должны повторять всю информацию на время, и указывает, и т.д.
В строке, пронумерованной 4, можно сослаться id атрибут для медиа-файла и затем переопределяет исходную информацию о дорожке в строке, пронумерованной 5. Вы используете те же исходные носители, которые Вы использовали для видеотрека, но теперь ссылаетесь на аудиотрек 1. Запуск в строке пронумеровал 6, можно создать информацию для второго аудиотрека таким же образом.
Соединение
С видеотреком и этими двумя закодированными аудиотреками, теперь необходимо соединить дорожки так, чтобы ими управляли как единственный компонент в последовательности. Вы делаете это использование link элемент.
Перечисление 3-15 link элемент
<media> |
<video> |
<format> ... </format> |
<track> |
<clipitem id = "Seq1Clip1"> |
<name>Rob Dialog</name> |
<duration>751</duration> |
<in>0</in> |
<out>751</out> |
<start>0</start> |
<end>751</end> |
. . . |
<link>// 1 |
<mediatype>video</mediatype> |
<trackindex>1</trackindex> |
<clipindex>1</clipindex> |
</link> |
<link> |
<mediatype>audio</mediatype> |
<trackindex>1</trackindex> |
<clipindex>1</clipindex> |
<groupindex>1</groupindex> |
</link> |
<link> |
<mediatype>audio</mediatype> |
<trackindex>2</trackindex> |
<clipindex>1</clipindex> |
<groupindex>1</groupindex> |
</link> |
<file id = "Rob Dialog"> |
. . . |
</file> |
</clipitem> |
</track> |
</video> |
<audio> |
<format> . . . </format> |
<outputs> . . . </outputs> |
<track> |
<clipitem id = "Seq1Clip1"> |
<file id = "Rob Dialog"> |
. . . |
</file> |
</clipitem> |
</track> |
<track> |
<clipitem id = "Seq1Clip1"> |
<file id = "Rob Dialog"> |
. . . |
</file> |
</clipitem> |
</track> |
</audio> |
</media> |
Информация о ссылке всегда появляется в первой дорожке в группе дорожек, которые Вы соединяете. Здесь, это - видеотрек в строке, пронумерованной 1, который соединяется с этими двумя аудиотреками. Так как эти два аудиоклипа используют id соглашение сослаться на содержание видеоклипа, все три клипа используют ту же информацию о ссылке.
Также можно соединить дорожки вместе с помощью id атрибут и linkclipref элемент.
Перечисление 3-16 linkclipref элемент
<media> |
<video> |
<format> . . .</format> |
<track> |
<clipitem id = "Seq1Clip1v"> |
<name>Clip 001</name> |
<duration>751</duration> |
<in>0</in> |
<out>751</out> |
<start>0</start> |
<end>751</end> |
<link> |
<linkclipref>Seq1Clip1v</linkclipref>// 1 |
</link> |
<link> |
<linkclipref>Seq1Clip1a1</linkclipref>// 2 |
<groupindex>1</groupindex> |
</link> |
<link> |
<linkclipref>Seq1Clip1a2</linkclipref>// 3 |
<groupindex>1</groupindex> |
</link> |
<file id = "Rob Dialog"> |
. . . |
</file> |
</clipitem> |
</track> |
</video> |
<audio> |
<format> . . . </format> |
<outputs> . . . </outputs> |
<track> |
<clipitem id = "Seq1Clip1a1"> |
<file id="Rob Dialog"/> |
</clipitem> |
</track> |
<track> |
<clipitem id = "Seq1Clip1a2"> |
<file id="Rob Dialog"/> |
</clipitem> |
</track> |
</audio> |
</media> |
Обратите внимание на то, что Вы не можете использовать linkclipref для многократных клипов в дорожке с тем же ID.
Переходы
Последовательность обычно включает переходы между видеоклипами, которые можно закодировать с a transitionitem элемент. Перечисление 3-17 показывает пример последовательности с единственным видеотреком с переходом между двумя клипами.
Перечисление 3-17 переход между видеоклипами
<sequence> |
<name>Sequence 1</name> |
<duration>243</duration> |
. . . |
<media> |
<video> |
<format> . . . </format> |
<track> |
<clipitem> |
<name>Bloomies</name> |
<duration>248</duration> |
<in>74</in> |
<out>227</out>// 1 |
<start>0</start> |
<end>-1</end>// 2 |
<file id = "Bloomies1"> |
<duration>248</duration> |
. . . |
</file> |
. . . |
</clipitem> |
<transitionitem>// 3 |
<rate>. . .</rate> |
<start>123</start> |
<end>153</end> |
<alignment>center</alignment> |
<effect>// 4 |
<name>Cross Dissolve</name> |
<!-- encoding details for the effect --> |
</effect> |
</transitionitem> |
<clipitem> |
<name>Jeremy Solo</name> |
<duration>188</duration> |
<in>36</in>// 5 |
<out>156</out> |
<start>-1</start>// 6 |
<end>243</end> |
<file id = "Jeremy Solo"> |
<duration>188</duration> |
. . . |
</file> |
. . . |
</clipitem> |
</track> |
</video> |
</media> |
</sequence> |
В строке пронумеровал 3, transitionitem элемент кодирует запуск и конец перехода.
В строке пронумеровал 4, effect подэлемент определяет использующийся определенный переход. Посмотрите Эффекты Кодирования для обсуждения эффектов.
В Средстве просмотра точка для первого клипа в последовательности (Bloomies) была установлена в 212. Обратите внимание на то, что в строке, пронумерованной 1, точка расширяется на 227 обеспечить дополнительные кадры для ввода в эффект перехода. Подобным способом, В точке для второго клипа (Джереми Соло) в строке пронумеровал 5, изменяется на 36 от его исходной установки 51. Кроме того, потому что время окончания для первого клипа теперь зависит от следующего элемента в последовательности, end элемент в строке пронумеровал 2, установлен в –1. Это указывает, что должно быть вычислено значение. Точно так же start элемент для второго клипа в строке пронумеровал 6, установлен в –1.
Файлы PSD как последовательности
Окончательный вариант кодирует Photoshop файл PSD с многократными уровнями как последовательность (а не клип) при импорте его в Браузер. stillframe элемент установлен в TRUE и layerindex элемент используется для указания различных уровней в файле.
Кодирование проекта
Перечисление 3-18 показывает скелету XML для проекта Final Cut Pro, имеющего два стеллажа и одну последовательность.
Перечисление 3-18 проект
<?xml version="1.0" encoding="UTF-8"?> |
<!DOCTYPE xmeml> |
<xmeml version="5"> |
<project>// 1 |
<name>Swing</name> |
<children>// 2 |
<bin>// 3 |
<name>Audio</name> |
<children>// 4 |
<clip id="Jumptown.aif"> |
<name>Jumptown.aif</name> |
. . . |
</clip> |
</children> |
</bin> |
<sequence id="Dance">// 5 |
<name>Dance</name> |
. . . |
</sequence> |
<bin>// 6 |
<name>Video</name> |
<children> |
<clip id="Bloomies"> |
<name>Bloomies</name> |
. . . |
</clip> |
<clip id="Jeremy Solo"> |
<name>Jeremy Solo</name> |
. . . |
</clip> |
<clip id="Johnny n Cari"> |
<name>Johnny n Cari</name> |
. . . |
</clip> |
<clip id="Overhead"> |
<name>Overhead</name> |
. . . |
</clip> |
<clip id="Rob Dialog"> |
<name>Rob Dialog</name> |
. . . |
</clip> |
<clip id="Round n Round"> |
<name>Round n Round</name> |
. . . |
</clip> |
</children> |
</bin> |
</children> |
</project> |
</xmeml> |
В строке пронумеровал 1, project начинать-тег инициирует кодирование для проекта. Следующая строка указывает имя проекта (Swing).
В строках пронумеровал 2 и 4, требуемое children элементы включают элементы в проект или стеллаж.
В строке пронумеровал 3, первый стеллаж (Audio) кодируется. Это содержит единственный аудиоклип.
В строке пронумеровал 5, последовательность (Dance) кодируется. Обратите внимание на то, что a children подэлемент не указан.
В строке пронумеровал 6, второй стеллаж (Video) кодируется. В содержит шесть клипов.
Кодирование эффектов
Эффекты в Final Cut Pro обычно категоризируются как эффекты перехода или фильтруют эффекты. Вы кодируете эффект с помощью любого transitionitem или filter элемент, и effect подэлемент. Перечисление 3-17 в строках пронумеровало 3, и 4 показывает скелетный пример эффекта перехода (крест распадаются). Перечисление 3-19 показывает кодирование для эффекта фильтра (гауссова размытость).
Перечисление 3-19 гауссов эффект размытия
<filter> |
<start>-1</start> |
<end>-1</end> |
<effect> |
<name>Gaussian Blur</name>// 1 |
<effectid>Gaussian Blur</effectid>// 2 |
<effectcategory>Blur</effectcategory> |
<effecttype>filter</effecttype>// 3 |
<mediatype>video</mediatype>// 4 |
<parameter> |
<parameterid>channel</parameterid>// 5 |
<name>Channel</name> |
<valuemin>1</valuemin> |
<valuemax>7</valuemax> |
<valuelist>// 6 |
<valueentry> |
<name>Alpha+RGB</name> |
<value>1</value> |
</valueentry> |
<valueentry> |
<name>Alpha</name> |
<value>2</value> |
</valueentry> |
<valueentry> |
<name>RGB</name> |
<value>3</value> |
</valueentry> |
<valueentry> |
<name>Red</name> |
<value>4</value> |
</valueentry> |
<valueentry> |
<name>Green</name> |
<value>5</value> |
</valueentry> |
<valueentry> |
<name>Blue</name> |
<value>6</value> |
</valueentry> |
<valueentry> |
<name>Luminance</name> |
<value>7</value> |
</valueentry> |
</valuelist> |
<value>1</value>// 7 |
</parameter> |
<parameter> |
<parameterid>radius</parameterid> |
<name>Radius</name> |
<valuemin>0</valuemin> |
<valuemax>100</valuemax> |
<value>2</value>// 8 |
</parameter> |
</effect> |
</filter> |
В строках пронумеровал 1 и 2, любой элемент name или элемент effectid требуется, чтобы идентифицировать определенный эффект. Элемент effectid независимо от языка. Элемент name может быть локализован, в зависимости от приложения, генерирующего документ. (Когда парсинг установил эффекты, приложения должны выглядеть первыми на effectid и используйте name как нейтрализация, если не найден никакой эффект соответствия.)
В строках пронумеровал 3 и 4, оба элемента effecttype и mediatype требуются для обеспечения приложения, анализирующего документ с достаточной информацией, чтобы правильно идентифицировать эффект или отобразить его на разумную замену. ( mediatype элемент также позволяет наследованным эффектам быть распространенными к корректному типу дорожки или клипа.)
Гауссов эффект размытия имеет два параметра: channel и radius. Оба использования параметров parameterid и name. Элемент parameterid независимо от языка, в то время как name может быть локализован.
В строке пронумеровал 5, channel параметр является раскрывающимся списком с семью выбором. В строке пронумеровал 6, valuelist элемент кодирует имена и порядковый номер каждого этого выбора. Кодирование для фактического выбора из списка происходит в строке, пронумерованной 7, где value установлен в 1. Также можно использовать имя раскрывающегося выбора списка для элемента значения (<value>Alpha+RGB</value>).
Ключевые кадры
В строке пронумеровал 8 в Перечислении 3-19 radius параметр кодируется со статическим значением 2. Предположим, однако, что Вы хотите использовать ключевые кадры для изменения эффекта в течение долгого времени. (Ключевой кадр является комбинацией временной стоимости и дополнительной кривой или информации об интерполяции.)
Перечисление 3-20 показывает radius параметр закодирован с три keyframe элементы, заменяющие value элемент в строке пронумеровал 7 в Перечислении 3-19 Для «сглаживания» поведения эффекта, можно добавить дескрипторы Безье для последних двух keyframe элементы.
Параметр Радиуса перечисления 3-20 с ключевыми кадрами и дескрипторами Безье
<parameter> |
<parameterid>radius</parameterid> |
<name>Radius</name> |
<interpolation>// 1 |
<name>FCPCurve</name> |
</interpolation> |
<keyframe>// 2 |
<when>35</when> |
<value>5</value> |
</keyframe> |
<keyframe>// 3 |
<when>50</when> |
<value>17</value> |
<inscale>0</inscale> |
<inbez> |
<horiz>9.5</horiz> |
<vert>3.14159</vert> |
</inbez> |
<outscale>0</outscale> |
<outbez> |
<horiz>9.5</horiz> |
<vert>0</vert> |
</outbez> |
</keyframe> |
<keyframe>// 4 |
<when>88</when> |
<value>4</value> |
<inscale>0</inscale> |
<inbez> |
<horiz>9.5</horiz> |
<vert>-3.14159</vert> |
</inbez> |
</keyframe> |
</parameter> |
В строке пронумеровал 1, interpolation элемент идентифицирует метод интерполяции для ключевых кадров. Так как этот клип для использования в Final Cut Pro, метод интерполяции FCPCurve. Посмотрите Интерполяцию ключевых кадров для подробных данных метода интерполяции Final Cut Pro.
В строке пронумеровал 2, кодирование для первых наборов ключевого кадра when в 35 и value в 5.
В строке, пронумерованной 3, второй ключевой кадр включает информацию для дескриптора Безье, который является определенным для FCPCurve формат. Это состоит из смещения (inbez и outbez) и величина (inscale и outscale).
В строке, пронумерованной 4, обратите внимание на то, что последний ключевой кадр сделал, чтобы односторонний Безье обработал.
Можно также установить диапазон эффекта. По умолчанию эффект использует in и out значения от его родительского клипа. Эффект изменяет носители в этом диапазоне. Можно изменить это путем кодирования определенный start и end точки для filter или transitionitem.