21 сентября, 2022

Прозрачные рельефные титры в Cinelerra (ч.2) | Transparent relief text effect with Cinelerra (p.2)

Эта публикация является продолжением серии статей о прозрачных титрах в Cinelerra, начатого здесь. Как и в предыдущих публикациях при помощи эффектов Reroute, Blur, Invert Video и Title создаётся 'Alpha Matte Text effect'. Однако, в отличие от ранее представленных примеров, здесь применён двойной 'Reroute', что позволяет улучшить сглаживание краёв букв в Cinelerra, создать рельефный контур и отдалённо намекнуть на объёмность. О том как работать с эффектом 'Reroute' я подробно рассказывал в статье 'Reroute | Перенаправление' и Alpha Matte в Cinelerra (p. 1). Дополнительно смотрите по тегу.
                                                              #1
Cinelerra: transparent titles with alpha matte

          #2:
Transparent titles in Cinelerra (alpha matte)

Как это сделано
(стартовые настройки):

Color Model = YUVA-8bit
На дорожке 'Video 3' -- два видеофайла формата h264.mp4 (avc1), yuv420p(tv, bt709), 1280x720.
Те же два видеофайла -- на дорожке 'Video 2'.
#3
Cinelerra: set transparent titles with alpha-matte (multiply-max)
#4:
Cinelerrra: set transparent titles

Если увеличить радиус размытия с 3 до 6 и выше в 'Blur', который применён сразу после 'Title' (окно слева), то рельефность букв несколько увеличится. Однако мне не очень нравится этот способ, так как края букв выглядят "мыльными", а после 7-8 и вовсе получается размазня. Ниже я ещё вернусь к этому вопросу.
#5:

-------------------------------------------------------

Вернём радиус к 3, затем изменим 'Overlay mode | Режим наложения' и порядок расположения эффектов на дорожке 'Video 2'. Здесь же включим размытие альфа-канала в 'Blur | Размытие'. Остальные стартовые настройки без изменений:

#6:

Cinelerra: transparent titles. Settings.

Получим: 
#7:
Cinelerra: transparent titles with alpha matte

----------------------------------------------------------------------------

Теперь вернёмся к стартовым настройкам, затем установим 'Режим наложения | Overlay mode' для дорожки 'Video 3' = 'Normal', а для дорожки 'Video 2' = 'Замена | Replace'. Эффект 'Blur' дорожки 'Video 2' отключим, чтобы содержимое букв было абсолютно прозрачным.

В результате получим в Cinelerra контурные титры, нарисованные карандашом:

#8:

Cinelerra: how to create transparent titles with alpha matte

-----------------------------------------------------------------------------

В принципе, схема размещения основного эффекта ('Reroute') и его распределённой копии может быть и как на скриншоте ниже (я подробно рассказывал об этом в постскриптуме к статье по ссылке выше):
#9:

Cinelerra: Reroute effect


--------------------------------------------------------------

Так а можно ли увеличить рельефность букв, сохранив чёткими края ? Можно.
Вернёмся к стартовым настройкам (вернём режимы наложения и включим Blur на дорожке 'Video 2'). Далее в этих старт. настройках внесём изменения в Blur-эффекты дорожки 'Video 1': в том, что применяется сразу после 'Title' (окно слева), oтключим размытие альфа-канала и увеличим радиус размытия до 12, а в том, что перед 'Invert Video' (окно справа), уменьшим радиус размытия до 3. В эффекте 'Title' уменьшим значение 'Shadow' с 2 до 1 (края букв станут аккуратнее). Остальные настройки -- без изменений.
 #10:
                                                                              #11:
Cinelerra: pseudo 3D titles


В результате рельефность, объёмность букв несколько возросла (видеоролик). Однако с увеличением радиуса достигнутая рельефность начинает теряться, ухудшается сглаженность краёв букв. Кроме того, этот способ капризен касательно футажа. Ищите баланс.

