Pengembang
Jika Anda seorang programmer (atau ingin menjadi programmer), dan tertarik mengembangkan fitur baru, memperbaiki bug, atau meningkatkan antarmuka pengguna untuk OpenShot, bagian berikut akan menjelaskan cara memulai dan terlibat!
Gambaran Besar
OpenShot Video Editor memiliki 3 komponen utama, antarmuka pengguna Python & PyQt (openshot-qt), perpustakaan audio C++ (libopenshot-audio) dan perpustakaan video C++ (libopenshot). Jika Anda belum familiar dengan Python, PyQt, atau C++, ini adalah topik yang bagus untuk diteliti dan dipelajari lebih lanjut saat ini.
Namun, banyak bug dapat diperbaiki dan fitur baru ditambahkan hanya dengan pengetahuan Python, karena komponen C++ tidak terlibat sama sekali dalam antarmuka pengguna. Python adalah bahasa yang luar biasa, sangat menyenangkan untuk dipelajari, dan merupakan satu-satunya keterampilan prasyarat yang dibutuhkan untuk menjadi pengembang OpenShot!
Peringatan
Instruksi berikut ditujukan untuk Ubuntu Linux, yang merupakan lingkungan termudah untuk dikonfigurasi dalam pengembangan OpenShot. Jika Anda menggunakan OS lain, saya sarankan menjalankan mesin virtual dengan Ubuntu LTS sebelum melanjutkan.
Jika Anda harus menggunakan sistem Windows atau Mac untuk pengembangan, mulailah dengan merujuk pada catatan build di wiki libopenshot. Membangun perpustakaan beserta semua dependensinya adalah bagian paling menantang dari proses ini.
Mendapatkan Kode Sumber Terbaru
Sebelum kita dapat memperbaiki bug atau menambahkan fitur, kita perlu mendapatkan kode sumber ke komputer Anda.
Gunakan git untuk mengkloning 3 repositori kami:
git clone https://github.com/OpenShot/libopenshot-audio.git
git clone https://github.com/OpenShot/libopenshot.git
git clone https://github.com/OpenShot/openshot-qt.git
Mengonfigurasi Lingkungan Pengembangan Anda
Untuk benar-benar mengompilasi atau menjalankan OpenShot, kita perlu menginstal beberapa dependensi di sistem Anda. Cara termudah untuk melakukannya adalah dengan Daily PPA kami. PPA adalah repositori Ubuntu tidak resmi, yang menyediakan paket perangkat lunak kami untuk diunduh dan diinstal.
sudo add-apt-repository ppa:openshot.developers/libopenshot-daily
sudo apt-get update
sudo apt-get install openshot-qt \
cmake \
libx11-dev \
libasound2-dev \
libavcodec-dev \
libavdevice-dev \
libavfilter-dev \
libavformat-dev \
libavresample-dev \
libavutil-dev \
libfdk-aac-dev \
libfreetype6-dev \
libjsoncpp-dev \
libmagick++-dev \
libopenshot-audio-dev \
libprotobuf-dev \
libqt5svg5-dev \
libswscale-dev \
libunittest++-dev \
libxcursor-dev \
libxinerama-dev \
libxrandr-dev \
libzmq3-dev \
pkg-config \
python3-dev \
protobuf-compiler \
qtbase5-dev \
libqt5svg5-dev \
libxcb-xfixes0-dev \
qtmultimedia5-dev \
swig
Pada titik ini, Anda seharusnya sudah mengkloning kode sumber ketiga komponen OpenShot ke folder lokal, menginstal PPA harian OpenShot, dan menginstal semua dependensi pengembangan dan runtime yang diperlukan. Ini adalah awal yang bagus, dan sekarang kita siap mulai mengompilasi kode!
libopenshot-audio (Instruksi Build)
Perpustakaan ini diperlukan untuk pemutaran audio dan efek audio. Ini berbasis pada kerangka kerja audio JUCE. Berikut adalah perintah untuk membangunnya:
cd libopenshot-audio
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=dist ..
make
make install
Pada dasarnya, kita beralih ke folder libopenshot-audio/build, lalu menjalankan cmake .. pada folder induk. Ini mencari dependensi dan membuat semua Makefile yang diperlukan untuk mengompilasi perpustakaan ini. Kemudian make menggunakan Makefile tersebut untuk mengompilasi perpustakaan ini, dan make install menginstalnya di lokasi yang kita tentukan. Jika CMAKE_INSTALL_PREFIX tidak disetel, file akan diinstal ke /usr/local/ (secara default) dan make install memerlukan hak administratif untuk dijalankan.
libopenshot (Instruksi Build)
Perpustakaan ini diperlukan untuk decoding video, encoding, animasi, dan hampir semua hal lainnya. Ini melakukan semua pekerjaan berat pengeditan video dan pemutaran video. Berikut adalah perintah untuk membangunnya:
cd libopenshot
mkdir build
cd build
cmake -DLIBOPENSHOT_AUDIO_DIR=../../libopenshot-audio/build/dist ..
make
Pada dasarnya, kita beralih ke folder libopenshot/build, lalu menjalankan cmake .. pada folder induk. Ini mencari dependensi dan membuat semua Makefile yang diperlukan untuk mengompilasi perpustakaan ini. Kemudian make menggunakan Makefile tersebut untuk mengompilasi perpustakaan ini. Karena kita menyediakan lokasi instalasi libopenshot-audio yang sudah dikompilasi, versi perpustakaan tersebut akan digunakan menggantikan versi sistem (jika ada).
Kami tidak menginstal libopenshot setelah membangunnya, karena tidak perlu. Untuk tujuan pengujian, kita dapat memberitahu OpenShot untuk menggunakan libopenshot langsung dari direktori build kami.
Binding Bahasa
API libopenshot tersedia dalam beberapa bahasa melalui binding SWIG. Python digunakan oleh antarmuka pengguna OpenShot, dan kami juga menyediakan binding Ruby dan Java. Dukungan eksperimental untuk Godot 4.4 disertakan bagi pengembang yang ingin mengintegrasikan fitur pengeditan video ke dalam mesin game Godot. Semua binding ini memetakan ke basis kode C++ yang sama sehingga Anda dapat mengedit video dari lingkungan yang Anda pilih.
openshot-qt (Instruksi Peluncuran)
Ini adalah aplikasi utama PyQt Python kami. Karena ditulis dalam Python, tidak memerlukan kompilasi untuk dijalankan. Untuk meluncurkan OpenShot dari kode sumber dengan perpustakaan libopenshot-audio dan libopenshot yang baru dibangun, gunakan perintah berikut:
cd openshot-qt
PYTHONPATH=../libopenshot/build/src/bindings/python
python3 src/launch.py
Ini akan meluncurkan antarmuka pengguna OpenShot. Setiap perubahan yang Anda buat pada file kode sumber (file Python *.py, file UI PyQt *.ui, dll...) akan disertakan. Ini memerlukan pustaka libopenshot-audio dan libopenshot, dan jika ada yang salah dengan langkah-langkah di atas, OpenShot kemungkinan tidak akan meluncur.
Jika OpenShot meluncur pada titik ini, selamat! Anda sekarang memiliki versi lokal OpenShot yang berfungsi, yang berjalan dari kode sumber lokal Anda. Cobalah membuat beberapa perubahan pada kode sumber dan luncurkan kembali OpenShot... Anda sekarang harus melihat perubahan Anda!
Masalah GitHub
Sekarang setelah Anda berhasil mengompilasi dan meluncurkan OpenShot Video Editor dari kode sumber, pastikan untuk memeriksa daftar laporan bug kami di GitHub: Masalah OpenShot. Selain itu, Anda dianjurkan untuk mengisi formulir kontributor kami yang singkat dan memperkenalkan diri Anda!