2013-03-12 13 views
11

Ho bisogno di sovrapporre il numero del frame a ciascun frame di un file video usando ffmpeg per windows.Overlay numero frame con FFmpeg

sono riuscito a sovrapporre un timbro timecode con il filtro drawtext utilizzando questo codice:

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 

Tuttavia, ho bisogno di un overlay numero di fotogramma e non un codice di tempo uno. Qualsiasi aiuto sarebbe apprezzato.

risposta

19

Secondo la documentazione drawtext filter:

n, frame_num
Il numero di telaio, a partire da 0.

Così il vostro filtro potrebbe essere simile:

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

Questo stamperà il numero di fotogramma appropriato per ciascun fotogramma.

+0

Funziona! C'è un modo per farlo iniziare il conteggio da 1? –

+0

potrebbe esserci un'opzione "eval" che puoi inserire lì per aggiungerla insieme ... – rogerdpack

+0

su Win: se l'errore >> Impossibile caricare il carattere "Arial.ttf" << si verifica puoi copiare il carattere, ad es. "Arial" dalla cartella Windows \ fonts alla cartella Image-File – Thomas