DrawText FFmpeg вираз на fontcolor


3

Я намагаюся отримати зів’ялий текст. Я сподівався, що зможу це зробити за допомогою fontcolor та виразу - як це

fontcolor='if(gt(n,44), white@.2, white)'

Очевидно, це не "зникає", а просто перевіряє, чи можна оцінити вираз, і здається, що fontcolor не обробляє вирази. Це фактичне твердження - що шрифт не може обробити вирази?

Хтось знає про спосіб зникнення тексту, мінус просто ланцюжок на кадр? Чи є спосіб замаскувати текст чи щось до цього?


Я не впевнений, може шрифт fontor виразити чи ні. У деяких фільтрах є підтримка часової шкали, яка дозволяє вам використовувати вираз для керування, коли ввімкнути фільтр, і ви можете використовувати blendфільтр для зникнення.
llogan

@LordNeckbeard У вас є приклад змішування виводу з контексту? Я думав, що ти можеш застосувати лише фільтр діаграми до вхідного потоку, і все.
slhck

@LordNeckbeard Неважливо, я щось зрозумів. Не дуже, але це працює.
slhck

Відповіді:


1

На жаль, ви не можете використовувати вирази для drawtextпараметра кольору тексту фільтра. Це унеможливлює вицвітання тексту або робити щось фантазійне легко.

Хитрість полягає в тому, щоб використовувати blendфільтр, як запропонував LordNeckbeard, і накладати оригінальний відеопотік потоком, що містить субтитри. Щось подібне до зникання в підзаголовку:

ffmpeg -y -i input.mp4 -filter_complex "[0:v] drawtext=fontfile=Fonts.ttf:text='test':x=100:y=50:fontcolor=white:fontsize=30 [subtitles]; [subtitles][0:v] blend=all_expr='A*(if(between(T,$start,$end),(T-$start)/($end-$start),1))+B*(1-(if(between(T,$start,$end),(T-$start)/($end-$start),1)))' [out]" -map '[out]' -map 0:a output.mp4

Ось $startі $endзнаходяться стартові та кінцеві позиції зникнення в секундах відповідно. Аудіопотік буде взято з входу. Ви можете скопіювати це за допомогою -c:a copy.


0

Тепер у ffmpeg є параметр fontcolor_expr(видно з дублеції ffmpeg ), у якому ви можете використовувати вирази.


1
Будь ласка, дайте більше інформації, щоб мати правильну відповідь
yass
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.