Como criar um vídeo cronometrado a partir de imagens estáticas com tempo específico entre cada imagem?

Como criar um vídeo cronometrado a partir de imagens estáticas com tempo específico entre cada imagem?

Quero criar um vídeo a partir de imagens estáticas. Minhas imagens são:

  • 1.jpg
  • 2.jpg
  • 3.jpg
  • 4.jpg
  • 5.jpg
  • 6.jpg
  • 7.jpg
  • 8.jpg
  • 9.jpg

Cada um deles quero mostrar por um período específico, entre 1 a 10 segundos:

  • 1.jpg: 2 segundos
  • 2.jpg: 6 segundos
  • 3.jpg: 10 segundos
  • 4.jpg: 1 segundo

etc.

Entre as imagens, quero desaparecer gradualmente a imagem antiga e aparecer a nova imagem.

Tenho a sensação de que tudo isso pode ser feito com converte ffmpeg. Porém, o problema é ter durações diferentes entre cada imagem.Esta páginaajuda muito, mas não consigo descobrir como cronometrar as coisas entre as imagens. Alguma ideia?

Responder1

Se todos os .jpg arquivos combinados puderem ser renderizados fielmente em 256 cores de um espaço de cores de 16 milhões, você poderá convertê-los em quadros de um gif animado, o que permite especificar atrasos por quadro em 100 segundos.

Você pode então usar convert(do imagemagickpacote) para fazer a conversão:

convert -delay 200 1.jpg -delay 600 2.jpg -delay 1000 3.jpg -delay 100 4.jpg \
    .....  result.gif

(substitua os pontos por -delay N.jpgpares " " adicionais).

informação relacionada