FFmpeg cheat sheet
November 15, 2018

FFmpeg cheat sheet. Most helpful commands/options to use with FFmpeg

Screenshots from the screen

make png screenshot

ffmpeg -f x11grab -s 1920x1080 -i :0.0 -vframes 1 -y screenshot.png

make png screenshot of the 2nd monitor (right of the left one)

ffmpeg -f x11grab -s 1920x1080 -i :0.0+1920 -vframes 1 -y screenshot.png

Video post-processing

get all frames from each second of the video. Be careful command will generate a lot of jpg files!

ffmpeg -i test.mpg image%d.jpg

the same command but with some options:

-r 1 - how many frames to get from each second

-ss 00:00:10 - start from 10 second

-t 00:00:05 - get frames for 5 seconds of the video

ffmpeg -i test.mpg -r 1 -ss 00:00:10 -t 00:00:05 image%d.jpg

get a part of the video file. Get 2 minutes 25 seconds starting from 3rd second

ffmpeg -ss 00:00:03 -t 00:02:25 -i video.mp4 cut.mp4

get an audio in mp3 format from the video record

ffmpeg -i video.avi -f mp3 audio.mp3

mix a sound file to the video file

ffmpeg -i son.wav -i video_original.avi video_finale.mpg

Demo videos

grab FullHD video from desktop screen

ffmpeg -f x11grab  -r 30 -s 1920x1080 -i :0.0 -vcodec libx264 -threads 0 -y demo.mkv

-i :0.0 - source, your display. You can get connected displays with the command:

printenv DISPLAY


xrandr --query

grab FullHD video from desktop screen + audio from microphone

ffmpeg -f alsa -i pulse  -f x11grab  -r 30 -s 1920x1080 -i :0.0 -acodec ac3 -vcodec libx264 -threads 0 -y demo_with_audio.mkv

grab video from desktop screen starting with the upper-left corner at x=50, y=30 with a width and height of 1870x1050

ffmpeg -f x11grab  -r 30 -s 1870x1050 -i :0.0+50,30 -vcodec libx264 -threads 0 -y demo_capture_a_part.mkv


get details about your video/audio file

ffprobe -loglevel quiet -show_format your_video_or_auido_file.mp4 

convert wav audio file to mp3

ffmpeg -i my_audio.wav  my_audio.mp3

convert jpg images to video file

ffmpeg -f image2 -i img%d.jpg  a_video_file.mpg

convert .avi video file to animated gif (uncompressed)

ffmpeg -i video_origine.avi gif_anime.gif

convert video file to 320x240 with 300 kbps

ffmpeg -i source_video.avi -b 300 -s 320x240 -vcodec xvid -ab 32 -ar 24000 -acodec aac final_video.mp4


build Time-lapse video from images

render to fast video

ffmpeg -pattern_type glob -i '*.JPG' -r 30 -c:v libx264 -crf 23 -preset fast -pix_fmt yuv420p timelaps_fast.mp4

render to slow video

ffmpeg -pattern_type glob -i '*.JPG' -r 30 -c:v libx264 -crf 18 -preset slow -pix_fmt yuv420p timelaps_slow.mp4
Last update May 9, 2021
Cheat Sheet ffmpeg