首页 > 解决方案 > FFMPEG 如何使用循环、缩放、叠加位置向 mp4 视频添加 gif 水印

问题描述

这是我的代码

ffmpeg -i video.mp4  -i anim.gif -filter_complex "[1:v] loop=-1,scale=300:-1 [ol], [0:v] [ol] overlay=W-w:H-h-10" -codec:a copy -y out.mp4

但是我无法根据视频长度将它放入循环中

我还尝试将 gif 宽度缩放到主视频宽度的 30% Gif positioing 在这里工作能够将 gif 定位在 bootom 右上角但我还需要根据主视频宽度对其进行缩放

标签: videoffmpeggifwatermark

解决方案


添加-ignore_loop 0到 gif 输入:

ffmpeg -i video.mp4 -ignore_loop 0 -i anim.gif -filter_complex "
[1:v][0:v]scale2ref=w=iw*0.3:h=ow*mdar [ol][bg];
[bg][ol] overlay=W-w:H-h-10:eof_action=pass
" -shortest -c:a copy -y out.mp4

用于scale2ref输入视频的 30% 比例


推荐阅读