Сетевой рендеринг в Adobe After Effects или "когда время - деньги"

В качестве вступления

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

К счастью, After Effects, как и многие другие пакеты, поддерживает сетевую визуализацию.

Сетевой рендеринг в АЕ (network rendering) представляет собой заманчивую возможность значительно сократить время самого нетворческого этапа Вашей работы, - просчет проекта. А значит, и сократить общее время всего производственного цикла.

Личное мнение: вынужден заметить (несмотря на то, что отношусь к числу фанатичных поклонников After Effects) - сетевой рендеринг в АЕ не слишком удобен и требует довольно длительной предварительной настройки. Но как способ сэкономить время просчета - он очень полезен, даже в своем нынешнем виде.

Немного теории

Сетевой рендеринг в АЕ - это частный случай распределенных вычислений (distributed computings), так модных ныне в компьютерной индустрии.

Методика распределенных вычислений предполагает создание сетевой вычислительной системы. В мире компьютерной графики такая система получила название визуализирующей фермы (render farm).

Требования к оборудованию

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

Все системы должны, как минимум удовлетворять базовым требованиям к оборудованию, предъявляемым АЕ. Более производительные системы всячески приветствуются.

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

Операционная система. Adobe настоятельно рекомендует использовать операционную систему Windows 2000 или Windows XP Professional.

Программное обеспечение. Собственно, сам Adobe After Effects, установленный на всех машинах-участницах просчета.

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

After Effects Standard и Production Bundle

АЕ предоставляет пользователям две модификации сетевого рендеринга:

1. Сетевой рендеринг с использованием Watch folder (network rendering using a watch folder). Доступен лишь пользователям After Effects Production Bundle.

2. Стандартный рендеринг секвенции на нескольких машинах (standard network rendering). Предоставляет возможность пользователям After Effects Standard осуществить рендеринг проекта на нескольких машинах. Естественно, может использоваться и в After Effects Production Bundle.

Сетевой рендеринг с использованием Watch folder

(network rendering with using a watch folder)

Сетевой рендеринг с использованием Watch folder позиционируется Adobe, как более предпочтительный метод.

Весь процесс сетевого рендеринга с использование Watch folder отображен на следующей схеме.

Компьютер с установленной полной версией After Effects PB (A) сохраняет проект и его исходные файлы в Watch folder (B).

Компьютеры, на которые установлен АЕ (C) сканируют Watch folder.

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

Подготовительный этап сетевого рендеринга с использованием watch folder включает в себя 3 основных момента:

I. Определение папок и организация совместного доступа к ним

II. Настройка компьютеров-участников рендеринга

III. Подготовка проекта для сетевого рендеринга

I. Определение папок и организация совместного доступа к ним

Во-первых, необходимо определить папку Watch folder и папку для вывода просчитанных файлов. А затем и организовать совместный доступ всех машин к ним.

1. Создаем каталог, который будет играть роль Watch folder в дальнейшем. Название у него может быть любое, но во избежание путаницы я обычно его так и называю - "Watch folder".

2. Нажимаем на этом каталоге правой кнопкой мыши и выбираем в контекстном меню команду свойства (properties).

3. Переходим во вкладку доступ (sharing). Активизируем переключатель открыть общий доступ к этой папке (share this folder).

4. Щелкаем на кнопке разрешения(Permissions). По умолчанию установлен полный доступ для всех пользователей. Определяйте уровень безопасности сообразно Вашим потребностям.

Локальная сеть, в которой я осуществляю сетевой рендеринг, не имеет выхода в Интернет и не связана с другими сетями. Поэтому я устанавливаю доступ для всех пользователей (everyone).

Если Вы беспокоитесь о сетевой безопасности, то Вы можете установить собственные параметры безопасности.

В нижеприведенной таблице описаны действия, возможные при каждом из типов разрешений.

Настройка совместного доступа к папке вывода осуществляется идентично.

