Converte uma série de PNGs em um gif animado ou arquivo de vídeo

5

Eu tenho uma série de arquivos de imagem PNG que desejo converter em animação.

Qual é a melhor maneira de convertê-los em um GIF?

Também eu tentei várias ferramentas para convertê-los em um arquivo de vídeo (como ffmpeg), no entanto, eles produzem um vídeo de baixa qualidade. Usar o Editor de Seqüência de Vídeo no Blender produz a qualidade desejada, porém eu não sei como automatizar isso.

(Usar a conversão do ImageMagick leva muito tempo, existe uma maneira de acelerá-lo?)

    
por user92599 02.08.2011 / 11:48

2 respostas

3

Se você quiser converter uma sequência de imagens em um .gif animado, a maneira mais fácil é usar o comando convert do ImageMagick:

convert -delay 5 -layers Optimize $FILE_LIST foo.gif

O comando acima combina todos os arquivos em um .gif animado otimizado com um tempo de quadro de 5 milissegundos. Você também pode fazer coisas mais complicadas com o tempo por meio de algo como:

convert -layers Optimize -delay 5 frame1.png frame2.png -delay 10 frame3.png animation.gif

que fornece um atraso de 5 ms para frame1 e frame2 e um atraso de 10ms para frame3.

    
por 13.05.2012 / 05:06
2

Se você estiver preocupado com a qualidade, não converta para GIF.

Para criar um vídeo, você pode usar ffmpeg :

ffmpeg -f image2 -i 'image%d.png' -vcodec copy out.mkv

-f image2 -i 'image%d.png' informa ffmpeg para ler as imagens PNG image1.png , image2.png , etc. em sequência. -vcodec copy armazena sem perda as imagens em um fluxo de vídeo. O vídeo resultante pode ser reproduzido em vlc ou totem .

Como os dados da imagem são copiados, isso será muito rápido e, claro, sem perdas .

(Veja "Como faço para codificar imagens individuais em filmes?" nos documentos do ffmpeg.)

    
por 03.08.2011 / 10:09