Я хотел бы знать, есть ли плавный переход и исчезновение водяного знака на видео каждые x секунд / минут в течение y секунд / минут с использованием FFMPEG. Я попытался -filter_complex, чтобы увидеть, может ли он помочь, но у меня нет никакого результата.
1 ответ
Вы можете использовать петлевой фильтр.
ffmpeg -i video -loop 1 -i logo.png -filter_complex
"[1]trim=0:30,fade=in:st=0:d=1:alpha=1,fade=out:st=9:d=1:alpha=1,
loop=999:750:0,setpts=N/25/TB[w];
[0][w]overlay=shortest=1" out.mp4
Во-первых, поток изображения логотипа обрезается до продолжительности x
секунд, здесь 30. Затем применяется 1-секундное усиление и постепенное исчезновение. Затухание начинается через y-1
секунд, здесь 9. Этот результат зацикливается 999 раз - используйте число, достаточное для охвата длины видео. Поскольку я обрезал 30-секундный сегмент, размер сегмента, который будет зациклен, равен duration x framerate
, здесь 30 x 25
= 750
. Цикл начинается с начального кадра 0
. Наконец, фильтр цикла не очищает временные метки, поэтому setpts добавляется для получения монотонного ряда.
Поток затем накладывается на видео.