代码之家  ›  专栏  ›  技术社区  ›  Muhammad Sanaullah

添加GIF作为水印并循环FFMPEG

  •  2
  • Muhammad Sanaullah  · 技术社区  · 6 年前

    我尝试在视频上添加GIF并不断循环,但它只会设置一次动画并在视频上停止

    ffmpeg.exe -i "video.mp4" -i "ani.gif" -filter_complex "[1:v]format=yuva444p,setsar=1,scale=80:80,rotate=PI/6:c=black@0:ow=rotw(PI/6):oh=roth(PI/6) [rotate];[0:v][rotate] overlay=(main_w-overlay_w)/2:(main_h-overlay_h)/2" -codec:a copy -y output.mp4

    解决方案是什么?

    谢谢

    1 回复  |  直到 6 年前
        1
  •  5
  •   Gyan    6 年前

    使用

    ffmpeg.exe -i "video.mp4" -ignore_loop 0 -i "ani.gif" -filter_complex "[1:v]format=yuva444p,scale=80:80,setsar=1,rotate=PI/6:c=black@0:ow=rotw(PI/6):oh=roth(PI/6) [rotate];[0:v][rotate] overlay=(main_w-overlay_w)/2:(main_h-overlay_h)/2:shortest=1" -codec:a copy -y output.mp4

    ignore_loop 使GIF循环次数与文件头中设置的次数相同,通常为无限次。

    覆盖通常会一直运行到两个输入结束,但这在这里不起作用,因为GIF将无限循环,因此启用了“最短”选项。