Estou tentando extrair "exatamente 1 quadro de cada 10" quadros de um vídeo (ou seja, extrair 1, deixar 9 e repetir) para fins científicos. O vídeo tem 105 quadros, 3,5 segundos, 29,97fps (h.264, .mov, produzido pela Nikon D3100).
Fiz upload aqui .
VLC
O comando abaixo deve produzir 10 quadros, mas produz apenas 6 imagens. Tentei proporções de cenas diferentes e nenhuma delas produziu o número correto de quadros (nem mesmo perto de corrigir).
vlc 1.mov --video-filter=scene --vout=dummy --scene-ratio=10 --scene-prefix=img- --scene-path=. vlc://quit
Alguém poderia me dizer qual é o problema?
FFmpeg
O FFmpeg não parece ter um comando exatamente para o meu propósito. O comando abaixo extrai 3 quadros por segundo, mas como o FPS não é exatamente 30 (em vez de 2,97), isso não produzirá resultados corretos para mim.
Além disso, mesmo o FFmpeg não fornece o número correto de quadros, mesmo com este comando. Por 3,5 segundos de vídeo, espero no máximo 10 quadros, mas o que recebo são 12 quadros!
ffmpeg -i 1.mov -y -an -sameq -r 3 -f image2 -vcodec mjpeg %03d.jpg
Como posso conseguir o que quero?
-sameq
não faz o que você provavelmente pensa que faz e foi removido da versão atual (o ffmpeg real, ou seja, não tenho certeza se está no ffmpeg falso do Ubuntu). Use qscale.