> useful tips
This section collects ffmpeg one-liners that go beyond routine conversion — creative filters, playback fixes, and preprocessing steps that solve a specific real-world problem. Each recipe is a full, copy-ready command; adjust the input and output filenames and run it as-is.
# useful tips
9 commands$ ffmpeg -i input.mp4 -ar 16000 -ac 1 -c:a pcm_s16le output.wav$ ffmpeg -i input.mp4 -c copy -movflags +faststart output.mp4$ ffmpeg -i input.mp4 -vf "curves=vintage,noise=alls=40:allf=t,hue=s=0.5,eq=contrast=1.3:brightness=-0.05:saturation=0.7" output.mp4$ ffmpeg -i input.mp4 -filter_complex "[0:v]split[fwd][rev];[rev]reverse[r];[fwd][r]concat=n=2:v=1:a=0,loop=3:size=999" output.mp4$ ffmpeg -i input.mp4 -vf "eq=brightness=0.06:saturation=2,hue=h=180,lutrgb=r='if(gt(val,200),255,0)':g='clip(val*2,0,255)':b='if(lt(val,50),255,0)'" output.mp4$ ffmpeg -f lavfi -i life=s=320x240:mold=10:r=30:ratio=0.5:death_color=#C83232:life_color=#00ff00 -t 10 output.mp4$ ffmpeg -i input.mp4 -vf "scale=iw/10:ih/10:flags=neighbor,scale=iw*10:ih*10:flags=neighbor" output.mp4$ ffmpeg -i input.mp4 -vf "setpts=PTS/30" -an output.mp4$ ffmpeg -i input.mp4 -i logo.png -filter_complex "[0:v]split[base][ref];[1:v][ref]scale=rw/10:-1[logo];[base][logo]overlay=W-w-W*0.02:H*0.02" output.mp4// faq
Do these ffmpeg filter chains work on every build of ffmpeg?
Most rely only on built-in filters that ship with a standard ffmpeg build, so they work out of the box. A few (like x265 or hardware encoders) depend on how your ffmpeg was compiled — run ffmpeg -filters or ffmpeg -encoders to confirm a given filter or codec is available before scripting around it.
Why is my filtered output much larger or slower to encode than the input?
Any command that applies a video filter has to re-encode the stream, which is slower and can change the file size depending on the codec and quality settings. Add a -crf value (for example -crf 23) to control quality and size when you re-encode.