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



我遵循如何使用ffmpeg将视频转换为GIF,具有合理的质量?

它给出了一个例子:

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

但是,我希望gif输出的大小与video相同而不是这里指定的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相同的大小输入视频?

省略比例过滤器

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

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

我明白了:

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

scale=iw:ih,大小与输入视频相同

最新更新