用FFmpeg向视频添加文字水印或滚动字幕
广告
{{v.name}}
基本水平滚动(从右向左)。这是最常见的滚动字幕效果,通常用于新闻条或实时信息更新,代码如下
$ ffmpeg -i input.mp4 -vf "drawtext=text='你的滚动字幕内容':x='w-tw-t*100':y=h-th-20:fontsize=24:fontcolor=white:fontfile=/path/to/your/font.ttf" -c:a copy output.mp4
从左向右滚动(例如在视频顶部),代码如下
$ ffmpeg -i input.mp4 -vf "drawtext=text='你的滚动字幕内容':x='t*100':y=20:fontsize=24:fontcolor=white:fontfile=/path/to/your/font.ttf" -c:a copy output.mp4
垂直滚动(从下到上)(类似电影结尾字幕),代码如下
$ ffmpeg -i input.mp4 -vf "drawtext=text='你的滚动字幕内容':x=(w-tw)/2:y='h-t*100':fontsize=24:fontcolor=white:fontfile=/path/to/your/font.ttf" -c:a copy output.mp4
垂直滚动(从上到下),代码如下
$ ffmpeg -i input.mp4 -vf "drawtext=text='你的滚动字幕内容':x=20:y='t*100':fontsize=24:fontcolor=white:fontfile=/path/to/your/font.ttf" -c:a copy output.mp4
如果不希望字幕从一开始就出现,或者希望它在一定时间后消失,可以使用 enable 参数,代码如下
$ ffmpeg -i input.mp4 -vf "drawtext=text='你的滚动字幕内容':x='w-tw-t*100':y=h-th-20:fontsize=24:fontcolor=white:enable='between(t,10,30)'" -c:a copy output.mp4
添加半透明背景框,代码如下
$ ffmpeg -i input.mp4 -vf "drawtext=text='你的滚动字幕内容':x='w-tw-t*100':y=h-th-20:fontsize=24:fontcolor=white:box=1:boxcolor=black@0.5:boxborderw=5" -c:a copy output.mp4
添加文字阴影,代码如下
$ ffmpeg -i input.mp4 -vf "drawtext=text='你的滚动字幕内容':x='w-tw-t*100':y=h-th-20:fontsize=24:fontcolor=white:shadowx=2:shadowy=2:shadowcolor=black" -c:a copy output.mp4