Hacer videos usando imágenes fijas

Hacer videos usando imágenes fijas

Lo estoy usando avconvpara convertir imágenes en video, pero tengo algún problema. Tengo miles de imágenes en un directorio y nombradas como video_clip_0_0_0_0_0_0_0_0_09_0_102.jpegy las imágenes no siguieron ninguna secuencia en particular, algunas veces agrego 100 en el último campo y otras 103 (pero seguro agrego aproximadamente 100). Mientras usa avconvel comando:

  1. Tengo que crear un directorio temporal.
  2. Copie todas las imágenes en ese directorio.
  3. convert temp/*.jpeg -delay 10 -morph 10 temp/%05d.jpg.
  4. avconv -f image2 -i temp/%05d.jpeg output.mkv

Todo esto está tomando demasiado tiempo. No quería hacer todas las cosas y quería hacer videos sin crear ningún directorio temporal, ni cambiar el nombre de los clips, etc. Por conveniencia y para ahorrar tiempo.

Respuesta1

Las imágenes deben estar en orden secuencial para poder crear videos en avconv con imágenes. Si no, fallará con un mensaje de error "IMG_%04d.JPG: No existe tal archivo o directorio"

Para eso, puede utilizar el siguiente script para cambiar el nombre de los archivos en orden secuencial.

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

Después de cambiar el nombre de los archivos. puedes crear vídeos. También puede proporcionar un rango de archivos de imágenes desde donde se pueden tomar desde la creación de videos usando "-número_inicio"

Nota: necesitará una versión 9.x reciente de avconv para la opción -start_number; no está en la versión 0.8.x. Alternativamente, puedes usar una versión reciente de ffmpeg. O cambie el nombre de los archivos para que comiencen con un número entre 0 y 4, ya que comprobará esos nombres de forma predeterminada.

información relacionada