![ffmpeg:使用 -filter_complex、流匹配添加 Drawtext 时间码和水印](https://linux22.com/image/1418589/ffmpeg%EF%BC%9A%E4%BD%BF%E7%94%A8%20-filter_complex%E3%80%81%E6%B5%81%E5%8C%B9%E9%85%8D%E6%B7%BB%E5%8A%A0%20Drawtext%20%E6%97%B6%E9%97%B4%E7%A0%81%E5%92%8C%E6%B0%B4%E5%8D%B0.png)
我正在尝试使用 drawtext 添加时间码并使用 ffmpeg 添加徽标。
命令行如下所示:
ffmpeg -i INPUT.MP4 -i logo.png /
-filter_complex "drawtext=fontfile=arialbd.ttf:text='UTC': /
timecode='09\:59\:12\:05':r=25:\x=(w-tw)/2:y=h-(2*lh):fontcolor=white: /
fontsize=30:box=0:boxcolor=white;overlay=10:main_h-overlay_h-10" /
-vcodec h264 -preset veryslow -crf 18 -acodec copy -y OUTPUT.mp4
我认为我的流映射存在问题,因为我收到以下错误:
Cannot find a matching stream for unlabeled input pad 1 on filter Parsed_overlay
_1
有任何想法吗?
提前致谢。
答案1
我将尝试使用两个覆盖来构建它,例如:
ffmpeg -i INPUT.MP4 -loop 1 -i logo.png -filter_complex " [0] [1] overlay=10:main_h-overlay_h-10 [input_with_logo] ; \
drawtext=...your drawtext stuff... [drawtext] ; \
[input_with_logo][drawtext] overlay=...position the drawtext... " \
-vcodec h264 -preset veryslow -crf 18 -acodec copy -y OUTPUT.mp4