ffmpeg -f x11grab -s wxga -r 25 -i :0.0 -sameq /tmp/out.mpg
A pure coincidence, I have done so much video processing with ffmpeg that I know what most of this command does without looking much in the manual. The ffmpeg generally can be descibed as a command that takes a bunch of options and the last option is the output file. In this case the options are -f x11grab -s wxga -r 25 -i :0.0 -sameq and the output file is /tmp/out.mpg. Here is what the options mean: * -f x11grab makes ffmpeg to set the input video format as x11grab. The X11 framebuffer has a specific format it presents data in and it makes ffmpeg to decode it correctly. * -s wxga makes ffmpeg to set the size of the video to wxga which is shortcut for 1366x768. This is a strange resolution to use, I'd just write -s 800x600. * -r 25 sets the framerate of the video to 25fps. * -i :0.0 sets the video input file to X11 display 0.0 at localhost. * -sameq preserves the quality of input stream. It's best to preserve the quality and post-process it later. You can also specify ffmpeg to grab display from another x-server by changing the -i :0.0 to -i host:0.0.