FFmpeg Cheatsheet

Complete FFmpeg command reference for video and audio processing.

FFmpeg Cheatsheet

Video & audio processing commands

58

Commands

8

Categories

0

Favorites

12

Sections

Info
Basic Info
ffmpeg -version

Show version

ffmpeg -codecs

List codecs

ffmpeg -formats

List formats

ffmpeg -filters

List filters

ffmpeg -encoders

List encoders

ffmpeg -decoders

List decoders

ffprobe [input]

Show file info

ffprobe -show_streams [input]

Show streams

Convert
Format Conversion
ffmpeg -i input.mp4 output.avi

MP4 to AVI

ffmpeg -i input.mov -c:v libx264 -c:a aac output.mp4

MOV to MP4 (H.264)

ffmpeg -i input.avi -c:v libvpx -c:a libvorbis output.webm

AVI to WebM

ffmpeg -i input.mp4 -c copy output.mkv

Remux without re-encoding

ffmpeg -i input.mp4 -an output.mp4

Remove audio

ffmpeg -i input.mp4 -vn output.mp3

Extract audio

ffmpeg -i input.mp3 output.wav

MP3 to WAV

ffmpeg -i input.wav -c:a libmp3lame -q:a 2 output.mp3

WAV to MP3

Convert
Quality Settings
ffmpeg -i input.mp4 -crf 23 output.mp4

Set quality (18-28, lower=better)

ffmpeg -i input.mp4 -b:v 1M output.mp4

Set video bitrate

ffmpeg -i input.mp4 -b:a 128k output.mp4

Set audio bitrate

ffmpeg -i input.mp4 -preset fast output.mp4

Encoding speed preset

Edit
Cut & Trim
ffmpeg -ss 00:00:10 -to 00:00:20 -i input.mp4 -c copy output.mp4

Cut 10s-20s (fast)

ffmpeg -i input.mp4 -ss 00:01:00 -t 30 -c copy output.mp4

Extract 30s from 1:00

ffmpeg -sseof -30 -i input.mp4 -c copy output.mp4

Last 30 seconds

Edit
Merge & Concat
ffmpeg -f concat -safe 0 -i files.txt -c copy output.mp4

Concat from file list

ffmpeg -i input1.mp4 -i input2.mp4 -filter_complex concat=n=2:v=1:a=1 output.mp4

Concat two files

💡 files.txt format: file 'video1.mp4'\nfile 'video2.mp4'

Filters
Video Filters
ffmpeg -i input.mp4 -vf scale=1280:720 output.mp4

Resize to 720p

ffmpeg -i input.mp4 -vf scale=-1:720 output.mp4

Resize keeping aspect

ffmpeg -i input.mp4 -vf crop=640:480:0:0 output.mp4

Crop video

ffmpeg -i input.mp4 -vf transpose=1 output.mp4

Rotate 90° clockwise

ffmpeg -i input.mp4 -vf hflip output.mp4

Horizontal flip

ffmpeg -i input.mp4 -vf vflip output.mp4

Vertical flip

ffmpeg -i input.mp4 -vf fps=30 output.mp4

Change framerate

ffmpeg -i input.mp4 -vf 'setpts=0.5*PTS' output.mp4

2x speed (video)

ffmpeg -i input.mp4 -vf eq=brightness=0.1:contrast=1.2 output.mp4

Adjust brightness/contrast

Filters
Audio Filters
ffmpeg -i input.mp4 -af volume=2.0 output.mp4

Double volume

ffmpeg -i input.mp4 -af atempo=2.0 output.mp4

2x audio speed

ffmpeg -i input.mp4 -af 'afade=t=in:d=3' output.mp4

Fade in 3s

ffmpeg -i input.mp4 -af loudnorm output.mp4

Normalize audio

Images
Screenshots & GIFs
ffmpeg -i input.mp4 -ss 00:00:10 -vframes 1 output.png

Extract frame at 10s

ffmpeg -i input.mp4 -vf fps=1 frame_%04d.png

Extract 1 frame/sec

ffmpeg -i input.mp4 -vf 'fps=10,scale=320:-1' output.gif

Video to GIF

ffmpeg -i input.mp4 -t 5 -vf 'fps=15,scale=480:-1' output.gif

5s GIF at 15fps

ffmpeg -framerate 30 -i frame_%04d.png -c:v libx264 output.mp4

Images to video

Subtitles
Subtitle Operations
ffmpeg -i input.mkv -map 0:s:0 subs.srt

Extract subtitles

ffmpeg -i input.mp4 -vf subtitles=subs.srt output.mp4

Burn subtitles

ffmpeg -i input.mp4 -i subs.srt -c copy -c:s mov_text output.mp4

Add soft subtitles

Subtitles
Metadata
ffmpeg -i input.mp4 -metadata title='Title' output.mp4

Set title

ffmpeg -i input.mp4 -map_metadata -1 -c copy output.mp4

Remove metadata

Streaming
Capture & Stream
ffmpeg -f v4l2 -i /dev/video0 output.mp4

Webcam capture (Linux)

ffmpeg -f avfoundation -i '0' output.mp4

Webcam capture (macOS)

ffmpeg -f gdigrab -i desktop output.mp4

Screen capture (Windows)

ffmpeg -i input.mp4 -f flv rtmp://server/live/stream

Stream to RTMP

ffmpeg -i input.mp4 -f hls -hls_time 10 playlist.m3u8

Create HLS stream

Advanced
Complex Operations
ffmpeg -i input.mp4 -vf 'scale=1280:720,fps=30' -crf 23 output.mp4

Resize + FPS + quality

ffmpeg -i input.mp4 -vf "drawtext=text='Hello':fontsize=24:x=10:y=10" output.mp4

Add text overlay

ffmpeg -i video.mp4 -i audio.mp3 -c:v copy -c:a aac output.mp4

Replace audio

ffmpeg -i input.mp4 -i watermark.png -filter_complex overlay=10:10 output.mp4

Add watermark

ffmpeg -i input.mp4 -vf 'split[a][b];[a]palettegen[p];[b][p]paletteuse' output.gif

High quality GIF

Quick Reference

Convert

ffmpeg -i in.mp4 out.avi

Resize

-vf scale=1280:720

Cut

-ss 00:00:10 -t 30

Quality

-crf 23