---------------------------------------------------------------------------------------------------

Все представленные выше примеры могут быть воспроизведены в полном объёме только в Cinelerra CV.

В Cin-HV эффект 'Reroute' отсутствует (портирован не был). В Cin-GG поломаны режимы наложения (Overlay modes). В Cin-CVE функционал техники  'Shared effects | Shared Track'  модифицирован значительно урезан её разработчиком Einar Rünkaru и, в частности, не позволяет применить более одного мультиканального эффекта (Reroute). Он в Cin-CVE ещё много чего не позволяет -- подробнее смотрите в посткриптуме к статье Reroute и Alpha Matte в Cinelerra (p. 1) (я внёс дополнения в ранее написанный постскриптум).

Post scriptum.
Я намерен сделать здесь разбор полётов (со скриншотами) попыток активистов the Cin-GG Community разобраться в ситуации, которые больше похожи на отчаянное стремление замести проблемы Cin-GG под ковёр. А также покажу что же всё-таки можно сделать в Cin-GG, чтобы достичь более-менее приемлемого результата, потому что то, что предложил IgorBeghetto, очень от него далеко. 

UPD.: 07.2023
Ну, поехали (лучше ведь позже, чем никогда, не так ли ?).
Вот такой <результат> выдаёт Cinelerra-GG, если воспроизвести в ней вышеприведённый проект. Как видите - ни тебе прозрачности, ни рельефности, вообще ничего. Туши свет, кидай гранату. 
В рядах the CinGG-Community эта публикация вызвала лёгкое брожение. Пользователь Andrea paz (Италия) <попробовал> повторить:
I open a new post to better recall the subject; the discussion in the post "CinGG's Youtube channel" is off topic. I tried to repeat Igor Valdimirsky's tutorial; maybe I did something wrong but my result is not good. Already with the default overlay (Normal) the result is not exactly the same as in the tutorial. For example, the outline of the letters is all white while in the tutorial there are plays of light and shadows that make it three-dimensional. But the worst comes when I set the center track to "Multiply": a completely wrong color comes out! 

Пользователи вяло и без особого энтузиазма принялись обсуждать ситуацию; ситуация, разумеется, требовала скомпилировать CinCV, но компилировать какую-то там древнюю CV им не хотелось. Только Andrew-R, собрав программу, безуспешно пытался расшевелить апатичных сонных зазнаек. Пошли разговоры про особый путь, некую специфику: IgorBeghetto: "It may be (surely) that Cin-CV and Cin-GG work slightly differently. I remember that, when you are using the Title effect, the black colour is meant to be the alpha channel (more or less). It may be that not everything Cin-CV is able to do can be reproduced in Cin-GG,... and vice versa."  Phyllis Smith: ".. thanks for reaffirming that not everything will be the same."
Phyllis Smith: "You can perform this convoluted method OR "just use a simple Outline font" which can be freely downloaded." Кстати, вот я бы очень хотел посмотреть как она добьётся рельефности и объёмности при помощи Outline font (контурного шрифта). Я говорю про рельефность и объёмность, а не про то, чтобы размазать контур вокруг границ шрифта. Andrea ведь уже сказал до неё: ".. For example, the outline of the letters is all white while in the tutorial there are plays of light and shadows that make it three-dimensional"

Спустя некоторое время тамошнему народу снова явился Igor Beghetto (Италия) и выдал <вот такое> (изображение по ссылке кликабельно - щелкните ЛКМ для увеличения). Его проект можете скачать <здесь> (скачиваете attachment-0001.bin и для распаковки переименуйте в test_alpha-channel-overlay_5a.tar.gz). Пользователь, в попытках  справиться с поломанной цветопередачей, включил инвертирование G и B каналов, размытие ряда каналов и добавил эффект 'YUV'. Режимы наложения остались те же. Гм, ну, вы сами видите.. Кроме того он добавил (как вариант), сделанную вне проекта картинку с текстом, причём рисуя текст, включил отображение тени. Но и это не помогло. Тем не менее, кричали дамочки "Ура !" и в воздух монитор бросали. Phyllis Smith на радостях: "IgorBeghetto -- that is a wonderful demonstration that it can be done in CinGG! I will have to really study how you did it by analyzing your jpg. It does look quite complicated but I want to see if I can successfully reproduce it myself." И даже <воспроизвела>. 

