FFmpeg - 沿视频角移动徽标覆盖

FFmpeg - shift logo overlay along the video corners

我已经能够改编 here 中的一些示例,我发现可以使徽标像 TikTok 一样移动,但它们只做某些角落。如何将这 2 个命令合二为一,使其像左上角、右下角、右上角、左下角一样旋转徽标并循环播放直到视频结束?它应该适用于任何分辨率,如 16:9 或 9:16 等

这是从左上角到右下角

ffmpeg -i video.mp4 -i watermark.png -filter_complex \
 "[0:v][1:v]overlay=x='if(lt(mod(t,10),5),10,W-w-10)':y='if(lt(mod(t,10),5),10,H-h-10)'" \
 -codec:a copy out.mp4

这是从右上角到左下角

ffmpeg -i video.mp4 -i watermark.png -filter_complex \
 "[0:v][1:v]overlay=x='if(lt(mod(t,10),5),W-w-10,10)':y='if(lt(mod(t,10),5),10,H-h-10)'" \ 
 -codec:a copy out.mp4

现在如何将它们合二为一并循环。

除了结合这个之外,是否可以在移动徽标下添加文本(drawtext)作为用户名?

使用

overlay=x='W/2-pow(-1,lt(mod(t,20),10))*((W-w)/2-10)-w/2':y='H/2-pow(-1,lt(mod(t,10),5))*((H-h)/2-10)-h/2'

这将循环通过 Top-Left, Bottom-Right, Top-Right, Bottom-Left。将pow前面的符号改成反方向