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

Ubuntu运行AutoTube保存JPEG报OSError: cannot write mode P as JPEG

问题根因

这个报错属于Pillow图像处理库的格式兼容问题,和删除ImageMagick的Ghostscript格式组件没有直接关联:

  • JPEG格式仅支持RGB/CMYK真彩色模式写入,不支持P(Palette 调色板索引)模式直接保存
  • 触发点在缩放GIF的逻辑中:读取后的GIF帧/索引色图像默认保留P调色板模式,代码直接将该模式的图像写入.jpg后缀的文件,触发格式校验抛出异常。
修复步骤

直接修改项目中utils/Scalegif.py文件的存图逻辑即可,不需要重装系统依赖或Python库:

  1. 定位到文件第19行附近的gif.save(path)代码
  2. 在存图代码前增加模式判断和转换逻辑,兼容P模式、带透明通道的RGBA模式:
# 转换不兼容JPEG存储的图像模式
if gif.mode in ("P", "RGBA"):
    # 若需要将透明区域填充为白色而非默认黑色,可替换为带白底合成的转换逻辑
    gif = gif.convert("RGB")
gif.save(path)
  1. 额外校验存图路径的后缀匹配逻辑:如果源文件是GIF动图,不要强行将输出路径设为.jpg后缀,可保留.gif后缀或逐帧处理后导出对应格式,避免格式强制转换冲突。
验证方式

修改完成后直接运行主程序测试,执行到图片保存步骤不再抛出cannot write mode P as JPEG的OSError即修复完成。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 22:27:32