Parece que você está tentando fazer um vídeo. Se for esse o caso, eu usaria um formato de vídeo adequado.
Nesse caso, eu usaria o ffmpeg para converter os arquivos PNG individuais em um vídeo H.264. Como o ffmpeg é feito para trabalhar com vídeos que podem durar horas, ele não deve ter nenhum problema com milhares de imagens. Usar H.264 em vez de gif animado resultará em uma melhoria vasta em> na qualidade da imagem.
Algo como isso deve funcionar para você:
ffmpeg -framerate 1/2 -i img%04d.png -c:v libx264 -r 30 out.mp4
-
-framerate 1/2
: define a taxa de quadros como metade de FPS ou 2 segundos por quadro. -
-i img%04d.png
: Isso diz ao ffmpeg para ler os arquivosimg0000.png
, emboraimg9999.png
. -
-c:v libx264
: use o codec de vídeo libx264.- Você pode especificar os parâmetros de compactação de vídeo aqui, se desejar:
-
-crf <number>
: configuração de qualidade. 0 a 51. 23 é o padrão. 0 é uma verdadeira codificação sem perda, que será uma largura de banda bastante alta. 18 é quase visualmente sem perdas.
-
-r 30
: defina a taxa de quadros de saída para 30 FPS. Cada uma das imagens de entrada será duplicada para tornar a saída o que você especificar aqui. Você pode deixar esse parâmetro desativado e o arquivo de saída estará no framerate de entrada, mas o filme resultante não foi exibido corretamente quando tentei agora. -
out.mp4
: nome do arquivo de saída.
Referências: