Slow down to half speed

speed & reverse

// what it does

setpts=2.0*PTS doubles each frame's timestamp so the clip runs twice as long — half speed — and atempo=0.5 stretches the audio to match while preserving pitch. Reach for this to inspect fast motion or create a simple slow-motion effect from normal-rate footage.

// shell

$ ffmpeg -i input.mp4 -vf "setpts=2.0*PTS" -af "atempo=0.5" output.mp4

// gotcha

setpts only holds each existing frame longer; it doesn't synthesize new frames, so slowed footage looks juddery. For smooth slow-mo you need the minterpolate filter to generate in-between frames, which is far more CPU-intensive. Also, atempo=0.5 is the slowest a single atempo instance allows — chain (atempo=0.5,atempo=0.5) for slower.