23.01.2022

Эффект "Reroute | Перенаправление" и Alpha Matte в Cinelerra (p. 1)

В этой статье я расскажу о таком эффекте Cinelerra как 'Reroute | Перенаправление', в частности, о работе с альфа-маской (alpha matte), создаваемой при помощи этого эффекта. Публикация является продолжением темы "Прозрачные титры в Cinelerra", начатой в предыдущей публикации. Эффект относительно малоизвестен в сообществе Cinelerra -- информации по нему мало, так что нередко даже опытные пользователи ошибочно считают что он и вовсе нерабочий.

Сначала базовая информация.

Эффект 'Reroute | Перенаправление' - это мультитрековый, работающий в режиме реального времени видеоэффект.
Работа с ним подразумевает использование техники 'Shared effect | Общий эффект'.
Эффект используется для избирательного перенаправления Alpha channel и/или Components ('RGB' или 'YUV') с одной дорожки на другую (с дорожки-источника на целевую (выводящую) дорожку). При этом содержимое целевой (выводящей) дорожки частично или полностью переписывается.

Результат применения эффекта (все фотографии взяты с интернета, требуют тоновой коррекции, но заниматься ей я не посчитал нужным):

Cinelerra: how to create Alpha Matte with the Reroute effect.

Cinelerra: settings of the Reroute effect. Cinelerra: настройки эффекта Перенаправление.

