使用ffmpeg給視頻添加跑馬燈效果(滾動字幕)


直接上命令

從左往右滾

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

原理
請參閱Desmos了解它的工作原理。


x軸是視頻寬度。

y軸是時間。

黑線是圖像的寬度(可通過滑塊在Desmos中調整x)。

黑色陰影是我公式中的文字。

t在Desmos中對應tw於FFmpeg CMD,這是文本的寬度。

藍色區域是原始公式中的文本。

參考文獻:

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM