如何使用ffmpeg从avi生成gif?
我正在尝试使用以下命令将video的一部分提取为GIFanimation:
ffmpeg -i video.avi -t 5 out.gif
它生成一个animationgif,但质量是疯了。 但是,当我使用以下方法生成gif图像:
ffmpeg -i video.avi -t 10 out%d.gif
它生成可接受的gif图像质量。 我如何使用第一个命令生成animationGIF,但与第二个命令相同的质量?
我有一个类似的问题,试图从一系列从电影中提取的图像生成高品质的animationgif。
出于某些原因,使用ffmpeg生成的animationgif仅包含使用固定的256级系统调色板的103种颜色,导致可怕的结果。 我的解决scheme是
ffmpeg -i video.avi -t 10 out%02d.gif
然后
gifsicle --delay=10 --loop *.gif > anim.gif
质量是相当好的。 你可以在这里findgifsicle
编辑:更新post,以反映亚历克斯·卡恩的build议。
我以前没有制作过GIFanimation,但是可以尝试使用比特率参数来指定质量,尽pipe它是一个图像(可能没有速率)。 缩略图质量响应-b参数。 如果通过疯狂,你的意思是“疯狂的坏”,你可以指定一个非常高的比特率和比特率容忍(不知道如果你使用vbr或cbr源)。 (或者如果你的意思是太好,你想限制大小,则做相反的事情)
'-b', '10000000','-bt', '20000000'
另外,你也可以使用-s参数来改变尺寸,这个尺寸会像“1920X1200”这样的普通外观。
这真的取决于你的源材料的比特率和压缩率,以及你希望GIF会是什么样子。 也许考虑提供比“疯狂”更多的信息,但是我想这会给你一个好的开始。 祝你好运