Ffmpeg 每x秒移动叠加位置

Ffmpeg 每x秒移动叠加位置,ffmpeg,watermark,Ffmpeg,Watermark,目前,我在视频的右下角添加了一个水印,以防止其他人重新发布它。但是,他们模糊了水印,所以我想添加一个移动水印,每x秒改变一次位置 下面是我当前的ffmpeg命令: ffmpeg-i input.mp4-i logo.png-filter_complex“[1][0]scale2ref=iw/4:ow*90/272[wm][vid];[vid][wm]overlay=W-W-W*10/100:H-H-H*5/100”-预设极快输出。mp4 如何每隔30秒从右下角到右上角、左上角和左下角设置水印位置

目前,我在视频的右下角添加了一个水印,以防止其他人重新发布它。但是,他们模糊了水印,所以我想添加一个移动水印,每x秒改变一次位置

下面是我当前的ffmpeg命令:

ffmpeg-i input.mp4-i logo.png-filter_complex“[1][0]scale2ref=iw/4:ow*90/272[wm][vid];[vid][wm]overlay=W-W-W*10/100:H-H-H*5/100”-预设极快输出。mp4


如何每隔30秒从右下角到右上角、左上角和左下角设置水印位置?谢谢。

每30秒更改一次的覆盖表达式是

overlay=x='if(lt(mod(t\,120)\,60)\,W-w-W*10/100\,W*10/100)':y='if(lt(mod(t+30\,120)\,60)\,H-h-H*5/100\,H*5/100)'
这将从右下角开始,每30秒顺时针移动一次


mod函数中的第二个参数(120)是一个旋转周期<代码>60为半周期。

请参阅我的答案中的第二条命令,谢谢@Gyan!我现在有了改变x和y的想法。我仍然不明白
5+mod(trunc(((t-12)+1200)/1200)的用法,2)
所以我不知道要改变什么才能得到我想要的结果。对不起,我不熟悉代码和命令,我只是在猜测。你能解释一下这是什么意思吗?我试着让位置每60秒改变一次:
overlay='5+mod(trunc(((t-12)+12)/12),2)*(W-W-W*10/100):'5+mod(trunc(((t-12)+18)/12),2)*(H-H-H*5/100)':enable='gt(t,12)
(请阅读下一条评论,由于限制,我不得不拆分它),但是,位置每6秒改变一次。此外,只有底部水印被完美定位。顶部水印粘贴在视频帧附近,没有任何空格。如何将左上方的镜像设置为左下方,将右上方的镜像设置为右下方?再次为我的noob问题感到抱歉。我将在接下来的几天内添加一个答案。谢谢Gyan。期待你的回答!与此同时,我会设法弄明白的。非常感谢你!我试图让它工作,但只能改变时间。