Мне сложно сказать что ей там так понравилось. Похоже, что она либо так хотела увидеть желаемое, что усмотрела его там где его нет, либо вообще не поняла о чём речь состроила хорошую мину при плохой игре. Для полноты сравнения обеих форков, я добавил в его проект футажи из своего проекта и открыл его в Cin-GG. Настройки его проекта я не менял. Установил только шрифт Century Schoolbook L (как и в моём проекте).  Результат выглядит <вот так>, т.е. всё так же уныло и плохо. 

Поймите меня правильно --  я ни в коей мере не строю из себя какого-то там синелерра-гуру. Я за девиз "Делай с нами, делай как мы, делай лучше нас". Только так возможно развитие и движение вперёд. Но я за то, чтобы признавать проблемы, а не стыдливо заметать их под ковёр, вводя в заблуждение доверчивых пользователей, плохо знакомых с состоянием дел "под капотом". 
Понимаете, их маркетологи, провозгласив cinelerra-gg профессиональным редактором и надеясь на мощь ныне покойного разработчика программы, надели штаны на вырост и выписали себе некий "кредит доверия". И теперь, попав в ловушку этого подхода, не в состоянии признать, что "проф." редактор имеет фундаментальные проблемы с базовым функционалом. Думаю, что здесь комплексная проблема с цветопередачей, режимами наложения, цветоконверсией между цвет. моделями и, вероятно, проблема также и в эффекте 'Blur'. 

В YUV,YUVA в Cin-GG проблемы в режимах наложения: Multiply, Divide, Overlay, Burn, Dodge, Difference, Hardlight, Softlight, Min, Darken, And. 
Режим Divide в Cin-GG имеет проблемы в обеих цветовых моделях. Здесь я сравнил режим Divide (RGBA) в разных форках (с учётом его "перевернутого" поведения в cin-gg: в СinGG (Sc / Dc), а в других форках и HV (dst_color.rgb / src_color.rgb) ). Здесь - Divide (RGBA - YUVA):  HV vs Cin-GG.
Очевидно имеется  серьёзная проблема конверсии цвета между RGB(A) <->YUV(A) в Cin-GG. Просто загрузите в Cin-GG <картинки> и сравните. Например:




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

В принципе, как сказал мне Адам в переписке касательно своей Cin-HV (оттуда для Cin-GG были взяты формулы расчёта некоторых режимов): "YUV never perfectly matched RGB & probably never will. Nowadays, it's easier to do all compositing in RGBA float." Но речь здесь идёт о небольших несоответствиях. А то, что демонстрирует Cin-GG в YUV(A) свидетельствует о фундаментальных проблемах под капотом.
Впрочем, в вышедшем 23 октября 2022г. релизе Cin-HV 8 конверсия цвета между цветовыми моделями значительно ухудшилась, в моделях с альфа-каналом режимы смешивания тоже поломаны. Я уже написал Адаму о проблеме, а пока можно пользоваться HV 7.4. 
UPDATE.: Адам внёс иcправления и обновил 12.11.2022 на sourceforge готовый бинарник для Ubuntu 16.04. Этот же бинарник нормально работает и на 18.04. Пакет с исход. кодом там не обновлялся. Обновлённый код берите с githab -- ссылка в комментариях. UPD. 02.2024: Теперь нет необходимости ждать ежегодных релизов Cinelerra-HV, чтобы ознакомиться с новшествами. По моей просьбе Адам создал на github роллинг-репозиторий, в котором публикует готовые бинарные сборки Cinelerra-HV (подробнее здесь).

