Blender Untuk Menyunting Video, Kenapa Tidak?

08.02.11

Kategori: Animation , Blender

Awal Januari kemarin, aku membantu seorang sepupuku menyunting video untuk tugas kuliahnya. Berhubung sekitar dua tahun sebelumnya aku membantunya dalam keperluan yang sama, dan saat itu aku menggunakan Blender (v2.48), kali ini pun aku menggunakan software yang sama. Perbedaan pendekatanku terhadap dua proyek yang mirip ini, serta perbedaan kedua versi Blender yang kugunakan untuk menyelesaikan keduanya, memberiku ide tentang bagaimana cara paling baik (sejauh ini) dalam memanfaatkan Blender untuk menyunting video.



Tentu saja aku bukan editor video profesional, bahkan tidak pernah menggunakan perangkat penyunting video komersial macam yang dibuat Apple, Adobe atau Avid. Tapi aku ingin bekerja seefisien mungkin, dan meski Blender memungkinkanku menyunting video kurang-lebih di sembarang komputer yang dapat kupakai, aku ingin membuat pekerjaan ini lebih efisien lagi, lebih ringkas lagi, dan selesai tidak lebih lama dari yang diperlukan. Menurutku, faktor-faktor berikut membantuku:

Blender sekarang jauh lebih cepat dalam mengolah file video.

Aku sedikit penasaran dengan sebabnya. Dulu video input yang kudapat adalah file DV mentah, tapi rasanya kurang nyaman saat scrubbing dan splicing (jendela layar preview tidak selalu menampilkan frame yang sama dengan jendela sequencer). Tapi sekarang untuk video dengan rasio kompresi lebih besar --5GB untuk video 30 menit!-- penyuntingan video tidak pernah lebih nyaman buatku. Penentuan segmen-segmen frame mana yang kupertahankan, mana yang kubuang, mana yang kupakai menutupi atau menyambung segmen lain, rasanya bisa kulakukan dengan lebih cermat. Hanya ada satu catatan, bahwa di antara semua versi Blender pasca 2.49b (2.50 sampai 2.56 saat ini), hanya 2.54 yang terasa paling cepat dalam mengolah data video.

20110410-video_edit01.png

Gunakan input video dengan kompresi seminimal mungkin.

Mungkin ada hubungannya dengan versi Blender yang kugunakan, tapi saat kuperkecil rasio kompresi (5GB menjadi +/- 300MB) untuk keperluan pengarsipan, tiba-tiba penyuntingan dalam Blender mulai terasa kurang lancar. Coba-coba dengan rasio kompresi berbeda, kudapati umpan balik Blender masih mendekati realtime dengan ukuran file video input 1/5 dari ukuran file aslinya (900MB+).

Gunakan tablet grafis.

Aku sadar tidak semua orang benar-benar perlu memiliki perangkat ini, tapi bagiku tablet grafis sangat membantu dalam menyunting video. Meski untuk pemodelan 3D aku masih lebih nyaman menggunakan mouse, navigasi dan manipulasi strip di video sequencer buatku jauh lebih cepat menggunakan pena tablet grafis.

Pakai Inkscape untuk elemen tekstual/2D.

Pembuatan teks closed-caption atau subtitle, misalnya untuk nama pembicara, naskah atau kredit penutup, sangat terbantu oleh fasilitas batch export di Inkscape. Cukup buat objek-objek 2D yang diperlukan dengan Inkscape, ubah ID masing-masing objek agar mencerminkan peruntukannya, lalu pilih Batch saat mengekspor. Setiap objek terpilih akan diekspor menjadi file gambar dengan nama berdasarkan ID-nya (misalnya, objek dengan ID end_credit langsung menjadi file gambar end_credit.png). Desain tataletak setiap objek juga akan terbantu jika ukuran dokumen disamakan dengan resolusi video akhir.

20110410-video_edit02.png

Agar aman, pakai keluaran image sequence untuk render 3D.

