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函数中的第二个arg 120是一个旋转周期。60是半周期。

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