II. Настройка компьютеров-участников рендеринга

Прежде всего - устанавливаем АЕ, а так же используемые в проекте шрифты и плагины на всех машинах. Версия АЕ обязательно должна совпадать на всех компьютерах-участниках просчета.

Если проект был подготовлен для сетевого рендеринга в иной версии АЕ, чем установлена на сетевых машинах, то они попросту не определят этот проект в Вашей Watch folder. Это одно из неудобств рендеринга с использованием Watch folder.

После установки всего вышеперечисленного запускаем АЕ. В меню file выберите пункт watch folder и в появившемся диалоговом окне задайте папку, которая и будет играть роль watch folder.

После этого появиться окно watch folder. Пока оно активно - компьютер каждые 10 секунд будет сканировать watch folder на наличие проектов, пригодных для сетевого рендеринга. При активации "Pause Search on All Mashines" поиск проектов будет прекращен на всех компьютерах в режиме watch folder.

Повторите эти действия на остальных машинах.

III. Подготовка проекта для сетевого рендеринга

Для того, что бы Ваш проект был пригоден для сетевого рендеринга с использованием watch folder, Вы должны соблюсти некоторые условия.

1. Добавление композиций в render queue.

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

В output module в качестве формата вывода нужно обязательно задать секвенцию. Тип секвенции не важен, так что выбирайте любой удобный для вас формат.

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

При определении папки вывода файла (output to) очень важно указать ее как сетевую, даже если она находится на этом компьютере. А иначе все компьютеры, кроме данного, не определят правильный каталог вывода. Например, Ваша папка имеет путь E:'Output. Для корректной работы должен быть прописан полный URI (Uniform Resource Identifier - унифицированный идентификатор ресурса) - ''MainComp'E'Output, где "MainComp" имя сетевой машины, на которой находится диск Е с папкой Output.

2. Следующий этап - file -->collect files. Если Вы все сделали правильно в предыдущем пункте, то в появившемся диалоге активизируйте "Enable watch folder render" и укажите максимальное число машин, осуществляющих рендеринг. Если в очереди рендеринга нет ни одного пункта, удовлетворяющего условиям сетевого рендеринга, то активизировать "Enable watch folder render" не удастся.

В качестве папки для сбора файлов указываете watch folder или находящийся внутри нее каталог.

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

Запуск After Effects в watch folder mode

Вы можете запускать АЕ в режиме watch folder автоматически.

Для этого из командной строки запустите AfterFX.exe c параметром -wf и укажите полный путь к watch folder.

AfterFX.exe -wf ''MainComp'F'watchFolder

Открытие проекта с названием Watch this folder.aep приведет к тому же результату. Причем в качестве watchFolder будет являться директория, в которой этот проект находиться.

Можно достичь еще большей автоматизации, если проделать следующие манипуляции:

1. Создайте ярлык для AfterFX.exe

2. В свойствах ярлыка пропишите параметр -wf и путь к watch folder

Выглядеть это будет примерно так:

"D:'Program Files'Adobe'After Effects 6.0'Support Files'AfterFX.exe" -wf ''MainComp'F'watchFolder

3. Перенесите созданный Вами ярлык в папку автозагрузки (Startup folder).

Как Вы понимаете в Startup folder можно перенести и ярлык для Watch this folder.aep.

Теперь для запуска АЕ в режиме watch folder Вам будет достаточно запускать этот компьютер. Остальные действия произойдут автоматически.

Мониторинг прогресса и ошибок рендеринга,

состояния проектов и визуализирующих машин

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

Менеджера сетевой визуализации в АЕ не имеется. Есть лишь возможность отслеживания происходящих процессов. Впрочем это средство очень далеко от совершеества.

В корне Вашей watch folder в процессе сетевого рендеринга появляется файл watch_folder.htm. Это самый обычный htm-документ, содержащий в себе информацию о последних ста проектах, ставившихся на сетевой рендеринг.

