FFmpeg: Extraindo imagens de um vídeo ( Snapshot ) – Parte II

FFmpeg: http://www.ffmpeg.org/
FFmpeg: http://www.ffmpeg.org/

Recebi uma dúvida bem plausível, sobre extrair imagens de um vídeo. Com os comandos fornecidos em meu ultimo POST, é possível atrasar a captura da imagem, para começar a extrair a partir de 10 segundos por exemplo, depois do vídeo ter iniciado, como mostra o comando a seguir:
ffmpeg -itsoffset -10 -i foo.avi -r 1 -s 800×600 -f image2 snapshot-%03d.jpeg

A dúvida seria exatamente essa:
“Se possuirmos um vídeo de 2 horas de duração, e precisarmos extrair somente uma imagem da posição 1 hora, 30 minutos e 20 segundos, como seria feito ?”

Simples:

Para isso utilizaremos o parametro -vframes, comando utilizado para limitar o numero de frames que vai ser capturado. No nosso caso será 1 frame. O outro comando, bastante similar ao -itsoffset, seria o -ss, serve para atribuir uma posição de inicio para capturarmos o nosso frame. Essa posição deve ser indicada como hh:mm:ss. Sendo hora : minutos : segundos da posição desejada. Abaixo segue a solução para nosso problema:

ffmpeg -vframes 1 -ss 01:30:20 -i foo.avi -r 1 -s 800×600 -f image2 snapshot-%03d.jpeg

Para certificarmos que iremos extrair exatamente o frame que desejamos o valor do vframes pode ser alterado para capturar alguns frames seguintes, por segurança.

Veja o restante do tópico: Extraindo imagens de um vídeo – parte I, pelo link:
https://rafaelbiriba.com/?p=53

Share