You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

FFmpeg hstack拼接PNG时如何将透明区域替换为白色去除Alpha通道

解决方案

直接在原有的滤镜拼接逻辑后追加removealpha=color=white滤镜即可实现需求,不需要额外加其他输出参数。
修改后可直接运行的完整命令:

ffmpeg -i a.png -i b.png -filter_complex "hstack=inputs=2,removealpha=color=white" output.png

相关说明

  • 原命令直接拼接后输出会保留输入PNG的Alpha透明通道,如果只给输出加-pix_fmt rgb24参数强制转换为无透明的RGB格式,FFmpeg默认会把透明区域填充为黑色,达不到白底的要求
  • removealpha滤镜的作用就是移除图像的Alpha通道,它的color参数可以自定义原透明区域的填充颜色,传入white就会把所有透明位置替换为纯白色,最终输出的PNG文件自动为不带Alpha通道的普通RGB格式
  • 这个写法不需要提前计算拼接后图像的分辨率,滤镜会自动适配hstack输出的画布尺寸,不会出现尺寸不匹配的报错
  • 如果你的FFmpeg版本较老,找不到removealpha滤镜,可以用白底叠加的兼容写法,效果完全一致:
ffmpeg -i a.png -i b.png -filter_complex "hstack=inputs=2[stacked];color=white[bg];[bg][stacked]overlay=format=auto,format=rgb24" output.png

内容的提问来源于stack exchange,提问作者lucky1928

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 13:45:32