我需要在视频中添加两个文字。第一个文本显示在前6秒的右下方,第二个文本显示在视频中心的最后3秒。
以下是我的代码:
ffmpeg -i input.mp4 -vf drawtext="text='Stack Overflow': fontcolor=white: borderw=2: fontfile=Arial Black: fontsize=w*0.04: x=(w-text_w)-(w*0.04): y=(h-text_h)-(w*0.04): enable='between(t,0,6)'", -vf drawtext="text='Stack Overflow': fontcolor=white: borderw=2: fontfile=Arial Black: fontsize=w*0.04: x=(w-text_w)/2: y=(h-text_h)/2: enable='between(t,7,10)'" -codec:a copy output2.mp4
运行上面的代码时没有任何错误,但在输出文件中,只应用了第二个drawtext。
答案 0 :(得分:3)
drawtext 应该放在一个-vf
中(使用“[in]
/ [out]
”是可选的):
ffmpeg -i input.m4 -vf "[in]drawtext=text='Stack Overflow': \
fontcolor=white: borderw=2: fontfile=Arial Black: fontsize=w*0.04: \
x=(w-text_w)-(w*0.04): y=(h-text_h)-(w*0.04): enable='between(t,0,6)', \
drawtext=text='Stack Overflow': fontcolor=white: borderw=2: \
fontfile=Arial Black: fontsize=w*0.04: x=(w-text_w)/2: y=(h-text_h)/2: \
enable='between(t,7,10)'[out]" -codec:a copy output2.mp4