Se você deseja procurar com precisão de quadros, tente colocar seu sinal -ss
após o arquivo de entrada.
Então, algo assim:
ffmpeg -i original.mp4 -ss 00:00:04 -vframes 1 -f image2 0.png
.
Colocar o sinalizador ss
antes do arquivo de entrada será uma "estimativa aproximada" em termos de PTS, mas tem que se ajustar a um quadro I para funcionar. Isso acontece muito mais rapidamente do que colocar o ss
após seu arquivo de entrada, mas com um custo menor.
Quando você colocar o sinalizador ss
após o arquivo de entrada, o FFmpeg decodificará desde o início do arquivo até o início do tempo -ss
. Em seguida, ele despeja todas as informações antes do tempo de ss
... Por isso, leva muito mais tempo, mas deve ser preciso.