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

如何用FFmpeg创建带透明背景的AVIF图片?

如何用FFmpeg创建带透明背景的AVIF图片?

这个问题我碰到过,主要是你使用的libaom-av1编码器对Alpha通道的默认处理逻辑导致的——它不会自动启用透明通道的编码支持,所以你的透明背景被转成了黑色。咱们来调整命令解决这个问题:

方案1:给libaom-av1添加Alpha通道参数

在原命令基础上,增加两个关键参数,强制编码器保留透明信息:

ffmpeg -f lavfi -i "color=color=#00000000@0.0:size=550x60,format=yuva420p,drawtext=text='Hello how are you?':fontcolor=black:fontsize=55:borderw=1:bordercolor=white:x=(W-tw)/2:y=(H-th)/2" -frames:v 1 -c:v libaom-av1 -pix_fmt yuva420p -alpha_quality 100 hello.avif
  • -pix_fmt yuva420p:强制输出带Alpha通道的像素格式,避免FFmpeg自动转换为不透明格式
  • -alpha_quality 100:设置Alpha通道的编码质量(取值0-100),确保透明信息完整保留,默认参数可能会丢弃透明数据

方案2:换用对透明更友好的AV1编码器

如果libaom-av1还是有问题,可以试试libsvtav1编码器,它对Alpha通道的支持更直观,不需要额外的质量参数:

ffmpeg -f lavfi -i "color=color=#00000000@0.0:size=550x60,format=yuva420p,drawtext=text='Hello how are you?':fontcolor=black:fontsize=55:borderw=1:bordercolor=white:x=(W-tw)/2:y=(H-th)/2" -frames:v 1 -c:v libsvtav1 -pix_fmt yuva420p hello.avif

运行上面任意一个命令后,生成的AVIF图片就会和你用PNG命令生成的效果一致,背景是透明的啦。

备注:内容来源于stack exchange,提问作者Ricardo Bohner

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.23 15:37:54