偶尔有来小店问给视频批量添加移动的方法,各种现成的软件应该挺多的,但是要满足自己需求的可能不多。
有的想这样移动,有的要那样移动,软件都是现成的移动轨迹。
有问要视频水印旋转+移动效果的,这确实有点麻烦。
移动效果:
ffmpeg -i input.mp4 -vf "drawtext=text='你的水印文字':fontfile=./simhei.ttf:fontsize=24: fontcolor=white:x='(W-tw)*abs(sin(t*0.2))':y='(H-th)*(1-abs(sin(t*0.2)))'" -c:a copy output.mp4
t*0.2 控制了水印的移动速度。增加该系数的值(如 t*2 或 t*3)会加快移动速度,减小该值(如 t*0.5)则会降低速度
旋转效果
ffmpeg -i input.mp4 -filter_complex "color=s=200x400:c=black@0[c];[c]drawtext=text='水印文字':fontfile=./simhei.ttf:fontsize=48:fontcolor=white:x=(w-text_w)/2:y=(h-text_h)/2:alpha=1,rotate=2*PI*t:c=none[txt];[0:v][txt]overlay=(W-w)/2:(H-h)/2:shortest=1" -codec:a copy output.mp4
转速:修改 2*PI*t 中的数字(如 PI*t 转得慢一倍)
水印大小:修改 s=200x100 中的数字
字体大小:修改 fontsize=48 的数值
移动+旋转效果:
ffmpeg -i input.mp4 -filter_complex "color=s=200x400:c=black@0[c];[c]drawtext=text='水印文字':fontfile=./simhei.ttf:fontsize=48:fontcolor=white:x=(w-text_w)/2:y=(h-text_h)/2:alpha=1,rotate=2*PI*t:c=none[txt];[0:v][txt]overlay=x='(W-w)*abs(sin(t*0.2))':y='(H-h)*(1-abs(sin(t*0.2)))':shortest=1" -codec:a copy output.mp4
如果需要不同的轨迹:
#圆形轨迹:
overlay=x='(W-w)/2 + (W/4)*sin(t)':y='(H-h)/2 + (H/4)*cos(t)'
#斜线移动:
overlay=x='(W-w)*abs(sin(t*0.2))':y='(H-h)*abs(sin(t*0.2))'
#弹跳效果:
overlay=x='(W-w)*abs(sin(t*0.2))':y='(H-h)*abs(sin(t*0.5))'
最终效果,速度已经调节到比较慢:
https://youtu.be/-Npjdzjq59I
https://www.bilibili.com/video/BV14C1jYmEtX
最后于 24/10.28 16:28
被zsxwz编辑
,原因:
上一篇:
小米桌面开启圈定即搜,magisk模块下一篇:
安卓防止屏幕休眠命令