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.

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/


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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.