The most fiddly filter, the most used filter
drawtext burns text into the video. Mandatory parameters: text (or textfile), x, y, fontsize, fontcolor, fontfile. The fontfile is the trickiest — FFmpeg doesn't have system font lookup; you point it at the actual TTF/OTF.
Patterns you'll reuse
- Lower-third title — large text, white, with a black box behind it for legibility.
- Timecode burn-in —
%{pts:hms}expression draws current playback time. - Frame counter —
%{frame_num}. - Time-windowed text —
enable='between(t,2,5)'.
Font path on macOS
Common path: /System/Library/Fonts/Helvetica.ttc or /System/Library/Fonts/Supplemental/Arial.ttf. Or use a specific Homebrew font from /opt/homebrew/share/fonts/.