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 \
build-essential \
cmake \
catch2 \
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 \
pkg-config \
python3-dev \
protobuf-compiler \
qtbase5-dev \
libqt5svg5-dev \
libxcb-xfixes0-dev \
qtmultimedia5-dev \
swig
OpenShot podržava PyQt5, PyQt6 i PySide6. libopenshot mora biti izgrađen za ispravnu verziju Qt-a za vezu koju koristite (Qt5: PyQt5, Qt6: PyQt6 ili PySide6).
Za PySide6 (Qt6) veze, instalirajte ove pakete:
sudo apt-get install \
python3-pyside6.qtcore \
python3-pyside6.qtgui \
python3-pyside6.qtwidgets \
python3-pyside6.qtstatemachine \
python3-pyside6.qtsvg \
python3-pyside6.qtuitools \
shiboken6
Za PyQt6, instalirajte ove pakete:
sudo apt-get install \
qt6-base-dev \
qt6-base-dev-tools \
qt6-tools-dev \
qt6-svg-dev
PyQt6 runtime mora pružiti QtCore, QtGui, QtWidgets, QtSvg, QtStateMachine i uic. Neke distribucije dijele ove module u zasebne pakete. Konkretno, paket python3-pyqt6 za Ubuntu 24.04 ne uključuje QtStateMachine. Na toj verziji koristite gore navedene PySide6 pakete ili instalirajte kompletan PyQt6 wheel u Python virtualnom okruženju:
python3 -m venv .venv
.venv/bin/python -m pip install PyQt6
Provjerite odabranu Qt vezu i potrebne module prije pokretanja OpenShot-a:
PYTHONPATH=src OPENSHOT_QT_API=pyqt6 .venv/bin/python -c \
"from qt_api import QT_API, QStateMachine; print(QT_API, QStateMachine)"
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!
Opcije naredbenog retka
Ove opcije rade s instaliranom OpenShot aplikacijom, uključujući openshot-qt.exe na Windowsu. Kada pokrećete iz izvornog koda, koristite python3 src/launch.py umjesto imena aplikacije. Opcije stavite ispred bilo kojih putanja do datoteka koje želite da OpenShot otvori.
Opcija |
Što radi |
|---|---|
|
Prikaži dostupne opcije i izađi. |
|
Ispiši verziju OpenShota i izađi. |
|
Koristi odabrani jezik sučelja za ovo pokretanje. Kod mora biti jedan od onih prikazanih naredbom |
|
Prikaži popis podržanih jezičnih kodova i izađi. |
|
Dodaj mapu u putanju pretraživanja Python modula. Ovu opciju možete ponoviti za dodavanje više mapa. |
|
Prikaži obavijest o povratnoj informaciji pri pokretanju bez označavanja poziva kao prikazanog u spremljenim postavkama. |
|
Prikaži obavijest o ažuriranju pri pokretanju. Obje opcije pregleda mogu se koristiti zajedno. |
|
Omogući Qt-ov tester podataka modela za razvoj (zahtijeva Qt 5.11 ili noviji). |
|
Dodaj detaljne poruke sučelja u datoteku dnevnika i terminal. |
|
Dodaj detaljne poruke video i audio motora u datoteku dnevnika i terminal. |
|
Postavi razinu zapisivanja za oba dijela OpenShota, u datotekama i terminalu. |
|
Postavi razinu zapisivanja u obje datoteke dnevnika. |
|
Postavi razinu zapisivanja u terminalu za oba dijela OpenShota. |
|
Dodaj detaljne poruke sučelja samo u datoteku dnevnika. Ova starija opcija je prihvaćena, ali nije prikazana naredbom |
|
Dodaj detaljne poruke sučelja samo u terminal. Ova starija opcija je prihvaćena, ali nije prikazana naredbom |
|
Otvori projekt ako prva putanja datoteke završava s |
Za LEVEL koristite debug, info, warning, error, critical ili off. Pogledajte Korištenje zapisnika za rješavanje problema za lokacije datoteka dnevnika, primjere i više o odabiru opcija zapisivanja.
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!