Как добавить водяной знак как петлю, используя скользящее наложение ffmpeg

1380
Anoma

Я использую наложение ffmpeg для добавления водяного знака (.PNG) в видеоклип. Этот водяной знак должен скользить сверху вниз видео повторно в виде петли по всей длине видео. Я мог бы настроить добавление водяного знака, чтобы скользить сверху вниз.

Моя проблема: он скользит только один раз. Это не начинается заново как цикл.

Мой код:

ffmpeg -i test.mkv -loop 1 -i watermark.png -filter_complex "overlay=x=0:y='if(gte(t,0), -H+(t)*20, NAN)':shortest=1" output.mkv 

Не могли бы вы помочь мне исправить эту проблему?

Спасибо

Anoma

0

1 ответ на вопрос

0
Gyan

использование

ffmpeg -i test.mkv -loop 1 -i watermark.png \ -filter_complex "overlay=x=0:y='if(gte(t,0), ((H+h)\/5)\*mod(t\,5)-h, NAN)':shortest=1" \ output.mkv 

5 секунд - период вышеприведенного выражения. Измените оба параметра, 5чтобы изменить период.

Если вы не работаете с файлами с отрицательными временными метками, такими как сегментированные или разделенные файлы, используя ffmpeg -ssв copyрежиме, вы можете пропустить gteфункцию.

ffmpeg -i test.mkv -loop 1 -i watermark.png \ -filter_complex "overlay=x=0:y='((H+h)\/5)\*mod(t\,5)-h':shortest=1" \ output.mkv 
Вау, это работает как шарм! Огромное спасибо!! Anoma 8 лет назад 0
Не могли бы вы сказать мне, как я должен изменить ваш код, чтобы переместить водяной знак с ДНА на ТОП? Большое спасибо. Anoma 8 лет назад 0
Я изменил код, и он отлично работает. > ffmpeg -i input.mkv -loop 1 -i watermark.png -filter_complex "overlay = x = 0: y = 'if (gte (t, 0), ((-Hh) \ / 20) \ * mod (t) \, 20) + H, NAN) ': кратчайший = 1 "output.mkv Anoma 8 лет назад 0

Похожие вопросы