Programeri
Ako ste programer (ili želite postati programer) i zanima vas razvoj novih značajki, ispravljanje pogrešaka ili poboljšanje korisničkog sučelja za OpenShot, sljedeći odjeljci objasnit će kako započeti i uključiti se!
Šira slika
OpenShot Video Editor ima 3 glavne komponente: Python & PyQt korisničko sučelje (openshot-qt), C++ audio biblioteku (libopenshot-audio) i C++ video biblioteku (libopenshot). Ako niste upoznati s Pythonom, PyQt-om ili C++, ovo su izvrsne teme za istraživanje i učenje u ovom trenutku.
Međutim, mnoge se pogreške mogu ispraviti i nove značajke dodati samo s poznavanjem Pythona, budući da C++ komponente uopće nisu uključene u korisničko sučelje. Python je izvanredan jezik, vrlo zabavan za učenje i jedina je preduvjetna vještina potrebna za postati OpenShot programer!
Upozorenje
Upute koje slijede namijenjene su za Ubuntu Linux, koji je najjednostavnije okruženje za konfiguraciju razvoja OpenShota. Ako koristite drugi operativni sustav, preporučujem pokretanje virtualnog stroja s Ubuntu LTS prije nastavka.
Ako morate koristiti Windows ili Mac sustav za razvoj, započnite pregledom bilješki o izgradnji u libopenshot wikiju. Izgradnja biblioteke sa svim njezinim ovisnostima najzahtjevniji je dio procesa.
Preuzimanje najnovijeg izvornog koda
Prije nego što možemo ispraviti pogreške ili dodati značajke, moramo preuzeti izvorni kod na vaš računalni sustav.
Koristite git za kloniranje naša 3 spremišta:
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
Konfiguriranje vašeg razvojog okruženja
Da bismo mogli kompajlirati ili pokrenuti OpenShot, potrebno je instalirati neke ovisnosti na vaš sustav. Najlakši način za to je korištenje našeg Daily PPA. PPA je neslužbeni Ubuntu repozitorij koji sadrži naše softverske pakete dostupne za preuzimanje i instalaciju.
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
U ovom trenutku trebali biste imati kloniran izvorni kod svih 3 OpenShot komponenti u lokalne mape, instaliran OpenShot dnevni PPA i sve potrebne razvojne i runtime ovisnosti. To je izvrstan početak i sada smo spremni za kompajliranje koda!
libopenshot-audio (Upute za izgradnju)
Ova biblioteka je potrebna za reprodukciju zvuka i audio efekte. Temelji se na JUCE audio okviru. Evo naredbi za izgradnju:
cd libopenshot-audio
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=dist ..
make
make install
U osnovi, prelazimo u mapu libopenshot-audio/build, zatim pokrećemo cmake .. u roditeljskoj mapi. To pronalazi ovisnosti i stvara sve potrebne Makefile-ove za kompajliranje ove biblioteke. Zatim make koristi te Makefile-ove za kompajliranje biblioteke, a make install ih instalira na mjesto koje smo naveli. Ako CMAKE_INSTALL_PREFIX nije postavljen, datoteke će se instalirati u /usr/local/ (zadano) i za pokretanje make install bit će potrebne administratorske ovlasti.
libopenshot (Upute za izgradnju)
Ova biblioteka je potrebna za dekodiranje, kodiranje, animaciju i gotovo sve ostalo vezano uz video. Obavlja sav teški posao video uređivanja i reprodukcije. Evo naredbi za izgradnju:
cd libopenshot
mkdir build
cd build
cmake -DLIBOPENSHOT_AUDIO_DIR=../../libopenshot-audio/build/dist ..
make
U osnovi, prelazimo u mapu libopenshot/build, zatim pokrećemo cmake .. u roditeljskoj mapi. To pronalazi ovisnosti i stvara sve potrebne Makefile-ove za kompajliranje ove biblioteke. Zatim make koristi te Makefile-ove za kompajliranje biblioteke. Budući da smo naveli lokaciju naše kompajlirane libopenshot-audio instalacije, ta će se verzija biblioteke koristiti umjesto sistemske (ako postoji).
Nakon izgradnje ne instaliramo naš libopenshot, jer to nije potrebno. Za potrebe testiranja možemo reći OpenShotu da koristi libopenshot izravno iz naše build mape.
Poveznice za jezike
libopenshot API dostupan je na nekoliko jezika putem SWIG poveznica. Python koristi korisničko sučelje OpenShota, a također pružamo Ruby i Java poveznice. Eksperimentalna podrška za Godot 4.4 uključena je za programere koji žele integrirati značajke uređivanja videa u Godot game engine. Sve ove poveznice mapiraju se na isti C++ kod, tako da možete uređivati video u okruženju koje preferirate.
openshot-qt (Upute za pokretanje)
Ovo je naša glavna PyQt Python aplikacija. Budući da je napisana u Pythonu, nije potrebna nikakva kompilacija za pokretanje. Za pokretanje OpenShota iz izvornog koda s našim novokomponiranim libopenshot-audio i libopenshot bibliotekama, koristite sljedeće naredbe:
cd openshot-qt
PYTHONPATH=../libopenshot/build/src/bindings/python
python3 src/launch.py
Ovo bi trebalo pokrenuti OpenShot korisničko sučelje. Sve promjene koje ste napravili u izvornoj kodnoj datoteci (*.py Python datoteke, *.ui PyQt UI datoteke itd.) bit će uključene. Ovo zahtijeva biblioteke libopenshot-audio i libopenshot, a ako je nešto pošlo po zlu u prethodnim koracima, OpenShot se vjerojatno neće pokrenuti.
Ako se OpenShot u ovom trenutku pokrene, čestitamo! Sada imate radnu lokalnu verziju OpenShota koja se izvodi iz vašeg lokalnog izvornog koda. Pokušajte napraviti neke promjene u izvornom kodu i ponovno pokrenuti OpenShot… sada biste trebali vidjeti svoje promjene!
GitHub Problemi
Sada kada ste uspješno kompajlirali i pokrenuli OpenShot Video Editor iz izvornog koda, svakako pogledajte naš popis prijava grešaka na GitHubu: OpenShot Issues. Također, potičemo vas da ispunite naš brzi obrazac za suradnike i predstavite se!