É 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.png
ou similar à saída. O %0xd
bit é 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 -formats
a 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 n
opção onde n
está 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.1
e assim por diante.
Então, para juntar tudo, é assim que seria possível salvar um quadro a input.mov
cada quatro segundos output_0000.png
, output_0001.png
etc .:
ffmpeg -i input.mov -r 0.25 output_%04d.png
Note que a -r 0.25
opção vai depois a -i input.mov
parte, 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 %04d
para %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.