É muito simples com o ffmpeg e pode gerar um quadro a cada N segundos sem scripts extras. Para exportar como uma sequência de imagens, use myimage_%04d.pngou similar à saída. O %0xdbit é convertido em um número inteiro preenchido com zero x- o exemplo que eu dei obtém saída como
myimage_0000.png,
myimage_0001.png,
myimage_0002.png
etc ..
Você pode usar muitos formatos de imagem estática, png, jpeg, tga, o que for (veja ffmpeg -formatsa lista completa).
Ok, agora sabemos como exportar o filme como uma sequência de imagens, mas dizemos que não queremos exportar todos os quadros?
O truque é simplesmente alterar a taxa de quadros da saída para o que quisermos usando a -r nopção onde nestá o número de quadros por segundo. 1 quadro por segundo seria -r 1, um quadro a cada quatro segundos -r 0.25, um quadro a cada dez segundos -r 0.1e assim por diante.
Então, para juntar tudo, é assim que seria possível salvar um quadro a input.movcada quatro segundos output_0000.png, output_0001.pngetc .:
ffmpeg -i input.mov -r 0.25 output_%04d.png
Note que a -r 0.25opção vai depois a -i input.movparte, porque ele está controlando a taxa de quadros da saída . Se você o colocar antes da entrada, ele tratará o arquivo de entrada como se tivesse a taxa de quadros especificada.
Altere o% xd para quantos dígitos você precisar, por exemplo, se o comando criar mais de 10.000 quadros, mude %04dpara %05d. Isso também funciona para arquivos de entrada que são sequência de imagens. Leia mais aqui .
Usuários do Windows : Na linha de comando, use%
exemplo: ffmpeg -i inputFile.mp4 -r 1 outputFile_%02d.png
Nos scripts CMD e BAT, use %%
exemplo: ffmpeg -i inputFile.mp4 -r 1 outputFile %%02d.png
Portanto, duplique os %%scripts e escolha %a linha de comando interativa. Se errar em qualquer situação, isso gerará um erro.