Fazendo vídeo usando imagens estáticas

Fazendo vídeo usando imagens estáticas

Estou usando avconvpara converter imagens em vídeo, mas estou enfrentando alguns problemas. Eu tenho milhares de imagens em um diretório e nomeadas como video_clip_0_0_0_0_0_0_0_0_09_0_102.jpege as imagens não seguiram nenhuma sequência específica, algumas vezes adicione 100 no último campo e algumas vezes 103 (mas adicione aproximadamente 100). Ao usar avconvo comando:

  1. Eu tenho que criar um diretório temporário.
  2. Copie todas as imagens para esse diretório.
  3. convert temp/*.jpeg -delay 10 -morph 10 temp/%05d.jpg.
  4. avconv -f image2 -i temp/%05d.jpeg output.mkv

Todas essas coisas estão demorando muito. Eu não queria fazer tudo e queria fazer um vídeo sem criar nenhum diretório temporário, ou renomear clipes, etc.

Responder1

As imagens devem estar em ordem sequencial para criar vídeos no avconv com imagens. Caso contrário, falhará com a mensagem de erro "IMG_%04d.JPG: Arquivo ou diretório não encontrado"

Para isso você pode usar o script abaixo para renomear os arquivos em ordem sequencial

a=1
for i in *.JPG; do
  new=$(printf "%04d.JPG" ${a}) #04 pad to length of 4
  mv ${i} ${new}
  let a=a+1
done

Depois de renomear os arquivos. você pode criar vídeos. Você também pode fornecer um intervalo de arquivos de imagem onde eles podem ser obtidos na criação de vídeos usando "-número_inicial"

Nota: Você precisará de uma versão 9.x recente do avconv para a opção -start_number; não está na versão 0.8.x. Alternativamente, você pode usar uma versão recente do ffmpeg. Ou renomeie os arquivos para começar com um número entre 0 e 4, pois verificará esses nomes por padrão.

informação relacionada