Наилучшие результаты в плане цветоконверсии между RGBA <-> YUVA демонстрирует Cinelerra-CVE, но это экспериментальный форк и для работы я рекомендовать его пока не могу.

Ну да ладно, давайте посмотрим, что всё-таки можно сделать в Cinelerra-GG. Например, так:

Color Model = YUVA-8bit
#12:
Cinelerra-GG : relief text effect | рельефные титры
#13:
Cinelerra-GG: relief text effect | рельефные титры

Как это сделано
 (обратите внимание: на дорожке 'Video 1' один из эффектов 'Blur' отключен):
#14:
Cinelerra-GG: relief text effect settings
#15

Если включить на дорожке 'Video 1' отключенный эфф. 'Blur', тогда результат слегка изменится:
#16:
Cinelerra-GG - relief text

А если воспроизвести этот проект с картинкой, предложенной IgorBeg, то получится так:
#17:

Однако если воспроизвести эти настройки в Color Model = RGBA-8 bit, то снова получится <ерунда>. 

Ну что ж, примем меры. Результат см. ниже:

                                                                                    Color Model = RGBA-8bit:
                                                                                               #18:
Cinelerra-GG: relief text effect in RGBA
                                                                                                 Как это сделано:
                                                                                                              #19

На скриншоте ниже результат после дополнительной установки в 'Title' параметров 'Outline'=1, 'Stroker'=1 для основной надписи, для названия блога - 'Shadow', 'Outline', 'Stroker'=0:
#20
cinelerra-gg-relief-text-effect-v1=off-rgba


Поиграемся ещё с настройками. Например, так:
#21
cinelerra-gg-relief-text-effect-darken-yuva=rgba

#22 (Font: Radio stars (misc))

Cinelerra-GG Relief transparent titles (alpha matte))

Настройки для #21, #22(одинаковы для RGBA и YUVA):
#23
settings for relief text effect with cingg yuva=rgba_darken


На скриншоте #24 (см. ниже) результат достигнут при помощи настроек, представленных на скриншоте #14 с той разницей, что для дорожки V.2 установлен режим наложения Softlight (как я уже говорил выше, он проблемный в YUVA (равно как и Darken, применённый выше), но тем не менее с ним можно получать при определенных условиях приемлемые результаты), на дорожке V.3  в 1-м "Blur" Radius = 4, во 2-м "Blur": Radius = 3, R.=ON, G.B.=OFF, A.=ON. Цветовая модель YUVA (в RGBA - сильные артефакты).  
                                                                                      #24

Transparent relief titles in Cinelerra (alpha matte)

Ещё раз хочу заметить, что представленные выше результаты в определённой  степени зависят от футажа. 
Поэкспериментируйте с другими режимами наложения и настройками эффектов - приведёнными выше настройками тема не исчерпывается. В следующей публикации речь пойдёт о "великом и ужасном" <Time Front effect(spatio-temporal video warping).    Вот уж воистину terra incognita. Для пользователей из РФ, РБ сайт по ссылке доступен только через VPN/Proxy.

07 февраля, 2022

How to create Alpha Track Matte in Cinelerra (p. 2.1)

Ещё один пример использования эффекта "Reroute | Перенаправление" в комбинации с "Chroma Key" для создания Alpha Matte в Cinelerra. Детальное описание эффекта и примеры работы с ним смотрите в предыдущих публикациях: Эффект "Reroute | Перенаправление" и Alpha Matte в Cinelerra (p. 1),    Alpha Matte in Cinelerra = Reroute and Chroma Key effects (p. 2).





На дорожках монтажного стола:

Video 5: эффект   "Reroute | Перенаправление" -- "общий | shared" ("расшаренный") с дорожки Video 1
Video 4: эффект   "Reroute | Перенаправление" --"общий shared" ("расшаренный") с дорожки Video 2
Video 3: эффект   "Flip | Отражение"
Video 2: эффекты  "Chroma Key", "Reroute | Перенаправление" (режим "Alpha replace | Только альфа-канал")
Video 1: эффекты  "Title | Титры", "Reroute | Перенаправление" (режим "Alpha replace |  Только альфа-канал")