В параметрах эффекта пользователь может выбрать какая из дорожек будет 'Целевой (выводящей) | Target (output) track'.
Кроме того, 'Reroute' предоставляет на выбор три операционных режима:
- 'Replace Target | Заменить цель':
содержимое целевой дорожки переписывается содержимым (Alpha channel и Components (RGB или YUV) дорожки-источника в пределах участка применения эффекта. Эффект применяется согласно очерёдности применения эффектов в программном конвейере.
- 'Components only | Только компоненты':
RGB | YUV компоненты целевой дорожки переписываются RGB | YUV компонентами дорожки-источника.
Содержимое альфа-канала целевой дорожки не изменяется. Эффект применяется согласно очередности применения эффектов в программном конвейере.
- 'Alpha replace | Только альфа-канал': тот же принцип, что и выше, но наоборот: содержимое альфа-канала целевой дорожки переписывается содержимым альфа-канала дорожки-источника. RGB | YUV компоненты не изменяются. Т.е. эффект позволяет построить альфа-канал на одной дорожке и перенаправить его к другой дорожке.

Эффект кроме того, что работает как 'Общий эффект | Shared effect', несёт в себе часть функционала 'Общие дорожки | Shared tracks' и может (при наличии на дорожке-источнике изображения !) перенаправлять параметры инструмента 'Camera' в окне 'Compositor'.  'Shared tracks — это очень большая тема, заслуживающая отдельной серии публикаций. В рамках данной серии я остановлюсь на использовании эффекта в контексте создания прозрачных титров.

Самый популярный вариант применения эффекта 'Reroute | Перенаправление
 это создать при его помощи (в комбинации с эффектом 'Title | Титры' или 'Chroma Key | Хромакей') альфа-маску (alpha matte) и перенаправить её на другую дорожку, тем самым заменив содержимое альфа-канала этой дорожки.
По сути это 'Alpha Matte', известный пользователям, например, Adobe Premiere по эффекту 'Track Matte Key'. И аналогично 'Track Matte Key',  'Reroute' (режим 'Alpha replace') в Cinelerra позволяет отображать фоновый материал через накладываемый материал, используя подложку, создающую прозрачные области в накладываемом материале.

Создадим в Cinelerra три дорожки. На верхней 'Video 3' расположим изображение переднего плана fgr.jpg (все изображения взяты с интернета), на средней дорожке 'Video 2' — фоновое изображение bkgr.jpg, на самой нижней дорожке 'Video 1' создадим подложку.

Для создания подложки применим к дорожке 'Video 1' эффект 'Титры | Title' и введём текст; затем применим эффект 'Reroute | Перенаправление' и выберем в нём режим 'Только альфа-канал | Alpha replace'; затем сделаем щелчок RMButton | ПКМыши по целевой дорожке 'Video 3' и в открывшемся меню выберем 'Применить эффект | Attach effect..'; теперь в открывшемся окне в поле 'Общие эффекты | Shared effects' выберем 'Video 1: Reroute' и нажмём зелёную "птичку" 'Ок'.

Cinelerra: howto attach effect. Как применить эффект в Cinelerra.


В результате у вас должно получиться как на скриншоте ниже:

Cinelerra: how to create alpha matte with Reroute-effect. Как создать альфа-маску в Cinelerra.


Cinelerra: alpha mask with Reroute plugin


В рассматриваемом примере альфа-канал с дорожки 
'Video 1' используется в качестве подложки (alpha track matte): чёрные участки определяют прозрачные области в материале дорожки, куда пользователь перенаправляет эффект, а текст, введённый в эффекте 'Титры | Title', определяет непрозрачные области.

Если пользователь желает, чтобы материал, находящийся на нижележащей дорожке, был виден сквозь текст (как на скриншоте ниже), 

Invert alpha matte with Reroute in Cinelerra.

то к дорожке 'Video 1' следует применить эффект 'Инверсия видео | Invert video' и включить в его настройках инвертирование альфа-канала, по сути создав тем самым 'Alpha Inverted Matte' :

Cinelerra: Invert video effect

В Cinelerra эффекты обрабатываются (применяются к временному кадру) в порядке очерёдности сверху вниз. Очерёдность применения эффектов — важный момент в понимании работы 'Reroute'. 
В рассматриваемом примере сначала применяется 'Title', затем на титры накладывается 'Blur', а после 'Reroute' всё это перенаправляет к целевой дорожке. 
Поэтому эффект 'Инверсия видео | Invert video' (равно как и другие эффекты, которые вы захотите перенаправить) должен быть расположен до (выше) эффекта 'Reroute'. Если расположить 'Invert video' после 'Reroute', то инвертирования альфа-канала на целевой дорожке не произойдёт, потому что 'Reroute' не перенаправляет эффекты, лежащие в стопке эффектов ниже его.
Как я уже говорил, перенаправляемая альфа-маска — это трафарет, согласно которому отсекается часть картинки на целевой дорожке 'Video 3'. 
Например, если применить к дорожке 'Video 3' эффект 'Вихрь | Whirl':

cinelerra: the whirl effect

и расположить его (применить его) перед "расшаренным" 'Reroute', то сначала 'Whirl' отработает изображение, а затем применится трафарет альфа-маски:

How to use the Reroute effect in Cinelerra. Как работать с эффектом Перенаправление в Cinelerra.

Alpha Matte with Reroute in Cinelerra.


А если эффект 'Вихрь | Whirl' расположить (применить его) после "расшаренного" 'Reroute', то 'Whirl' применится уже к результату применения трафарета альфа-маски:


Reroute effect in CInelerra.

Alpha mask with Cinelerra


Итак, еще раз: значение непрозрачности для материала на той дорожке, куда перенаправляется (копируется) альфа-канал, устанавливается в соответствии со значением альфа-канала подложки. То есть, эффект использует значение альфа-канала одного медиаресурса (подложки), чтобы задать значение непрозрачности для другого медиаресурса. При этом непрозрачные участки 100 % непрозрачны, а прозрачные участки 100 % прозрачны.
Если необходимо, чтобы материал на целевой дорожке получил промежуточные значения прозрачности между 0 и 100, то следует разместить на дорожке-источнике 'Video 1' изображение, содержащее в себе градиент прозрачности. Тогда 'Reroute' будет использовать этот градиент как карту прозрачности, в соответствии с которой будет устанавливать значения прозрачности для материала на дорожке 'Video 3'. Я приведу пример в следующей публикации.

Создавать 'Luma Matte', когда значение непрозрачности устанавливается в соответствии со значениями светимости (яркости) пикселов, а не значением альфа-канала, 'Reroute' не умеет. В этом легко убедиться, например, разместив на дорожке непрозрачный градиент какого-либо цвета. Впрочем, м
ожно выкрутиться, задействовав эффекты 'Chroma key' или 'Difference Key' в режиме 'Use Value' (когда кеинг происходит по яркости (Luma) ), но называть это 'Luma Track Matte' было бы неверным, потому что в любом случае 'Reroute' будет использовать значение альфа-канала, а не Luma.

В Cin-HV|GG в эффекте 'Титры | Title' инструмент выбора цвета 'Text Color' позволяет регулировать непрозрачность текста, тем самым внося дополнительные изменения в 'Alpha Matte'. Однако этот параметр по своей сути - 'Fade' и с изменением непрозрачности текста, будет исчезать и сам текст. В Cin-CV в рассматриваемом примере с этой же целью можно использовать регулятор 'Fade' на панели управления дорожкой 'Video 3'. На панели управления также есть удобная кнопка, позволяющая свернуть/развернуть "лестницу" применённых к дорожке эффектов.


Пользователь может регулировать какие участки изображения переднего плана на дорожке 'Video 3' будут попадать в трафарет, то-бишь из каких участков картинки будут строиться текстовые символы.
Делать это можно путём:
— перемещения текста в окне параметров эффекта 'Title'. В этом случае альфа-маска будет перемещаться по картинке и материал внутри букв будет изменяться
— перемещения инструмента 'Camera | Камера' в окне 'Compositor | Составитель' на дорожке 'Video 3'

При помощи инструмента 'Проектор | Projector' в окне 'Compositor' на дорожке 'Video 3' можно перемещать и масштабировать результат применения эффектов и перенаправленной альфа-маски, т.е. вы 'Проектором' перемещаете текст на дорожке 'Video 3'. Содержимое букв при этом, разумеется, не изменяется.


В представленном выше примере к нижней дорожке у меня применён эффект 'Blur | Размытие':


Сделано это для того, чтобы немножко сгладить края букв, тем самым частично нивелировав проблему сглаживания шрифтов в Cinelerrа (я говорил о ней в предыдущей публикации). С этой же целью дополнительно можно применить 'Blur' к дорожке Video 3 (разместить после 'Reroute') и, в зависимости от фона, включить размытие отдельных каналов R, G, B)
А теперь попробуем ещё один трюк. 
На скриншоте ниже: самая нижняя дорожка 'Video 1' перемещена вверх (щелчок RMB | ПКМ по дорожке и в открывшемся меню щелкнуть 'Move up | Вверх'). Для дорожки 'Video 3' выбран режим наложения 'Умножение | Multiply'. Остальные настройки эффектов не изменяются (только в 'Title' 'Drop shadow | Тень' = 2).

