我认为 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
来源:
答案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
。