O FFMPEG pode extrair imagens de um vídeo com timestamps?

3

Estou tentando extrair quadros de um vídeo e obter os timestamps exatos de cada quadro extraído (em uma foto).

Para extrair quadros do vídeo sem timestamps, uso esta sintaxe:

ffmpeg -i video.wmv -r 0.08 -f image2 -s 512x384 video2%%4d.jpg
    
por Bill Marc 30.03.2013 / 23:24

1 resposta

5

Você pode fazer isso com o filtro drawtext . Sua compilação precisará ser compilada com --enable-libfreetype . A maioria das compilações estáticas de ffmpeg para Windows e Linux parece oferecer suporte a esse filtro. Veja a página de download do FFmpeg para links.

timestamp

duração

ffmpeg-iinput-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

hora atual

ffmpeg-iinput-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

timecode

PAL25quadrosporsegundosemquadros:

ffmpeg-iinput-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

Isso é adaptado do exemplo Queimados em timecode no Wiki do FFmpeg . A opção r definirá a taxa de quadros de timecode.

    
por 31.03.2013 / 05:18

Tags