2013-03-12 13 views
11

Potrzebuję nakładać numer klatki na każdą klatkę pliku wideo, używając ffmpeg dla okien.Nakładka numeru klatki z FFmpeg

udało mi się nakładanie pieczęć kodu czasowego z filtrem drawtext przy użyciu tego kodu:

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 

Jednak muszę nakładkę numer ramki, a nie jeden kod czasowy. Każda pomoc będzie doceniona.

Odpowiedz

19

Zgodnie z dokumentacją drawtext filter:

n, frame_num
numer ramki, począwszy od 0.

Więc filtr może wyglądać tak:

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

This wydrukuje odpowiedni numer ramki dla każdej ramki.

+0

To działa! Czy istnieje sposób, aby zacząć odliczanie od 1? –

+0

Może tam być opcja "eval", którą możesz tam dodać, aby dodać ją razem ... – rogerdpack

+0

na Win: jeśli błąd >> Nie można załadować czcionki "Arial.ttf" << wystąpić można skopiować czcionkę np. "Arial" z folderu Windows \ fonts-folder do Image-File-Folder – Thomas