Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I created Ogv -videos with gtk-recordMyDesktop -screecasting program, trying to tackle this problem here with bruteforce over X. You can view the videos with VLC. Now the puzzle is to find some ways to convert Ogv -videos into Gif -animations so I can display them in SE. How can I do that?

share|improve this question

take a look at this: http://askubuntu.com/questions/107726/how-to-create-animated-gif-images-of-a-screencast/107735#107735

..... After the Desktop Recorder has saved the recording into an OGV video, MPlayer will be used to capture JPEG screenshots, saving them into the 'output' directory.

On a terminal:

mplayer -ao null <video file name> -vo jpeg:outdir=output

Use ImageMagick to convert the screenshots into an animated gifs.

convert output/* output.gif

you can optimize the screenshots this way:

convert output.gif -fuzz 10% -layers Optimize optimised.gif
share|improve this answer
For a large number of images, I had to add -limit map 1 to convert (got a "Killed" otherwise). – Ax3l Sep 8 '14 at 15:12
With a 30 second ogv video, the convert command took all my cpu and was going for over 10 minutes before i stopped it. adding -limit map 1 to the command did not fix it. – mac splean Oct 21 '15 at 21:19
Try this for converting ffmpeg -i output/00000%03d.jpg output.gif unix.stackexchange.com/questions/24014/… – Dawid Drozd Jul 13 at 16:07

echo '# Determine input WxH and FPS' 
eval "$(ffmpeg -i "$ifile" 2>&1 |sed -nr 's/.*Stream.*Video.* ([0-9]+x[0-9]+),.*[^[0-9.]([0-9.]+).*tbr,.*/WxH=\1;FPS=\2/p')"

echo '# Output multiple images from the input video'
ffmpeg -i "$ifile" -r $FPS -s $WxH -f image2 -vframes 100 -y ~/test-%03d.jpg 2>/dev/null

echo '# use ImageMagic "convert" to generate the animated .gif' 
convert -delay 20 ~/test-[0-9][0-9][0-9].jpg  ~/test.gif 

echo '# remove temp image files'    
rm -f  ~/test-[0-9][0-9][0-9].jpg

echo 'Done!'
share|improve this answer
Suggest converting to PNG, not JPEG, larger but reduces re-compression artifacts. – ideasman42 Mar 30 '14 at 6:50

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.