ffmpeg 通过 drawtext 实现动态字幕 实现 触壁反弹 效果.
具体效果如下:
命令行为:
ffmpeg -i D:\left\bbb.mp4 -vf "drawtext=text='FFmpeg':fontcolor=red:fontsize=66:x=(W-text_w)/2+((W-text_w)/2)*sin(n/15)" -y D:\left\out.mp4
2. 网友贡献版本:
ffmpeg -y -i D:\left\ccc.mp4 -vf drawtext="text=Hello:fontsize=66:fontcolor=red:x=0.5*(w-text_w)*(1-mod(t-mod(t\,2)\,4))*(2*mod(t\,2)-mod(t\,4))" D:\left\444.mp4
这个命令基于:
ffmpeg -y -i D:\left\ccc.mp4 -vf drawtext="text=Hello:fontsize=66:fontcolor=red:x=w*pow(-1\,t-mod(t\,1))*(mod(t\,1)-mod(t-mod(t\,1)\,2))" D:\left\444.mp4
版本修改而来, 这个命令主要是移动速度过快, 1s 内走完视频宽度.
同时X,Y 触壁反弹效果如下: