Вы можете сделать это с помощью фильтра drawtext
. Ваша сборка должна быть скомпилирована с --enable-libfreetype
. Большинство статических сборок ffmpeg
для Windows и Linux поддерживают этот фильтр. См. Страницу загрузки FFmpeg для ссылок.
отметка времени
продолжительность
ffmpeg -i input -vf "drawtext=fontfile=/usr/share/fonts/TTF/Vera.ttf: text='%{pts\:hms}': x=(w-tw)/2: y=h-(2*lh): fontcolor=white: box=1: boxcolor=0x00000000@1" image%03d.png
Текущее время
ffmpeg -i input -vf "drawtext=fontfile=/usr/share/fonts/TTF/Vera.ttf: text='%{localtime}': x=(w-tw)/2: y=h-(2*lh): fontcolor=white: box=1: boxcolor=0x00000000@1" image%03d.png
таймкод
PAL 25 кадров в секунду без пропуска кадров:
ffmpeg -i input -vf "drawtext=fontfile=/usr/share/fonts/TTF/Vera.ttf: timecode='00\:00\:00\:00': r=25: x=(w-tw)/2: y=h-(2*lh): fontcolor=white: box=1: boxcolor=0x00000000@1" image%03d.png
Это адаптировано из примера с Burnt in Timecode в FFmpeg Wiki. Опция r
устанавливает частоту кадров временного кода.