首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用ffmpeg从avi生成gif?

如何使用ffmpeg从avi生成gif?
EN

Stack Overflow用户
提问于 2011-05-21 10:04:25
回答 2查看 47.5K关注 0票数 52

我正在尝试使用以下命令将视频的一部分提取到动画gif中:

代码语言:javascript
复制
ffmpeg -i video.avi -t 5 out.gif

它生成了一个动画的gif,但是它的质量是疯狂的。但是,当我使用以下命令生成gif图像时:

ffmpeg -i video.avi -t 10 out%d.gif

它生成可接受质量的gif图像。如何使用第一个命令生成动画gif,但质量与第二个命令相同?

EN

回答 2

Stack Overflow用户

发布于 2012-05-10 08:17:08

我在尝试从一系列从电影中提取的图像中生成高质量的动画gif时也遇到了类似的问题。

由于某些原因,使用ffmpeg生成的动画gif只包含103种颜色,可以使用固定的256级系统调色板,从而导致可怕的结果。我的解决方案是

代码语言:javascript
复制
ffmpeg -i video.avi -t 10 out%02d.gif

然后

代码语言:javascript
复制
gifsicle --delay=10 --loop *.gif > anim.gif

这样质量就相当好了。你可以找到gifsicle here

编辑:更新了这篇文章,以反映亚历克斯·卡恩的建议。

票数 66
EN

Stack Overflow用户

发布于 2011-05-21 10:21:10

我以前没有制作过GIF动画,但是你可以尝试使用bit-rate参数来指定质量,尽管它是一个图像(并且可能没有速率)。缩略图质量响应-b参数。如果你所说的疯狂,你的意思是“疯狂的糟糕”,你可以指定一个非常高的比特率和比特率容忍度(不确定你使用的是vbr还是cbr源)。(或者相反,如果你的意思是它太好了,你想限制大小)

'-b', '10000000','-bt', '20000000'

或者,您也可以使用-s参数更改尺寸,该参数将采用尺寸的普通外观表示,如"1920X1200“。

这真的取决于你的原始素材的比特率和压缩率,以及你希望的gif会是什么样子。也许可以考虑提供比“疯狂”更多的信息,但我想这会给你一个好的开始。祝好运

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6079150

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档