Pergunta

Eu tenho algum vídeo que gostaria de converter em imagens de quadros a cada 2 segundos.

Por exemplo, se o vídeo tive 7 segundos a 15 qps, eu gostaria de obter os quadros 1, 31, 61, 91.

O comando:

ffmpeg -i foo.mp4 -r 0.5  -f image2 -vcodec mjpeg foo%d.jpg

parece fazer o que eu quero, mas qual quadro ele recebe? 1, 31, 61, 91 ou 30, 60, 90 ou 13, 43, 73, 103?

Foi útil?

Solução

A primeira imagem será do primeiro quadro.

Observe que você muito bem pode obter uma ou duas imagens que você espera. Eu acredito que isso se deve ao arredondamento e/ou que o FFMPEG cria uma imagens finais. EG: Seu vídeo tem realmente 7 anos? Ou tem 7,63s de comprimento?

Outras dicas

Acabei fazendo o seguinte emprestado em grande parte do tutorial do FFMPEG:

ffmpeg -v 3 -vsync 0 -sameq -i movie.mpr  -f image2 "images-%03d.jpeg"

Isso me dá cada quadro do filme como um JPEG numerado 1 até o final do filme. Filmei esses arquivos usando uma linguagem de script, sabendo que a taxa de quadros era de 30fps, para pegar cada 60º quadro.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top