Если Вы нажмете на ссылку проекта, то появится отчет по рендерингу.

Этот htm-документ содержит четыре фрейма:

А - название проекта.

В - отображает очередь рендеринга. Нажмите на любом пункте из очереди рендеринга и во фрейме D появиться информация о текущем состоянии этого render item.

С - отображает машины, участвующие в сетевом рендеринге. Кликните на названии одной из машин и во фрейме D отобразятся render items, которые просчитывает данный компьютер.

D - это основной информационный фрейм. В нем выводится информация о render items и render mashines (см. В и С). Тут же есть возможность просмотреть отчет по рендерингу.

Стандартный сетевой рендеринг секвенции на нескольких машинах

(standard network rendering)

Этот способ гораздо проще, чем использование WatchFolder, но он не имеет возможности автоматизировать процесс и осуществлять его мониторинг.

Однако он хорош тем, что Вы можете использовать разные версии АЕ на машинах. Но, естественно, плагины, шрифты и кодеки, используемые в проекте должны присутствовать на всех компьютерах.

Весь процесс можно изобразить так.

Вы открываете проект (А) на всех машинах (В).

Далее осуществляете обычный рендеринг секвенции (но с пропуском уже просчитанных кадров кадров) в папку вывода (С).

Так же как и при использовании watchFolder вы должны:

1. Определить папки и организовать доступ к ним.

2. Выбрать в качестве формата вывода секвенцию и активировать Skip Existing Files

3. Сохранить Ваш проект в доступной сетевой папке.

4. Далее Вы открываете этот проект на всех машинах и начинаете рендеринг.

На каждой из машин будет происходить обыкновенный просчет секвенции.

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

Вот собственно и все о сетевом рендеринге в Adobe After Effects.

Удачи всем: и быстрого рендеринга!!!

634 0 850 11
9
2006-12-15
Статья оказалась очень полезной, но я не пойму одного, а если я для вывода хочу не секвенцию, значит никак? Мне например на выходе нужен AVI и что мне тогда делать?
2007-04-08
Интересно, не найдётся ли у автора подобная рубрика для 2 гигантов - Max и Maya ?
2008-01-24
[quote]Статья оказалась очень полезной, но я не пойму одного, а если я для вывода хочу не секвенцию, значит никак? Мне например на выходе нужен AVI и что мне тогда делать?[/quote] Да, при сетевом рендеринге в афтере и в максе(через бэкбурнер) на нескольких машинах на выходе может быть только секвенция. Во первых, это предотвращает множетво проблем, например, если на одной из машин что-то рендерится неправильно (частая ситуация, причем частота прямо пропорциональна числу машин), и такие кадры практически 100% будут в авишке располагаться неравномерно. В итоге придется рендерить все заново. А в секвенции, если в логах каждой машины есть номера отрендеренных кадров - все гораздо проще. А во вторых, что за проблема - из готовой секвенции ави сделать? Разве что места на диске не хватает...
2008-03-27
+++ очень здорово, вообще, Frosty очень крутые статьи пишет и важные. Супер! Так держать.
2009-01-09
СпасибО!!:)))))
2010-11-02
[quote=Weather] [/quote] Скорее всего никак. Фишка секвенции в том, что каждый комп рендерит свои кадрики. Собрать же потом секвенцию в авишку не проблема. Или проблема?
2011-06-07
А кто подскажет как рендерить по сети в After Effects CS5 ?? [url=http://momentoflife.com.ua/?page_id=569][img]http://i.smiles2k.net/aiwan_smiles/mda.gif[/img][/url]
2012-03-24
я только не пойму а если один слейв уже рендерит кадр, но еще не выдал его. значит кадра в папке нет, тогда второй тоже по идеи этот же кадр начнет рендерить ведь между ними нет синхронизации.
2018-12-24
Блин, уже 2018 год, а эта статья абсолютно актуальна. Инновации = Adobe.
P.S. Автору респект!
RENDER.RU