用途:解决上传GIF到微信公众号等平台时遇到的"图片帧数超过300帧"限制,自动检测GIF帧数并把超限GIF切分为多个符合要求的小文件;也可仅查看GIF信息。
主要能力:读取GIF所有帧及每帧持续时间,按总帧数与最大帧数限制计算分片数量并均匀分配,保留原始帧率和循环设置,生成优化后的GIF;输出文件命名为 {原文件名}_第{序号}部分.gif,默认输出到原目录下的 split_output/ 文件夹。支持处理单个文件或整个文件夹。
使用方式(依赖 Pillow,Python 3.6+,先执行 pip3 install Pillow): 切分单个文件:python3 ~/.claude/skills/jiamu-skills/gif-splitter/scripts/split_gif.py "GIF文件路径" 切分文件夹:python3 scripts/split_gif.py ~/Desktop/gif文件夹/ 指定最大帧数(默认280):python3 scripts/split_gif.py "动图.gif" --max-frames 200 指定输出目录:python3 scripts/split_gif.py "动图.gif" -o ~/Desktop/output 仅查看信息:python3 scripts/split_gif.py "动图.gif" --info 参数:path(必填,文件或文件夹路径)、--max-frames/-m(默认280)、-o/--output(默认原目录 split_output/)、--info。
适用场景:上传微信公众号提示帧数超限;需将大GIF拆成多个小GIF;需检查GIF帧数信息。平台参考:微信公众号300帧、10MB,建议280;微信聊天25MB;微博20MB。
限制与说明:切分后每个文件需独立调色板,帧间压缩效果降低,文件可能比原文件大,可适当增大 --max-frames 减少切分数量;若动画速度异常,可能是原GIF帧时间信息不完整。其他未提及信息暂未提供。