问题
我想将一部长电影转换成一系列关于动画 GIF 的作品。
每个 GIF 必须小于 5MB。
有什么方法可以确定 GIF在编码时有多大?
迄今为止的进展
我可以将电影分割成单独的帧:
ffmpeg -i movie.ogv -r 25 frameTemp.%05d.gif
然后我可以使用convert
ImageMagick 来创建 GIF。但是,我找不到在运行命令之前确定可能的文件大小的方法。
或者,我可以将电影分成几块:
ffmpeg -i movie.ogv -vcodec copy -ss 00:00:00 -t 00:20:00 output1.ogv
但我无法知道,当我convert
将文件转换为 GIF 时,它是否会低于 5MB。
一个包含大量动作的 10 秒场景可能超过 5MB(糟糕!),而静态场景可能低于 5MB(不是问题,但效率不高)。
想法
我认为我想做的是将整个电影转换为 GIF,然后找到一种按文件大小拆分的方法。
查看 ImageMagick,我可以将 GIF 拆分为帧,但我看不到将其拆分为特定大小/长度的动画 GIF 的方法。
那么,这可能吗?