Я пытаюсь поместить изображение watermark.png на видео с эффектом постепенного появления. Вот моя команда:
ffmpeg -i input_vid.mp4 -c:v libx264 -pix_fmt yuv420p -vf movie=watermark_3.png, scale=144:31 [водяной знак]; [in][watermark] overlay=5:Hh-15, fade=in:0:30:alpha=1[out] -s 180x320 -preset ultrafast -c:a copy out.mp4
Но из-за этого все видео становится черным. Есть идеи?
решение1
Использовать
ffmpeg -i input_vid.mp4 \
-vf "movie=watermark_3.png:loop=0.1,setpts=N/FRAME_RATE/TB,scale=144:31,format=rgba,fade=in:0:30:alpha=1[watermark]; \
[in][watermark]overlay=5:H-h-15:shortest=1,scale=180x320[out]" \
-c:v libx264 -pix_fmt yuv420p -preset ultrafast -c:a copy out.mp4
Затухание должно быть применено в цепочке водяных знаков, чтобы повлиять только на него. Флаг цикла установлен на число ниже единицы, так что он зацикливает одно изображение бесконечно. setpts обеспечивает монотонно увеличивающиеся временные метки.