Cinelerra: Reroute effect and Multiply overlay mode.

В результате плоские края букв стали более чёткими, оконтуренными:

Cinelerra: Multiply overlay mode with Reroute plugin


Установив для дорожки 'Video 3' режим наложения 'Subtract | Вычитание',  получим:

Cinelerra: Reroute with Subtract


Добавлю: если после перемещения дорожки 'Video 1' вверх, пользователь изменил при помощи 'Projector | Проектор' расположение / масштаб букв в изображении на дорожке 'Video 3', необходимо соответственно изменить расположение / масштаб букв на дорожке 'Video 1'.

Ещё один пример применения режима наложения 'Умножение | Multiply' представлен ниже.
На скриншоте проект собран как было уже описано в начале статьи. 'Multiply' установлен для дорожки 'Video 3'.

Cinelerra: Reroute effect and Multiply mode.

В этом режиме буквы становятся полупрозрачными и возникает иллюзия того, что караван путешественников расположен впереди (на фоне букв):

Cinelerra: a trick with Multiply overlay mode


В режиме 'Normal | Нормальный' буквы перекрывают путешественников:


 
В следующей публикации я продолжу рассказ о 'Reroute', в частности, приведу ещё один классический пример использования 'Reroute | Перенаправление' в комбинации с 'Chroma Key | Хромакей'.
На дорожке располагается статичное или анимированное изображение на однородном фоне. Фон удаляется в Cinelerra при помощи эффекта 'Хромакей | Chroma Key', а дальше всё происходит как было описано выше. 
Также можно применять 'Reroute' в комбинации с 'Difference Key | Ключ разности' или 'Blue Banana | Модификация цвета'. 

P.S. Автор этого эффекта бывший разработчик Cin-CV, а ныне Lumiera  Herman Vosseler .
'Reroute' имеется в Cin-CV и Cin-GG. В Cin-HV он отсутствует (портирован не был). 
Эффект присутствует также в Cin-CVE, но разработчик этого форка Einar Rünkaru ранее произвёл "модифицирование" работы эффекта, что привело эффект (по состоянию на 02.02.22) в полностью непригодное состояние (а то, что работает, работает неправильно). Кроме того, в этом форке введён ряд лимитов как на сам эффект, так и на технику 'Shared effects | Shared Track', что значительно ограничивает их совокупные возможности. Нет никакого смысла тратить время на такие бесполезные, бестолковые, ломающие рабочий инструмент "модификации".




Комментариев нет:

Отправить комментарий