Rasanya ini point yang krusial untuk penggunaan Blender secara umum, tidak hanya terkait penyuntingan video. Meskipun Blender sekarang sudah jauh lebih stabil ketimbang versi-versi awal (dan 2.50), apapun scene yang sedang dirender, sebagus apapun hardware yang dipakai, versi Blender manapun yang dipakai... Blender masih berpotensi crash saat digunakan untuk me-render animasi scene 3D. Bila kita tentukan keluaran hasil render sebagai rangkaian gambar, setidaknya setelah crash dapat dilanjutkan dari frame terakhir. Tapi masih ada manfaat lain. Meski tersedianya strip Scene memperkenankan kita meletakkan scene 3D langsung di video sequencer, namun umpan-baliknya di jendela preview tidak cukup cepat buatku (sekalipun dengan fasilitas image cache). Me-render scene 3D sebagai rangkaian gambar terlebih dahulu akan jauh lebih efisien, karena tinggal kita letakkan di video sequencer sebagai strip Image Sequence.

Agar lebih terjamin aman, jalankan proses render lewat konsol baris perintah.

Yang ini mungkin tidak semua orang setuju. Tapi aku bertolak dari pengalamanku sendiri, bahwa untuk render sekuens video-pun, Blender masih bisa mengalami crash. Video yang ku-render ini durasinya hampir setengah jam, dengan waktu render mendekati satu jam menggunakan laptop-ku, dan aku tidak ingin satu jam-pun hidupku sia-sia. Yang menarik, kuperhatikan crash rutin terjadi jika render kueksekusi lewat GUI (antarmuka grafis), namun [u]sama sekali[/u] belum pernah terjadi jika kujalankan dari CLI (antarmuka teks). Terlebih lagi, Blender yang berjalan lewat antarmuka teks lebih efisien memakai sumberdaya CPU, karena toh antarmuka grafis tidak bisa dipakai macam-macam saat render berlangsung, kan?

Dari sini muncul ide untuk tidak hanya melakukan proses render lewat baris perintah, namun menambah sedikit otomatisasi memakai perangkat pemrograman yang sudah tersedia di Linux. Berikut file otomatisasinya:

img_opening_title: obj_opening_title.blend
	blender --background $^ --scene 'Anim' --render-anim
	touch img_opening_title/

vid_opening_title.avi: seq_opening_title.blend
	blender $^ --scene 'Scene' -P renderseq.py >> /dev/null

talkshow.avi: seq_all.blend
	blender $^ --scene 'Scene' -P renderseq.py >> /dev/null

talkshow_raw2.avi: vid_raw_converter.blend talkshow_raw.avi
	blender --background $< --render-anim >> /dev/null

renderseq.py:
	@echo 'import bpy' > $@
	@echo 'bpy.ops.render.render(animation=True)' >> $@
	@echo 'bpy.ops.wm.exit_blender()' >> $@

Otomatisasi (atau semi-otomatisasi), dan bidang lebih luas yaitu manajemen file dan pipeline produksi studio berbasis Blender, adalah topik menarik yang ingin kubahas di tulisan lain. Setidaknya di sini bisa kujelaskan bahwa dengan perangkat GNU Make dan script di atas (namanya Makefile), sebuah segmen video akan otomatis di-render hanya jika file-file asalnya berubah. Ini memang baru eksperimen, manfaatnya pun masih marjinal, tapi ada potensi manfaat yang lebih besar di sini, dan akan kujelaskan sedetail mungkin saat teknik ini berhasil kuterapkan di proyek yang lebih kompleks.

Dengan konsep antarmuka yang sederhana, kebutuhan sumberdaya CPU, GPU dan memori hanya sepersekian dari rata-rata penyunting video profesional, dan kemudahan untuk dikombinasikan dengan berbagai perangkat lainnya, Blender semakin dapat diandalkan untuk keperluan penyuntingan video, selain untuk berbagai kebutuhan penciptaan karya multimedia lainnya. Masih belum yakin dengan kemampuan Blender?