我想视频的部分提取到使用以下命令GIF动画:如何使用ffmpeg从avi生成gif?
ffmpeg -i video.avi -t 5 out.gif
它生成GIF动画,但质量是疯了。然而,当我生成使用GIF图像:
ffmpeg -i video.avi -t 10 out%d.gif
它产生可接受的GIF图像的质量。我如何使用第一个命令生成动画gif,但与第二个命令的质量相同?
我想视频的部分提取到使用以下命令GIF动画:如何使用ffmpeg从avi生成gif?
ffmpeg -i video.avi -t 5 out.gif
它生成GIF动画,但质量是疯了。然而,当我生成使用GIF图像:
ffmpeg -i video.avi -t 10 out%d.gif
它产生可接受的GIF图像的质量。我如何使用第一个命令生成动画gif,但与第二个命令的质量相同?
我还没有制作过GIF动画,但您可以尝试使用比特率参数来指定画质,尽管它是一个图像(并且可能没有比例)。缩略图质量响应-b参数。如果通过疯狂,你的意思是“非常糟糕”,你可以指定非常高的比特率和比特率容忍度(不确定你是否使用vbr或cbr源)。 (或者做相反,如果你的意思是太好了,你希望限制大小)
'-b', '10000000','-bt', '20000000'
另外,您还可以使用-s参数,将采取的一个普通的望着表示更改尺寸尺寸如“1920X1200”。
它确实取决于您的源素材的比特率和压缩以及您希望gif会是什么样子。也许考虑提供比“疯狂”更多的信息,但我想这会给你一个很好的开始。祝你好运
我有一个类似的问题,试图从一系列从电影中提取的图像生成高品质的动画gif。
由于某些原因,使用ffmpeg生成的动画gif仅包含103种颜色,使用固定的256级系统颜色调色板可导致可怕的结果。我的解决办法,而不是
ffmpeg -i video.avi -t 10 out%02d.gif
然后
gifsicle --delay=10 --loop *.gif > anim.gif
质量是那么相当不错。你可以找到gifsicle here
编辑:更新了帖子,以反映亚历克斯卡恩的建议。
谢谢!一个调整:使用%02d.gif。这填充文件名中的数字,以便它们按照正确的字母顺序排列。否则,订单结束为1,10,11,12,13,14,15,16,17,18,19,2,20,21,22,23 ...这给出了由此产生的gif一个奇怪的跳过效果。 – 2012-12-17 00:32:11
您也可以使用'ffmpeg'输出PNG而不是GIF来避免糟糕的质量。 FWIW,这里有一个关于在Bash中创建GIFS的精彩文章:http://blog.room208.org/post/48793543478 – 2013-09-30 10:48:50
这很好用。你可能还想做的一件事是跳过帧:使用'seq -f%02g。gif start skip stop“代替gifsicle命令中的”* .gif“,你可以跳过'skip'帧,从'start'开始到'stop'帧结束。非常有用。 例如: gifsicle --delay = 10 --loop'SEQ -f%02g.gif 1 3 156'> anim.gif 将在帧1开始,跳过3帧和在帧156中 – funkaster 2014-03-03 23:21:02
这可能很方便http://blog.pkh.me/p/21-high-quality-gif-with-ffmpeg.html – 2015-03-18 02:02:27