FFmpeg Cheatsheet
Complete FFmpeg command reference for video and audio processing.
58 commands
Info
Basic Info
ffmpeg -versionffmpeg -codecsffmpeg -formatsffmpeg -filtersffmpeg -encodersffmpeg -decodersffprobe [input]ffprobe -show_streams [input]Convert
Format Conversion
ffmpeg -i input.mp4 output.aviffmpeg -i input.mov -c:v libx264 -c:a aac output.mp4ffmpeg -i input.avi -c:v libvpx -c:a libvorbis output.webmffmpeg -i input.mp4 -c copy output.mkvffmpeg -i input.mp4 -an output.mp4ffmpeg -i input.mp4 -vn output.mp3ffmpeg -i input.mp3 output.wavffmpeg -i input.wav -c:a libmp3lame -q:a 2 output.mp3Convert
Quality Settings
ffmpeg -i input.mp4 -crf 23 output.mp4ffmpeg -i input.mp4 -b:v 1M output.mp4ffmpeg -i input.mp4 -b:a 128k output.mp4ffmpeg -i input.mp4 -preset fast output.mp4Edit
Cut & Trim
ffmpeg -ss 00:00:10 -to 00:00:20 -i input.mp4 -c copy output.mp4ffmpeg -i input.mp4 -ss 00:01:00 -t 30 -c copy output.mp4ffmpeg -sseof -30 -i input.mp4 -c copy output.mp4Edit
Merge & Concat
ffmpeg -f concat -safe 0 -i files.txt -c copy output.mp4ffmpeg -i input1.mp4 -i input2.mp4 -filter_complex concat=n=2:v=1:a=1 output.mp4💡 files.txt format: file 'video1.mp4'\nfile 'video2.mp4'
Filters
Video Filters
ffmpeg -i input.mp4 -vf scale=1280:720 output.mp4ffmpeg -i input.mp4 -vf scale=-1:720 output.mp4ffmpeg -i input.mp4 -vf crop=640:480:0:0 output.mp4ffmpeg -i input.mp4 -vf transpose=1 output.mp4ffmpeg -i input.mp4 -vf hflip output.mp4ffmpeg -i input.mp4 -vf vflip output.mp4ffmpeg -i input.mp4 -vf fps=30 output.mp4ffmpeg -i input.mp4 -vf 'setpts=0.5*PTS' output.mp4ffmpeg -i input.mp4 -vf eq=brightness=0.1:contrast=1.2 output.mp4Filters
Audio Filters
ffmpeg -i input.mp4 -af volume=2.0 output.mp4ffmpeg -i input.mp4 -af atempo=2.0 output.mp4ffmpeg -i input.mp4 -af 'afade=t=in:d=3' output.mp4ffmpeg -i input.mp4 -af loudnorm output.mp4Images
Screenshots & GIFs
ffmpeg -i input.mp4 -ss 00:00:10 -vframes 1 output.pngffmpeg -i input.mp4 -vf fps=1 frame_%04d.pngffmpeg -i input.mp4 -vf 'fps=10,scale=320:-1' output.gifffmpeg -i input.mp4 -t 5 -vf 'fps=15,scale=480:-1' output.gifffmpeg -framerate 30 -i frame_%04d.png -c:v libx264 output.mp4Subtitles
Subtitle Operations
ffmpeg -i input.mkv -map 0:s:0 subs.srtffmpeg -i input.mp4 -vf subtitles=subs.srt output.mp4ffmpeg -i input.mp4 -i subs.srt -c copy -c:s mov_text output.mp4Subtitles
Metadata
ffmpeg -i input.mp4 -metadata title='Title' output.mp4ffmpeg -i input.mp4 -map_metadata -1 -c copy output.mp4Streaming
Capture & Stream
ffmpeg -f v4l2 -i /dev/video0 output.mp4ffmpeg -f avfoundation -i '0' output.mp4ffmpeg -f gdigrab -i desktop output.mp4ffmpeg -i input.mp4 -f flv rtmp://server/live/streamffmpeg -i input.mp4 -f hls -hls_time 10 playlist.m3u8Advanced
Complex Operations
ffmpeg -i input.mp4 -vf 'scale=1280:720,fps=30' -crf 23 output.mp4ffmpeg -i input.mp4 -vf "drawtext=text='Hello':fontsize=24:x=10:y=10" output.mp4ffmpeg -i video.mp4 -i audio.mp3 -c:v copy -c:a aac output.mp4ffmpeg -i input.mp4 -i watermark.png -filter_complex overlay=10:10 output.mp4ffmpeg -i input.mp4 -vf 'split[a][b];[a]palettegen[p];[b][p]paletteuse' output.gifQuick Reference
Convert:
ffmpeg -i in.mp4 out.avi
Resize:
-vf scale=1280:720
Cut:
-ss 00:00:10 -t 30
Quality:
-crf 23