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

如何使用Python将AVIF格式图片转换为PNG格式?

AVIF转PNG的实现方法

命令行快速转换

使用FFmpeg

FFmpeg是通用的多媒体处理工具,直接执行以下命令即可完成转换:

ffmpeg -i input.avif output.png

如果需要控制PNG压缩级别,可添加参数(取值0-9,0为无压缩,9为最高压缩):

ffmpeg -i input.avif -compression_level 6 output.png

使用libavif工具

libavif是专门处理AVIF格式的库,配套的avifdec工具可直接解码AVIF为PNG:

avifdec input.avif output.png

Python代码实现

使用Pillow(推荐)

Pillow从9.1.0版本开始支持AVIF解码,先安装带AVIF支持的版本:

pip install pillow[avif]

转换代码示例:

from PIL import Image

def avif_to_png(input_path, output_path):
    with Image.open(input_path) as img:
        # AVIF的透明通道会被PNG自动保留
        img.save(output_path, format="PNG")

# 调用示例
avif_to_png("input.avif", "output.png")

使用pyav库

若需底层多媒体处理,可使用pyav:

pip install av

转换代码示例:

import av

def avif_to_png(input_path, output_path):
    container = av.open(input_path)
    frame = next(container.decode(video=0))
    img = frame.to_image()
    img.save(output_path, format="PNG")

# 调用示例
avif_to_png("input.avif", "output.png")

注意事项

  • 确保工具/库版本支持AVIF解码:Pillow需9.1.0+,FFmpeg需4.4+版本。
  • AVIF的透明通道、色彩信息会被PNG完整保留,无需额外配置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 09:15:59