Blender VSE yang Saya Gunakan Secara Tidak Sengaja
(aras-p.info)Secara tidak sengaja berkontribusi pada Blender VSE
- Dua bulan lalu mulai menyumbangkan sedikit kode ke Video Sequence Editor (VSE) milik Blender.
- Tahukah Anda bahwa Blender punya alat pengeditan video? Saya juga tidak tahu.
- Mulai mengerjakan VSE meskipun sama sekali tidak paham soal pengeditan video, timeline, sequencer, color grading, ffmpeg, audio mixing, dan sebagainya.
Bagaimana saya mulai mengerjakan VSE secara 'tidak sengaja'?
- Memutuskan untuk menghadiri konferensi Unite 2023 milik Unity di Amsterdam dan mengunjungi teman-teman.
- Setelah konferensi, berkunjung ke kantor pusat Blender selama setengah hari, lalu Francesco dan Sergey bertanya apakah saya bersedia berkontribusi ke VSE.
- Dari situlah saya mulai mengerjakan VSE.
Peningkatan rendering timeline
- Timeline VSE berada di bagian bawah gambar, dan sekitar 3000 "strip" terlihat sekaligus.
- Saat timeline digulir dan digeser, antarmuka pengguna sebelumnya diperbarui sekitar 15 frame.
- Sekarang diperbarui pada lebih dari 60 frame (#115311).
Scope
- VSE dapat menampilkan "scope" khas seperti histogram gambar, waveform, dan vectorscope.
- Ada berbagai peningkatan pada histogram, waveform, dan vectorscope.
Bagian ffmpeg
- Blender terutama menggunakan pustaka ffmpeg untuk membaca dan menulis audio/video.
libswscaledigunakan untuk melakukan konversi RGB↔YUV pada frame film.- Kini tahap konversi RGB→YUV diproses lebih cepat dengan memanfaatkan multithreading (#116008).
Resampling audio
- Banyak waktu terpakai untuk resampling data klip audio di dalam pustaka audio (Audaspace).
- Menambahkan pengaturan kualitas resampling "menengah" yang baru ke Audaspace agar digunakan saat rendering (#116059).
Transformasi dan filtering gambar
- Di VSE, gambar, film, teks, scene, dan lainnya dapat ditransformasikan: diposisikan, diputar, diubah ukurannya, dan diberi crop tambahan.
- Semua transformasi ini dijalankan di CPU dan sudah diproses dengan multithreading.
Memperbaiki "kesalahan setengah piksel"
- Ada beberapa "kesalahan setengah piksel" dalam kode, yang dalam banyak kasus saling meniadakan atau tidak terlihat.
- Kesalahan-kesalahan ini telah diperbaiki (#116628).
Batas transparansi di sekitar filtering bilinear
- Hanya filtering bilinear yang menambahkan transparansi di sekitar gambar hasil.
- Sekarang "blending ke transparansi" telah dihapus dari kode filtering bilinear (#117717).
Menambahkan dan mengubah filtering
- Transformasi strip VSE sebelumnya tidak memiliki opsi filtering Cubic.
- Sekarang di VSE bisa memilih dua jenis filtering Cubic (#117100, #117517).
- Opsi filter "Auto" ditambahkan dan dijadikan default (#117853).
Optimisasi efek VSE
- Pada set data film nyata, banyak efek tidak digunakan, tetapi ada sesuatu yang ditemukan di kode dan kemudian dioptimalkan.
- Sebagian besar optimisasi dilakukan melalui multithreading.
Apa arti semua ini terhadap waktu rendering?
- Pada tiga set data dari Blender Studio, waktu rendering akhir film VSE menjadi sekitar 2x lebih cepat di PC.
Pemikiran tentang proses kerja sebenarnya
- Tidak yakin apakah semua pekerjaan di atas merupakan "jumlah kerja yang bagus" untuk usaha paruh waktu selama dua bulan.
- Meski sebagai pengembang (saya) sama sekali tidak tahu apa-apa tentang bidang ini maupun codebase-nya, hasilnya tampak cukup baik.
- Total 37 pull request telah diselesaikan, ditinjau, dan di-merge.
Berikutnya apa?
- Blender 4.1 sudah memasuki beta dan secara fungsional sudah "selesai".
- Pengerjaan Blender 4.2 dimulai, dan saya berencana untuk terus mengerjakan VSE.
Pendapat GN⁺:
- Tulisan ini membagikan peningkatan pada VSE Blender dan proses pengembangannya, serta menunjukkan betapa pentingnya berkontribusi pada proyek open source.
- Dengan menekankan bahwa pengembang dapat memberi kontribusi yang bermakna bahkan di area di luar keahliannya, tulisan ini menyampaikan pesan positif yang mendorong tantangan baru.
- Tulisan ini menekankan pentingnya optimisasi dan peningkatan performa dalam pengembangan perangkat lunak, serta menjelaskan dengan contoh konkret bagaimana peningkatan tersebut memengaruhi pengalaman pengguna nyata dan waktu rendering.
1 komentar
Komentar Hacker News