Bagaimana cara mengoptimalkan bingkai duplikat dalam GIF animasi menggunakan Photoshop?

10

Saya telah bereksperimen dengan teknik yang disebut cinemagraphs . Teknik ini membuat animasi GIF di mana hanya sebagian kecil dari adegan itu dianimasikan. Inilah yang cepat yang baru saja saya buat:

masukkan deskripsi gambar di sini

Sejauh ini, Photoshop melakukan pekerjaan yang baik dengan mengompresi bagian statis dari pemandangan itu. Dengan hanya menutupi bagian yang bergerak, Anda dapat menyimpan beberapa megabita.

masukkan deskripsi gambar di sini

Apa Photoshop tidak mengoptimalkan dengan baik adalah bingkai duplikat. Untuk mendapatkan loop yang mulus, saya menduplikasi semua frame dan membalikkannya. Pada contoh di atas, penyiar berbelok ke kiri dan perlu kembali ke posisi semula. Ini selalu menggandakan ukuran GIF . Bagaimana saya memberi tahu Photoshop untuk mengoptimalkan frame yang digandakan sama seperti mengoptimalkan area statis? Di menu panel Timeline, saya sudah menggunakan opsi "Optimize Animations" tapi itu tidak melakukan apa-apa ...

Jojo
sumber
Saya tidak percaya Photoshop memiliki mekanisme untuk melihat "duplikat frame". Itu hanya melihat piksel serupa di antara frame. Dan bahkan kemudian, saya percaya hanya frame sebelumnya dan berikutnya.
Scott
@ Dominic Saya tidak akan memiliki kontrol atas CSS / JS. Saya akan memposting gif ini ke situs lain. Scott: Apakah Anda tahu bagaimana partisi PS bagian statis dari bagian dinamis? Apakah ini kotak pembatas (lingkaran, segitiga, dll ...)? Berapa banyak area dinamis yang diperbolehkan? Dll ...
JoJo

Jawaban:

3

Jika saya mengerti pertanyaan Anda, Anda memiliki animasi dengan (katakanlah) 5 frame. Frame 1 & 5, 2 & 4 identik. Jadi Anda ingin Photoshop memainkan gif seperti: 1,2,3,2,1.

Sayangnya itu tidak mungkin dengan gif animasi. Gif dibuat untuk memungkinkan data mengalir, menampilkan frame berikutnya secara berurutan saat data dimuat. Frame pertama dianggap global dan datanya dapat digunakan di setiap frame berikutnya. Jadi frame pertama menetapkan basis, lalu "Optimize Animation" mengubah piksel identik menjadi transparan di dalam frame di luar yang pertama. Jadi tidak ada cara untuk memutar ulang frame sebelumnya, mereka harus dijalankan meskipun frame identik dengan saat ini. Wikipedia menjelaskannya lebih terinci daripada saya.

Dulu, saya melakukan sesuatu yang mirip (lihat menu) dengan apa yang Anda cari melalui javascript dan urutan jpg bernomor. Script memainkan gambar 1-10 pada mouseover, kemudian 10-1 pada mouseout.

Lampu api
sumber