如何在命令行上将 webm(视频)转换为(动画)gif?

如何在命令行上将 webm(视频)转换为(动画)gif?

我认为 ffmpeg 是首选武器,但我不知道如何实现我的目标。

答案1

这里

ffmpeg -i input.webm -pix_fmt rgb24 output.gif

答案2

巴拉夫的回答没问题。但是,生成的 gif 可能有颜色转换问题,因为 ffmpeg 会抱怨Incompatible pixel format 'rgb24' for codec 'gif'。以下是我发现有效的方法:

首先,创建 PNG 调色板:

ffmpeg -y -i input.webm -vf palettegen palette.png

然后,使用调色板制作gif:

ffmpeg -y -i input.webm -i palette.png -filter_complex paletteuse -r 10 output.gif

来源:

隐蔽 MP4/Webm - ubuntubuzz.com

答案3

扩展 Raynal 的答案,这里有一个可以添加.bashrc以进行转换的脚本:

function webm2gif() {
    ffmpeg -y -i "$1" -vf palettegen _tmp_palette.png
    ffmpeg -y -i "$1" -i _tmp_palette.png -filter_complex paletteuse -r 10  "${1%.webm}.gif"
    rm _tmp_palette.png
}

例如

webm2gif recording.webm

将创建recording.gif

相关内容