如何输出与输入视频相同大小的gif

时间:2016-10-07 11:18:29

标签: ffmpeg

我正在关注How do I convert a video to GIF using ffmpeg, with reasonable quality?

举例:

ffmpeg -i input.flv -i palette.png -filter_complex "fps=10,scale=320:-1:flags=lanczos[x];[x][1:v]paletteuse" output.gif

但是我希望gif输出与视频大小相同,而不是这里指定的320,所以我删除了scale=320:-1所以我有

ffmpeg -i input.flv -i palette.png -filter_complex "fps=10,flags=lanczos[x];[x][1:v]paletteuse" output.gif

当我跑步时,我得到:

No such filter: 'flags' Error initializing complex filters.

如果我删除:

-filter_complex "fps=10,flags=lanczos[x];[x][1:v]paletteuse"

然后它有效,但视频质量很差。所以似乎我必须使用一个比例来调整那些调色板标志才能工作,如何让ffmpeg输出与输入视频大小相同的gif?

2 个答案:

答案 0 :(得分:1)

省略比例过滤器

默认情况下,输出使用与输入相同的宽度和高度。 :flags=lanczos是比例过滤器的一部分。所以你的命令看起来像:

ffmpeg -i in.flv -i palette.png -filter_complex "fps=10[x];[x][1:v]paletteuse" out.gif

答案 1 :(得分:0)

我已经弄明白了:

  

ffmpeg -i video.mkv -y -i palette.png -filter_complex" fps = 10,scale = iw:ih:flags = lanczos [x]; [x] [1:v] paletteuse&#34 ; output_mkv.gif

scale = iw:ih做的伎俩,与输入视频大小相同