Stop Motion nasıl yapılır?

Geçtiğimiz günlerde çektiğim bir seri fotoğrafı kullanarak bir stop-motion canlandırma denemesi yaptım. Aslında teknik olarak yaptığım şeyin adı still-motion da olabilir, çünkü yaptığım şey canlandırma değil, anlatım tekniği açısından bu yöntemden yararlanmaktan ibaret. Neyse, konumuz zaten bu değil.

Stop-motion nasıl yapılır sorusunu sınırlamak gerekebilir. Bu soruyla ilgili el becerisi, çekim teknikleri ve benzeri konulara giren bir kaynak oluşturmam henüz mümkün değil.

Şu anda paylaşabileceklerim, bütün o konuları atlayıp, “bir seri fotoğrafı çekmiş olduktan sonra film yapma aşamasına geldiğimizde hangi alternatiflerimiz var?” sorusu ile sınırlı.

Benim alternatiflerim, GNU/Linux ve/veya Mac OSX için oluyor. Windows platformunda karşılığı/geçerliği olabilir. Bilmiyor ve ilgilenmiyorum.

Aslında GNU/Linux dünyası için Stopmotion adlı bir program, bizatihi bu iş için yazılmış durumda. Ancak hem aslında aşağıda tarif ettiğim yöntemleri kullanmak için bir arayüz oluşturmakla sınırlı olduğundan, hem de statik kitaplıklar nedeniyle her dağıtımda kolayca bulunmadığından bu işi elle yapmayı tercih etmek mümkün. İşin o kısmını anlatmayı bu yüzden tercih ediyorum.

Topluca görüntü işlemek gerektiğinde genellikle ilk olarak aklıma Python için görüntü işleme kütüphanesi PIL ya da ImageMagicK geliyor.

ImageMagicK, farklı biçimlerdeki bitmap görüntülerle işlem yapabilen bir program. Komut satırı araçları farklı amaçlarla kullanılan, benzer parametre setlerine sahip birer komut ve bir sürü programlama dili içinde kullanmak için sunulan API’leri var.

Örneğin, PIL yerine PythonMagicK kurularak, Python kodu ile bu güzel programın işlevlerinden yararlanılabilmesi de mümkün oluyor.

Daha önce SuperSampler ile çekilmiş fotoğrafları animasyon olarak gösteren betik içinde ImageMagicK ile gelen animate komutu pek işime yaramıştı (Ki aslında Python Imaging Library yerine tamamen ImageMagicK ile çözülen bir betik de mümkündü, ama Python yazmak bash yazmak gibi sıkıcı değil).

Çekim bittikten sonra karşıma çıkan ilk soru, fotoğrafların nasıl ve hangi boyda olacağı?

ImageMagicK ile çalışırken herhangi bir görüntüyü ölçek, biçim vb. konularda işlemek için iki seçenek var: convert ve mogrify

convert komutu, bir görüntü dosyasında yapılan işlemin sonucunu yeni bir dosya olarak kaydetmek gerektiğinde, mogrify ise, yapılan değişikliği aynı dosyada kaydetmek için kullanılıyor. Neden iki ayrı komut var da, bir parametreyle bunu ayarlamıyoruz çok emin değilim.

Buna karşılık, mogrify gibi bir sözcük nereden geliyor diye merak edip bakmışlığım var. Mogrify diye bir sözcük yok, ama 17. yüzyıl İngilizcesinde ve daha çok fantastik olayları kapsayacak şekilde kullanılan bir transmogrify sözcüğü var. Bu da, iddiaya göre trans ve migrate sözcüklerini birleştirerek türetilmiş. Doğa dışı bir dönüşüm, başkalaşım anlamlarıyla kullanılıyor. Örneklerden biri “bir sabah uyandığında kendini devcileyin bir böceğe dönüşmüş bulan Gregor Samsa”nın yaşadığı dönüşüm.

Ben bu tip toplu işlemleri yaparken kendimi sağlama almak ve kıyaslayabilmeleri gruplamak için dosyaları klasörler içinde bir kaç kopya halinde tutarım. Dolayısıyla mogrify komutu benim için daha verimli.

Klasör içindeki tüm resimleri HD video standardında birer görüntü dosyasına çevirmek için -resize parametresini kullanıyorum. Ancak çekim yaptığım fotoğraf makinasından aldığım dosyalar oranları bozulmadan ancak 1920×1280 olarak ölçeklenebiliyor. Dolayısıyla iki işlemden geçirmeye karar verip, önce aşağıdaki komutla yakın hale getiriyorum:

mogrify -resize 1920*1280 *.jpg

Sonra da;

mogrify -crop 1920×1080+0+100 *.jpg

komutuyla alttan ve üstten 100’er piksel atarak elimdeki dosyaları HD standardına kavuşturuyorum.

Sırada bu görüntüleri, bir videonun kareleri haline getirmek var.

Bir video oluşturmakla ilgili en pratik ve güçlü araçlardan biri ffmpeg. GNU/Linux sistemlerde video düzenlemek ve işlemekle ilgili bir çok program ffmpeg ile çalışıyor. Alternatif olarak mencoder düşünülebilir, ama ffmpeg ile ilgili daha çok belge bulunabilir ve parametre düzeni daha kolay öğrenilebilir görünüyor.

Benim makul bir sonuç alabildiğim komut şu oldu:

ffmpeg -r 4 -b 1800 -f image2 -i 5%02d.jpg 1800_2.avi

Parametrelerin açıklaması da şöyle:

-r *, saniyede kaç kare kullanılacağını belirliyor.
-b *, bitrate bilgisi, videonun dosya büyüklüğü ile oynamak için burada farklı oranlar denenebilir.
-f, kaynak dosya biçimini belirtiyor. image2 biçimi ardışık görüntü formatlarından bir tanesi.
-i, kullanılacak kaynak dosyayı işaret ediyor. Burada bir değişken kullanım örneği var. ffmpeg ile %0*d biçiminde değişken kullanabiliyoruz. Örneğin, 5%02d.jpg 500.jpg, 501.jpg, 502.jpg şeklinde giden bir seriyi tarif ediyor. %0*d biçimindeki * hane sayısının karşılığı.

Son hanede üretmek istediğimiz video için bir isim veriyoruz ve sabır bölümü başlıyor. Bu ayarları kullanarak (1.8Mhz çift çekirdek işlemci ve 1Gb hafıza ile) her 30 kare için bir dakika civarında beklemem gerekti.

3 thoughts on “Stop Motion nasıl yapılır?”

  1. anlatım bana biraz karışık geldi ama yinede verdiğiniz bilgiler için teşekkür ederim

  2. Diğer yorum da aynı şeyi söylüyor, ama neticede kişisel günlüğümde, bir şeyi kendimce nasıl yaptığımı yazıyorum. İşe yaradığı kadarıyla… :)

Leave a Reply

Your email address will not be published. Required fields are marked *