2013-03-12 21 views
11

Ich muss die Bildnummer zu jedem Bild einer Videodatei mit ffmpeg für Windows überlagern.Frame Number Overlay mit FFmpeg

ich es gelungen, einen Timecode-Stempel mit dem drawtext Filter in Überlagerung mit diesem Code:

ffmpeg -i video.mov -vcodec r210 -vf "drawtext=fontfile=Arial.ttf: timecode='01\:00\:00\:00': r=25: x=(w-tw)/2: y=h-(2*lh): fontcolor=white: box=1: boxcolor=0x00000099" -y output.mov 

Allerdings habe ich eine Rahmennummer Overlay benötigen und kein ein Timecode. Jede Hilfe wäre willkommen.

Antwort

19

Nach der drawtext filter Dokumentation:

n, frame_num
Die Rahmennummer, von 0 beginnend

So könnte Ihre Filter wie folgt aussehen:

-vf "drawtext=fontfile=Arial.ttf: text=%{n}: x=(w-tw)/2: y=h-(2*lh): fontcolor=white: box=1: boxcolor=0x00000099" 

Diese druckt für jeden Rahmen die entsprechende Bildnummer.

+0

Es funktioniert! Gibt es eine Möglichkeit, die Zählung von 1 an zu starten? –

+0

gibt es möglicherweise eine "eval" -Option, die Sie dort hineinwerfen können, um es zusammenzufügen ... – rogerdpack

+0

auf Win: wenn Fehler >> Schriftart konnte nicht geladen werden "Arial.ttf" << auftreten können Sie die Schriftart z. "Arial" aus dem Windows \ fonts-Ordner zum Image-File-Ordner – Thomas