Я хотел бы знать, есть ли плавный переход и исчезновение водяного знака на видео каждые x секунд / минут в течение y секунд / минут с использованием FFMPEG. Я попытался -filter_complex, чтобы увидеть, может ли он помочь, но у меня нет никакого результата.

1 ответ1

2

Вы можете использовать петлевой фильтр.

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 добавляется для получения монотонного ряда.

Поток затем накладывается на видео.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .