¿Existe una herramienta para crear una gif
animación a partir de un conjunto de png
archivos?
Probé el convert
comando de la suite ImageMagick , pero esto no siempre tiene éxito. Además, tengo varios problemas con esto:
- No puedo decir cuál es el progreso.
- No importa lo que intente, la
-delay
bandera no cambia la velocidad de fotogramas de la animación GIF. convert
determina el orden de los cuadros en función del orden alfabético de los nombres de los archivos. Esto significa quename500.png
se colocará justo despuésname50.png
y no después dename450.png
que pueda arreglar esto agregando 0 pero esto es molesto.
graphics
conversion
imagemagick
Yotam
fuente
fuente
convert
después de ordenar los archivos. Probablemente, algo como esto funcionafiles=$(ls name*png | sort -n -tname -k1); convert $files animation.gif
-monitor
parámetro que rastrea el procesoconvert -delay 200 -loop 0 *.jpg output.gif
.Respuestas:
También puede intentar usar
ffmpeg
para crear una película a partir de una secuencia de imágenes y luego convertir la película en una animación GIF (nuevamente usandoffmpeg
).fuente
sameq
opción ya no está disponible. Además, para mí, esto sobrescribe los archivos de imagen originales y no produce un archivo de película válido.-sameq
código allí? ¿Por qué querrías incluso usar un formato de video con pérdida (output.mp4
) como temporal? Y si es así, ¿por qué "la misma calidad" que la entrada, en lugar de una tasa de bits muy alta? Hacer artefactos a partir de eso solo empeorará las cosas para el codificador GIF. Si necesitara usar un video como temporal, querría usar algo sin pérdidas como huffyuv. O MJPEG sin transcodificación, solo remux las entradas jpegs en un MJPEG. (-codec:video copy
)convert
es una práctica herramienta de línea de comandos para hacer eso.cd
a la carpeta que contiene sus archivos png y ejecute este comando:Fuente: http://ubuntuforums.org/showthread.php?t=1132058
fuente
convert
y algunos problemas al usarla. Su respuesta no se dirige a ninguno de ellos.6.8.7-4 2013-11-02 Q16
esto funcionó para mí.10
significa 10 * 10 ms, muy rápido. Un retraso de a100
es de 1 segundo.-dispose previous
o-dispose 2
si está trabajando con PNG transparentespic_{0..20..2}.png
se expande apic_0.png
,pic_2.png
todo el camino hastapic_20.png
La opción
convert
's--delay
solo se aplica a la siguiente imagen en la línea de comando. Porconvert -delay 10 *
lo tanto , solo establecerá el retraso del primer fotograma en 0.1 segundo. La opción debe repetirse:Para su necesidad de clasificación, convertir no clasifica los marcos, sí lo
*
hace el gloging de shell . Si sabe que sus cuadros están numerados del 0 al 700, puede calcular los números usted mismo:fuente
convert
, para míconvert -delay 1000 -loop 0 *.png animation.gif
agrega un retraso de 10 segundos entre cada imagen.ls
comando. Es decir:convert -delay 1000 $(ls -v name*png) output.gif
Actualizar:
Úselo
convert
para png-a-gif, luego use gifsicle para la animación. No es una solución One App to Do It All, pero es programable, seguro.GIMP puede crear gifs animados y proporciona control de tiempo / retraso y repetición, etc.
fuente
ImageMagick puede generar una animación GIF de buena calidad. Mira este video: http://www.youtube.com/watch?v=OFusYizJ-bA
fuente
convert -delay 200 -loop 0 *.jpg output.gif
ffmeg opciones GIF importantes + datos de prueba
Para complementar esta respuesta :
Los datos de prueba fueron generados con: https://stackoverflow.com/questions/3191978/how-to-use-glut-opengl-to-render-to-a-file/14324292#14324292
Las
ffmpeg
opciones importantes que quería destacar son:-patter_type glob
: forma conveniente de seleccionar imágenes-framerate 60
y-r 15
: suponga 60 FPS en las imágenes de entrada (ffmpeg
no se puede saber lo contrario, ya que no hay datos de FPS en las imágenes como en los formatos de video), elija una cada 4 imágenes para reducir el tamaño (4 == 60 / 15
)-vf scale=512:-1
: establece el ancho, la altura de la escala proporcionalmente, generalmente para reducir el tamaño y ahorrar espacioVer también:
Probado en Ubuntu 18.10, ffmpeg 4.0.2.
fuente
En cuanto al punto 2
La versión de ImageMagick "display" que tengo (ImageMagick 6.7.2-7 2017-01-12) ignora la velocidad de fotogramas establecida usando el comando de conversión para producir el gif animado. Pruebe con otro programa para ver el gif animado como Firefox.
fuente