Apakah ada alat untuk membuat gif
animasi dari sekumpulan png
file?
Saya mencoba convert
perintah dari suite ImageMagick , tetapi ini tidak selalu berhasil. Juga, saya memiliki beberapa masalah dengan ini:
- Saya tidak tahu apa kemajuannya.
- Tidak peduli apa yang saya coba,
-delay
flag tidak mengubah frame rate dari animasi gif. convert
menentukan urutan bingkai berdasarkan urutan alfabet nama file. Ini berarti bahwaname500.png
akan ditempatkan tepat setelahname50.png
dan bukan setelahname450.png
saya dapat memperbaikinya dengan menambahkan 0 tetapi ini menjengkelkan.
graphics
conversion
imagemagick
Yotam
sumber
sumber
convert
setelah menyortir file. Mungkin, sesuatu seperti ini berfungsifiles=$(ls name*png | sort -n -tname -k1); convert $files animation.gif
-monitor
parameter yang melacak prosesconvert -delay 200 -loop 0 *.jpg output.gif
.Jawaban:
Anda juga dapat mencoba menggunakan
ffmpeg
untuk membuat film dari urutan gambar dan kemudian mengonversi film ke animasi GIF (menggunakan lagiffmpeg
).sumber
sameq
opsi ini tidak tersedia lagi. Lebih jauh, bagi saya, ini menimpa file gambar asli dan tidak menghasilkan file film yang valid.-sameq
kode di sana? Mengapa Anda ingin menggunakan format video lossy (output.mp4
) sebagai sementara? Dan jika demikian, mengapa "kualitas yang sama" dengan input, daripada bitrate yang sangat tinggi? Artefak dari itu hanya akan membuat segalanya lebih buruk untuk pembuat kode GIF. Jika Anda memang perlu menggunakan video sebagai sementara, Anda ingin menggunakan sesuatu yang tidak ada salahnya seperti huffyuv. Atau MJPEG tanpa transcoding, cukup remux input jpeg menjadi MJPEG. (-codec:video copy
).convert
adalah alat baris perintah yang berguna untuk melakukan itu.cd
ke folder yang berisi png -files Anda dan jalankan perintah ini:Sumber: http://ubuntuforums.org/showthread.php?t=1132058
sumber
convert
dan beberapa masalah menggunakannya. Jawaban Anda tidak membahas salah satunya.6.8.7-4 2013-11-02 Q16
ini berfungsi untuk saya.10
berarti 10 * 10 ms, sangat cepat. Penundaan a100
adalah 1 detik.-dispose previous
atau-dispose 2
jika Anda bekerja dengan PNG transparanpic_{0..20..2}.png
memperluaspic_0.png
,pic_2.png
sampai kepic_20.png
The
convert
's--delay
pilihan hanya berlaku untuk gambar berikutnya pada baris perintah. Jadiconvert -delay 10 *
hanya akan mengatur penundaan frame pertama ke 0,1 detik. Opsi perlu diulang:Untuk kebutuhan pemilahan Anda, konversi tidak mengurutkan bingkai, shell globing
*
melakukannya. Jika Anda tahu frame Anda diberi nomor dari 0 hingga 700, Anda bisa menghitung sendiri jumlahnya:sumber
convert
, karena sayaconvert -delay 1000 -loop 0 *.png animation.gif
menambahkan 10s keterlambatan antara setiap gambar.ls
perintah. Yaitu:convert -delay 1000 $(ls -v name*png) output.gif
Memperbarui:
Gunakan
convert
untuk png-to-gif, lalu gunakan gifsicle untuk animasi. Ini bukan solusi One App To Do It All, tapi pasti skrip.GIMP dapat membuat animasi gif dan menyediakan kontrol untuk waktu / penundaan dan ulangi, dll
sumber
ImageMagick dapat menghasilkan animasi gif berkualitas baik. Lihat video ini - http://www.youtube.com/watch?v=OFusYizJ-bA
sumber
convert -delay 200 -loop 0 *.jpg output.gif
ffmeg opsi GIF penting + data uji
Untuk melengkapi jawaban ini :
Data pengujian dihasilkan dengan: https://stackoverflow.com/questions/3191978/how-to-use-glut-opengl-to-render-to-a-file/14324292#14324292
ffmpeg
Opsi penting yang ingin saya soroti adalah:-patter_type glob
: cara mudah untuk memilih gambar-framerate 60
dan-r 15
: anggap 60 FPS pada gambar input (ffmpeg
tidak dapat mengetahui sebaliknya karena tidak ada data FPS dalam gambar seperti dalam format video), pilih satu setiap 4 gambar sehingga kurangi ukuran (4 == 60 / 15
)-vf scale=512:-1
: mengatur lebar, skala tinggi secara proporsional, biasanya untuk mengurangi ukuran dan menghemat ruangLihat juga:
Diuji di Ubuntu 18.10, ffmpeg 4.0.2.
sumber
Sehubungan dengan poin 2
Versi ImageMagick "display" yang saya miliki (ImageMagick 6.7.2-7 2017-01-12) mengabaikan frame rate yang ditetapkan menggunakan perintah convert untuk menghasilkan gif animasi. Coba program lain untuk melihat gif animasi seperti firefox.
sumber