Criação de um vídeo a partir de uma única imagem para uma duração específica no ffmpeg

86

Como faço para gerar um filme usando ffmpeg usando uma única imagem (image1.png) por uma duração de 15 segundos com uma resolução específica para que quando eu reproduzir o vídeo, a imagem aparecerá na tela por 15 segundos.

Dharmesh
fonte

Respostas:

127
ffmpeg -loop 1 -i image.png -c:v libx264 -t 15 -pix_fmt yuv420p -vf scale=320:240 out.mp4
  • O -t 15 tem 15 segundos de duração.
  • A escala -vf = 320: 240 define a largura / altura.

Certifique-se de usar uma versão atual do ffmpeg, por exemplo http://johnvansickle.com/ffmpeg/

Equanox
fonte
1
Unable to find a suitable output format for 'scale=1280:1024' scale=1280:1024: Invalid argumentAlguma ideia do porquê?
Idade
1
@Equanox Já tive o mesmo problema, mas foi causado pelo sinal "\" ao copiar e colar. Removê-lo resolve o problema.
user1319182
3
Ele responde à pergunta, mas não gosto do uso de todas essas adições redundantes no comando.
joey
15
@joey Nem eu, especialmente porque OP não pediu nada específico. Você quer fazer um vídeo a partir de uma única foto e não se importa com nenhum detalhe? ffmpeg -loop 1 -i image.png -t 5 out.mp4
Doe Johnson
3
Isso é ótimo, mas ... leva uma eternidade e derrete minha CPU para gerar um vídeo de 40 minutos baseado em uma única imagem PNG de 720p. Existe uma maneira de acelerar isso? A compactação não importa, contanto que permaneça abaixo de alguns GB.
HunterZ