从左往右滚
ffmpeg -i input.mp4 -vf "drawtext=text=string1 string2 string3 string4 string5 string6 string7 :expansion=normal:fontfile=foo.ttf: y=h-line_h-10:x=(mod(5*n\,w+tw)-tw): fontcolor=white: fontsize=40: shadowx=2: shadowy=2" output.mp4
从右往左滚
-vf "drawtext=text=string1:fontfile=foo.ttf:y=h-line_h-10:x=w-(t-4.5)*w/5.5:fontcolor=white: fontsize=40:shadowx=2:shadowy=2"
从右往左滚,单次滚动时长10秒,间隔30秒滚一次
ffmpeg -i input.mp4 -filter:v drawtext="fontfile=Microsoft YaHei Mono.ttf:text='Hello World' :fontcolor=white@1.0:fontsize=36:y=h-line_h-10:x=w-tw-w/10*mod(t\,30):enable=gt(mod(t\,20)\,10)" -codec:v libx264 -codec:a copy -y output.mp4
切记一定设置好中文字体,否则会出现乱码,字体库可以放在程序根目录下
参考地址
https://blog.csdn.net/seozed/article/details/81140337 https://superuser.com/questions/1026763/scrolling-from-right-to-left-in-ffmpeg-drawtext https://superuser.com/questions/875058/loop-text-that-wipes-left-to-right-using-ffmpeg-drawtext-filter/1026470#1026470