Necesito algo que pueda escribirse en Windows 7. Esta imagen se usará en banners.Crear un gif animado a partir de un conjunto de imágenes JPEG
Respuesta
Usted puede hacer esto con ffmpeg
Primera convertir las imágenes de un vídeo:
ffmpeg -f image2 -i image%d.jpg video.avi
(Esto convertirá las imágenes desde el directorio actual (llamado imagen1.jpg, image2.jpg .. .) a un archivo de vídeo llamado video.avi)
continuación, convertir el avi a un gif:.
ffmpeg -i video.avi -pix_fmt rgb24 -loop_output 0 out.gif
Puede obtener windows binaries for ffmpeg here.
También se puede hacer una cosa similar con mplayer. Ver Encoding from multiple input image files.
creo que la línea de comandos sería algo así como:
mplayer mf://*.jpg -mf w=800:h=600:type=jpg -vf scale=160:120 -vo gif89a:fps=3:output=out.gif
(donde 800 & 600 son su fuente de ancho, la altura y 160 & 120 son el ancho de destino y height.out.gif es su archivo de destino nombre)
Acabo de probar ambos y ambos funcionan bien. Sin embargo, obtuve resultados mucho mejores de mplayer, ya que pude especificar la resolución y la velocidad de fotogramas. Tu kilometraje puede variar y estoy seguro de que podrías encontrar más opciones para ffmpeg si lo buscas.
Usando la versión más reciente de mplayer, solo imprime su página de manual. –
esto tiene una buena calificación de búsqueda de Google, por lo que si quiere prefijar números con ceros, use '% 04d' (número 4 usaría 4 posiciones de números con el prefijo 0) – user151496
¡no se encontró ningún archivo con el nombre' image1d.jpg'! tratando de usar cmd – user25
El ffmpeg a .avi y .avi a .gif trabajado, pero la única cosa a destacar es que las imágenes deben ser nombradas en perfecto orden numérico creciente al trabajo, sin huecos. Yo cocinaba un script en Python rápida para cambiar el nombre de todas mis imágenes en consecuencia para que este ffmpeg receta funcionaría:
import os
files = [ f for f in os.listdir('.') if os.path.isfile(os.path.join('.',f)) and f.endswith('.jpg') ]
for i, file in enumerate(sorted(files)):
os.rename(file, 'image%03d.jpg' % i)
Y entonces me topé con un enfoque mucho más simple que ffmpeg para hacer la conversión, la cual es simplemente el uso de herramienta de conversión de línea de comandos de ImageMagick como esto
convert image%03d.jpg[0-198] animated_gif.gif
no consigue mucho más simple que la gente.
Gist aquí: https://gist.github.com/3289840
_ "las imágenes deben nombrarse en orden numérico creciente perfecto" _ - Supongo que usted no sabe acerca de '-pattern_type glob', permite usar archivos con cualquier nombre como entrada, por ejemplo, para convertir todos los png en el directorio actual a gif: 'ffmpeg -framerate 1/10 -pattern_type glob -i '* .png' output.gif' –
Con ImageMagick:
convert *.png a.gif
también mira aquí: http: // stackoverflow.com/questions/5508945/imagemagick-animated-gif-size-optimization –
Tuve problemas de calidad al usar archivos .png (debido a la transparencia y la estratificación) que se corrigieron utilizando .jpg en su lugar – ZG101
Puedes usar '-delay' para establecer la duración de cada imagen. Tenga en cuenta que el valor se da en 1/100 segundos, es decir, '-delay 100' da como resultado una velocidad de un fotograma por segundo. – luator
Simon P Stevens' answer casi me llegaron allí:
ffmpeg -f image2 -i image%d.jpg video.avi
ffmpeg -i video.avi -pix_fmt rgb24 -loop_output 0 out.gif
Vamos a ver si podemos sobrehilarlos esto.
Ir a través de un avi no es necesario. Un -pix_fmt
de rgb24
no es válido y la opción -loop_output
evita el bucle, que no quiero. Obtenemos:
ffmpeg -f image2 -i image%d.jpg out.gif
Mis imágenes de entrada son etiquetados con un número cero acolchado de 3 dígitos y tengo 30 de ellos (IMAGE_001.jpg, image_002.jpg, ...), así que tengo que fijar el formato especificador
ffmpeg -f image2 -i image_%003d.jpg out.gif
Mis imágenes de entrada son de la cámara de mi teléfono, ¡son demasiado grandes! Necesito escalarlos.
ffmpeg -f image2 -i image_%003d.jpg -vf scale=531x299 out.gif
que también tienen que rotar 90 grados en sentido horario
ffmpeg -f image2 -i image_%003d.jpg -vf scale=531x299,transpose=1 out.gif
Este gif jugará con retardo cero entre cuadros, que probablemente no es lo que queremos. Especificar la velocidad de fotogramas de las imágenes de entrada
La imagen es sólo un poco demasiado grande, así que voy a recortar 100 píxeles de cielo. La transpuesta hace que esta complicado, yo uso los X-post girado y valores de y:
ffmpeg -f image2 -framerate 9 -i image_%003d.jpg -vf scale=531x299,transpose=1,crop=299,431,0,100 out.gif
El resultado final - llego a compartir impresionante expresión facial de mi compañero con el mundo:
Basado en las respuestas de Simon P Stevens y dwurf me ocurrió con esta solución simplificada:
ffmpeg -f image2 -framerate 1 -i image%d.jpg video.gif
esto resulta en una velocidad de 1 segundo por imagen. Ajuste el valor framerate
según sus necesidades.
- 1. Crear un .gif animado desde .jpeg/png
- 2. PHP: ¿crea un GIF animado simple a partir de dos imágenes JPEG?
- 3. ¿Cómo puedo crear un gif animado en Java?
- 4. cómo crear un gif animado en .net
- 5. ¿Exportar de PowerPoint a un gif animado?
- 6. Extraer cuadros individuales de un GIF animado a lienzo
- 7. Creando un GIF animado con ImageIO?
- 8. GIF animado en NSImageView
- 9. animado carga de imágenes GIF como fondo repetida
- 10. Crea un gif animado usando la biblioteca de GD
- 11. ¿Cómo generar un GIF animado de un Manipulate? 8.0.1
- 12. Hacer un GIF animado con ImageMagick API de PHP
- 13. Gif animado no animado en enviar
- 14. Android: Gif animado
- 15. Crear video a partir de imágenes
- 16. Cómo crear imágenes GD a partir de jpeg codificado en base64?
- 17. Mostrar GIF animado
- 18. Crear un botón animado
- 19. Gif animado a avi en linux
- 20. Cargando un archivo .GIF animado del archivo JAR en ImageIcon
- 21. Reproducción de un archivo de imagen GIF animado en imageview
- 22. ¿Cómo creo una película a partir de un conjunto de imágenes usando qtj y java?
- 23. ¿Cómo uso un .gif animado en mi aplicación de iPhone?
- 24. Obteniendo la duración del marco de un GIF animado?
- 25. Silverlight 3 y gif animado
- 26. Cómo usar Gif animado en forma delphi
- 27. Imagemagick optimización gif animado tamaño
- 28. Display gif animado en JPanel
- 29. GIF animado en canvas de HTML5
- 30. Cómo crear un conjunto de datos a partir de un esquema xsd en Visual Studio 2010
¿necesita ser jpeg? jpeg-> anim gif es probable que tenga artefactos de parpadeo no deseados con una peor relación de compresión. debe usar lossless -> gif, o gif-> gif para obtener los mejores resultados de calidad. – tenfour
@tenfour - aunque lo que ha señalado es perfectamente válido, no es necesariamente una regla práctica. Mucho más importante es que los marcos comparten colores similares, porque si no lo hacen, la paleta de un máximo de 256 colores de una imagen GIF que se comparte entre marcos producirá malos resultados, independientemente del formato de entrada y, a menudo, dejará a la gente preguntándose " ¿por qué salió granulado?! " –