Você pode encontrar a documentação na página inicial do FFmpeg.
O fps filter tem várias opções, sendo uma delas fps . Então, para declarar essa opção, você precisa ligar:
-vf fps=fps=1/60
↑ ↑ ↑
| | |
| | |__ value
| |______ option
|__________ filter
Você também pode escrever -vf fps="fps=1/60" , é claro.
Portanto, quando você usa 1/60 , isso significa 1/60 quadros por segundo ou 1 quadro por 60 segundos. Em qualquer caso, a diferença entre este e -r 1/60 é que um filtro é aplicado antes de qualquer opção -r . Ambos os comandos que você deu devem funcionar em teoria, no entanto, o -r um cria muitos quadros de saída para mim (mas eu não sou o primeiro a aviso ). Fique com o filtro fps .
Observe que há outro filtro chamado framerate , que é semelhante a fps , mas não o mesmo. Em vez de duplicar ou descartar quadros para atingir a taxa de quadros desejada, ele interpola os quadros, ou seja, mescla quadros adjacentes para criar novas imagens.
Se você dissecar o comando, descobrirá que image2 é o valor da opção -f . Isso especifica o formato de saída. Em geral, você pode usá-lo em ffmpeg da seguinte forma:
ffmpeg -f input-format -i input-file -f output-format output-file
Em seu exemplo, dissemos a ffmpeg para usar o image2 muxer , que permite você produz arquivos de imagem única a partir de vídeo, especificando um padrão como %02d para o nome da saída.
O -f image2 é supérfluo aqui, pois o muxer deve ser escolhido automaticamente quando você usa um formato de saída de imagem.
O image2 demuxer também possui uma opção framerate que permite especificar a taxa de quadros de arquivos de entrada assumida. Por exemplo, se você tiver uma apresentação de slides que consista em uma imagem a cada segundo, use -framerate 1 como uma opção de entrada. Veja aqui para alguns exemplos.