How to do I convert an webm (video) to a (animated) gif on the command line?

I suppose ffmpeg is the weapon of choice but I didn't find out how to reach my goal.

1

3 Answers

From here:

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

Barafu's answer is alright. But, the resulting gif may have color conversion issue as ffmpeg complains on Incompatible pixel format 'rgb24' for codec 'gif'. Here is what I find works:

First, create PNG Palette:

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

Then, use the palette to produce gif:

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

Source:

Covert MP4/Webm - ubuntubuzz.com

2

Extending Raynal's answer, here's a script one can add to .bashrc to do the conversion:

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
}

e.g.

webm2gif recording.webm

will create recording.gif.

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

You Might Also Like