如何用FFmpeg给单张图片添加右上角Logo与底部信息
FFmpeg处理单张图片添加Logo和底部信息的正确命令
你遇到多输出图片的问题,是因为未明确指定只输出最终处理后的流,FFmpeg默认会把filter_complex中涉及的多个流都输出成图片文件。
直接使用以下命令即可生成单张目标图片:
ffmpeg -i input.png -i ./assets/logo.png -i ./assets/telefon.png -filter_complex "[1][0]scale2ref=w='iw*1/5':h='ow/mdar'[v1];[2][0]scale2ref=w='iw*9/10':h='ow/mdar'[v2];[0][v1]overlay=main_w-overlay_w-5:5[vid];[vid][v2]overlay=10:main_h-overlay_h-10[final]" -map "[final]" output.png
关键调整说明:
- 给filter_complex的最后一步处理结果命名为
[final],通过-map "[final]"明确指定只输出这个最终流,避免输出中间过程或原始输入的图片 - 输出文件名使用单个文件名(如
output.png),而非序列格式(output%0d.png),确保只生成一张图片 - 图片缩放、叠加位置的参数和你处理视频时完全一致,保证效果统一
内容的提问来源于stack exchange,提问作者Gabriel-Joy
相关产品推荐
相关产品推荐

