FFmpeg是否支持AVIF?Chocolatey安装最新版转码失败求助
解决FFmpeg转换PNG到AVIF的错误问题
确认FFmpeg对AVIF的支持情况
FFmpeg确实支持AVIF,但必须在编译时包含对应的编码器/解码器组件:
- 编码需要依赖
libaom-av1、libsvtav1或rav1e等AV1编码库 - 同时需要启用AVIF格式的编译配置
Chocolatey默认的FFmpeg包不一定包含全量编码支持,你可以执行以下命令验证本地FFmpeg的AVIF支持情况:
ffmpeg -encoders | findstr av1 ffmpeg -formats | findstr avif
如果输出中没有libaom-av1或avif相关条目,说明你的FFmpeg版本未编译对应支持。
错误原因及解决方法
错误1:Unable to find a suitable output format for 'output.avif'
该错误说明FFmpeg无法识别AVIF作为输出格式,核心原因是当前FFmpeg版本未启用AVIF格式支持。
错误2:Unrecognized option 'still-picture'
still-picture是旧版FFmpeg的废弃参数,新版FFmpeg无需该参数,直接指定编码器即可输出AVIF。
可行解决步骤
重新安装带全量编码支持的FFmpeg
通过Chocolatey卸载现有版本并安装全功能版:choco uninstall ffmpeg choco install ffmpeg-fullffmpeg-full包默认包含AVIF格式及主流AV1编码库支持。正确的转换命令
安装完成后,使用以下命令完成转换:ffmpeg -i input.png -c:v libaom-av1 -crf 28 output.avif-crf:控制画质与文件体积平衡,数值越小画质越好(范围0-63,推荐20-30)
若追求更快编码速度,可尝试libsvtav1编码器(需FFmpeg支持):
ffmpeg -i input.png -c:v libsvtav1 -crf 28 -preset 6 output.avif-preset:控制编码速度,数值越大速度越快、画质损失略增(范围0-13)
替代方案(FFmpeg仍无法支持时)
如果上述方法无效,可使用专门的AVIF转换工具:
- Squoosh:网页端工具,无需安装,支持拖拽图片及AVIF压缩参数调整
- avifenc/avifdec:libavif官方命令行工具,专注AVIF格式处理
- ImageMagick:安装时启用AVIF支持后,可通过
magick input.png output.avif快速转换
内容的提问来源于stack exchange,提问作者user19098011
相关产品推荐
相关产品推荐

