使用 FFMPEG 同时应用两个过滤器(Showwaves 和 Drawtext)

Applying two filters (Showwaves and Drawtext) at once with FFMPEG

我在我的视频中使用了这个命令:

ffmpeg -i input.mp3 -i input.mp4 -y -ss 00:00:00 -t 00:00:10 -filter_complex "[0:a]showwaves=s=1920x175:colors=Yellow:mode=cline,colorkey=0x000000:0.01:0.1,format=yuva420p[v];[1:v][v]overlay=0:800[outv]" -map "[outv]" -pix_fmt yuv420p -map 0:a -c:v libx264 -c:a copy -shortest output.mp4

并将此命令发送到视频:

ffmpeg -i input.mp4 -y -ss 00:00:00 -t 00:00:10 -vf drawtext="fontfile=/path/to/font.ttf: text='My Text': fontcolor=white: fontsize=74: box=1: boxcolor=black@0.5: boxborderw=5: x=(w-text_w)/2: y=(h-text_h)/2" -c:v libx264 -c:a copy -shortest output.mp4

我想将这两个命令合并为一个命令。我看到 this question 并尝试了几次都没有成功。

叠加后添加即可:

[1:v][v]overlay=0:800,
       drawtext="fontfile=/path/to/font.ttf: text='My Text': fontcolor=white: fontsize=74: box=1: 
       boxcolor=black@0.5: boxborderw=5: x=(w-text_w)/2: y=(h-text_h)/2"[outv]"

非常感谢!是工作!我很开心!

ffmpeg -i input.mp3 -i input.mp4 -y -ss 00:00:00 -t 00:00:10 -filter_complex "[0:a]showwaves=s=1920x175:colors=Yellow:mode=cline,colorkey=0x000000:0.01:0.1,format=yuva420p[v];[1:v][v]overlay=0:800,drawtext=fontfile=/path/to/font.ttf: text='My Text': fontcolor=white: fontsize=74: box=1: boxcolor=black@0.5: boxborderw=5: x=(w-text_w)/2: y=(h-text_h)/2" -pix_fmt yuv420p -map 0:a -c:v libx264 -c:a copy -shortest output.mp4