1 poin oleh GN⁺ 2024-02-09 | 1 komentar | Bagikan ke WhatsApp

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.
  • libswscale digunakan 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⁺:

  1. Tulisan ini membagikan peningkatan pada VSE Blender dan proses pengembangannya, serta menunjukkan betapa pentingnya berkontribusi pada proyek open source.
  2. Dengan menekankan bahwa pengembang dapat memberi kontribusi yang bermakna bahkan di area di luar keahliannya, tulisan ini menyampaikan pesan positif yang mendorong tantangan baru.
  3. 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

 
GN⁺ 2024-02-09
Komentar Hacker News
  • Seorang pengguna menyebutkan bahwa bagian yang paling keliru dalam kariernya adalah tidak mampu menemukan keseimbangan antara mencari solusi matematis untuk proyek-proyek unik dan proyek berbayar yang menghasilkan keluaran biasa-biasa saja. Ia berbagi pengalaman bahwa sempat ada peluang untuk dibayar atas sesuatu yang sebelumnya ia kerjakan tanpa bayaran, tetapi pada akhirnya justru tidak dikerjakan sama sekali.
  • Pengguna lain menyebut contoh seseorang yang awalnya mengumpulkan banyak pengalaman di Unity lalu berkontribusi ke Blender, dan secara khusus memuji perubahan yang mengoptimalkan tahap pemrosesan gambar sehingga kecepatan komputasi meningkat 4 kali lipat.
  • Seorang pengguna mengatakan bahwa dalam beberapa tahun terakhir, tren favoritnya adalah Aras terlibat dalam berbagai proyek grafis open source, menghasilkan peningkatan kecepatan dan perbaikan besar, lalu berpindah ke proyek lain.
  • Pengguna lain mengungkapkan penyesalannya bahwa Musicbee, pemutar musik favoritnya, bukan open source, dan mengatakan bahwa jika source code-nya dibuka, ia ingin berkontribusi memperbaiki masalah-masalah kecil di waktu luangnya.
  • Seorang pengguna menyebutkan bahwa ia telah menggunakan Blender VSE untuk pengeditan video sejak 2020, dan menurutnya itu adalah editor video paling stabil dan paling kaya fitur di Linux.
  • Pengguna lain berbagi pengalaman bahwa ia ingin memakai semua alat open source untuk podcast-nya, tetapi karena merender sequence mp4 dengan chroma key di Blender memakan waktu 10 jam, ia akhirnya beralih ke DaVinci Resolve.
  • Seorang pengguna meminta bantuan untuk memahami arti judul postingan, dan bertanya apakah itu semacam ungkapan bernuansa meme.
  • Pengguna lain menyebutkan bahwa membuat bagian mana pun dari program Blender 3D menjadi lebih cepat kemungkinan akan sangat sulit, dan menilai bahwa itu sudah merupakan aplikasi 3D dengan waktu boot tercepat dan respons paling baik.
  • Seorang pengguna meminta agar judulnya diubah supaya lebih jelas.
  • Terakhir, seorang pengguna menyebutkan bahwa pengalaman pertamanya menggunakan VSE tidak terlalu baik, dan membagikan tautan tentang pengalamannya.