Так выглядит изображение, если для дорожки 'Video 4' установить режим наложения "Умножение | Multiply":

Cinelerra: alpha track matte, overlay mode = Multiply


Чтобы развернуть все дорожки одним движением указателя мыши, следует щёлкнуть ЛКМ по верхней дорожке и, не отпуская ЛКМ, провести указателем мыши по кнопкам сверху вниз. Для того, чтобы свернуть все дорожки, следует проделать процедуру в обратном порядке. 

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

P.S. 
Возникает вопрос: а не тот же результат будет получен, если "прокеенное" изображение просто разместить поверх фона без задействования "Reroute" ?  Нет, не тот:

Cinelerra: Chroma Key, Invert Video

P.P.S.
Края накладываемого изображения зубчаты, но таково оно и в оригинале.

В следующей публикации Прозрачные титры в Cinelerra (ч.2) | Transparent titles with Cinelerra (p.2) приведён пример использования двойного 'Reroute' для улучшения  сглаживание краёв букв и создания рельефного контура.


01 февраля, 2022

Alpha Matte in Cinelerra = the Reroute and Chroma Key effects (p. 2)

В этой публикации я приведу пример создания Alpha Matte в Cinelerra при помощи эффекта 'Reroute | Перенаправление' в комбинации с 'Chroma Key | Хромакей'. Публикация является продолжением предыдущей статьи о создании Alpha Matte Text в Cinelerraгде я привёл базовую информацию и подробно рассказывал о технике работы с эффектом. 

23 января, 2022

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

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

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

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

11 января, 2022

Прозрачные титры в Cinelerra (ч.1) | Transparent text effect with Cinelerra (p.1)


В этой статье я покажу как создать в Cinelerra (CV|HV) прозрачные титры и титры со светящимся контуром.  В серии примеров эффект "Титры" (Title) будет применяться в комбинации с эффектами "Инверсия цвета" (Invert Video), "Размытие" (Blur) и некоторыми режимами наложения (Overlay modes) в Cinelerra.

Представленные ниже результаты в полном объёме могут быть получены в Cin-CV|HV  (Color Model = RGBA-8 bit). Использование Cin-GG в данном случае ограничено, по причине её проблем с режимами наложения (Overlay modes) и эффектом Размытие (Blur). Имейте в виду, что некоторые режимы (Subtract, Divide) работают в cin-gg наоборот (Sc-Dc; Sc/Dc).

Cледует знать о фундаментальной особенности Cinelerra (независимо от версии): все эффекты накладываются не на материал на дорожке, а на саму дорожку. Вы можете сместить материал или заменить его - эффекты и их ключевые кадры останутся применёнными к дорожке.

Загружаем видео на трек 'Видео 1' (Video 1). Правка дорожки должна быть разрешена, то-есть на панели управления (Pathbay) слева от дорожки красная кнопка 'Разрешить/запретить правку' (Arm track) должна быть подсвечена.

На второй дорожке 'Видео 2' (Video 2), к выбранному (выделенному курсором или отмеченному начальными и конечными точками [ ]) участку применяем эффект "Титры" (Title). Выбрать участок можно также, установив две метки и сделав между ними двойной щелчок ЛКМ. Ну или вообще ничего не выделяйте/не отмечайте, но в этом случае эффект применится ко всей дорожке.
В рассматриваемом примере я применяю эффект "Титры (Title)" к пустой дорожке. Настраиваем эффект, а затем применяем эффекты "Инверсия цвета" (Invert Video), "Размытие" (Blur).

Ну а теперь, собственно, примеры: настройки и результаты (настройки эффектов Cinelerra появляются при наведении указателя мыши на скриншот).