Ffmpeg 分割电影,使每个GIF都在特定的文件大小之下

Ffmpeg 分割电影,使每个GIF都在特定的文件大小之下,ffmpeg,gif,avconv,Ffmpeg,Gif,Avconv,问题 我想把一部长篇电影转换成一个关于GIF动画的系列 每个GIF都需要我知道,avconv中目前没有“停止此文件大小”选项。当然,它可以很快地被黑客攻击到一起,但目前libavproject不会进行快速攻击,因此它很可能首先出现在ffmpeg中 除此之外,您还面临着一个问题,即动画gif是一种非常古老的格式,因此会做一些相当奇怪的事情。让我解释一下它的正常工作方式: 从第一个帧到最后一个帧创建一系列帧,并将它们彼此重叠 将所有“未来”帧设置为不可见,并设置为在特定时间显示 为了减小文件的大小,

问题

我想把一部长篇电影转换成一个关于GIF动画的系列

每个GIF都需要我知道,
avconv
中目前没有“停止此文件大小”选项。当然,它可以很快地被黑客攻击到一起,但目前
libav
project不会进行快速攻击,因此它很可能首先出现在
ffmpeg

除此之外,您还面临着一个问题,即动画gif是一种非常古老的格式,因此会做一些相当奇怪的事情。让我解释一下它的正常工作方式:

  • 从第一个帧到最后一个帧创建一系列帧,并将它们彼此重叠
  • 将所有“未来”帧设置为不可见,并设置为在特定时间显示
  • 为了减小文件的大小,您可以查看新帧的“下方”,如果上一个像素相同,则将该特定像素设置为不透明
  • 第三步是在动画gif中完成的唯一时间压缩,没有它,文件大小将大得多(因为每个像素必须一次又一次地保存)

    但是,如果您不确定上次中断是什么时候,则无法确定像素是否与之前的“帧”相同。毕竟,这个特定的帧可能是图像中的第一帧

    如果5MiB的限制足够软,允许稍微超过它,您可能可以将一些东西放在一起,不断地添加一帧又一帧,并立即计算最终的文件大小。一旦超过限制,就停止并使用下一帧作为下一个文件的起点