Deweloperzy
Jeśli jesteś programistą (lub chcesz nim zostać) i interesuje Cię rozwijanie nowych funkcji, naprawianie błędów lub ulepszanie interfejsu użytkownika OpenShot, poniższe sekcje wyjaśnią, jak zacząć i zaangażować się!
Ogólny obraz
OpenShot Video Editor składa się z 3 głównych komponentów: interfejsu użytkownika w Pythonie i PyQt (openshot-qt), biblioteki audio w C++ (libopenshot-audio) oraz biblioteki wideo w C++ (libopenshot). Jeśli nie znasz Pythona, PyQt ani C++, warto teraz zgłębić te tematy.
Wiele błędów można jednak naprawić, a nowe funkcje dodać, znając tylko Pythona, ponieważ komponenty C++ nie są w ogóle zaangażowane w interfejs użytkownika. Python to niesamowity język, bardzo przyjemny do nauki i jest jedyną wymaganą umiejętnością, aby zostać deweloperem OpenShot!
Ostrzeżenie
Poniższe instrukcje dotyczą Ubuntu Linux, które jest najłatwiejszym środowiskiem do konfiguracji dla rozwoju OpenShot. Jeśli używasz innego systemu operacyjnego, zalecam uruchomienie maszyny wirtualnej z Ubuntu LTS przed kontynuowaniem.
Jeśli musisz używać systemu Windows lub Mac do rozwoju, zacznij od zapoznania się z notatkami dotyczącymi kompilacji w wiki libopenshot. Budowanie biblioteki wraz ze wszystkimi zależnościami jest najtrudniejszą częścią procesu.
Pobieranie najnowszego kodu źródłowego
Zanim naprawimy błędy lub dodamy funkcje, musimy pobrać kod źródłowy na Twój komputer.
Użyj git, aby sklonować nasze 3 repozytoria:
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
Konfiguracja środowiska programistycznego
Aby skompilować lub uruchomić OpenShot, musimy zainstalować kilka zależności w Twoim systemie. Najłatwiej zrobić to za pomocą naszego Daily PPA. PPA to nieoficjalne repozytorium Ubuntu, które zawiera nasze pakiety oprogramowania do pobrania i instalacji.
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
Na tym etapie powinieneś mieć sklonowany kod źródłowy wszystkich 3 komponentów OpenShot w lokalnych folderach, zainstalowane dzienne PPA OpenShot oraz wszystkie wymagane zależności do rozwoju i uruchomienia. To świetny początek, teraz możemy zacząć kompilować kod!
libopenshot-audio (Instrukcje kompilacji)
Ta biblioteka jest wymagana do odtwarzania dźwięku i efektów audio. Bazuje na frameworku JUCE. Oto polecenia do jej kompilacji:
cd libopenshot-audio
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=dist ..
make
make install
W zasadzie przechodzimy do folderu libopenshot-audio/build, a następnie uruchamiamy cmake .. w folderze nadrzędnym. To znajduje zależności i tworzy wszystkie potrzebne Makefile do kompilacji tej biblioteki. Następnie make używa tych Makefile do kompilacji biblioteki, a make install instaluje ją w określonej lokalizacji. Jeśli CMAKE_INSTALL_PREFIX nie jest ustawiony, pliki zostaną zainstalowane domyślnie do /usr/local/, a make install będzie wymagać uprawnień administratora.
libopenshot (Instrukcje kompilacji)
Ta biblioteka jest wymagana do dekodowania, kodowania wideo, animacji i niemal wszystkiego innego. Wykonuje większość ciężkiej pracy związanej z edycją i odtwarzaniem wideo. Oto polecenia do jej kompilacji:
cd libopenshot
mkdir build
cd build
cmake -DLIBOPENSHOT_AUDIO_DIR=../../libopenshot-audio/build/dist ..
make
W zasadzie przechodzimy do folderu libopenshot/build, a następnie uruchamiamy cmake .. w folderze nadrzędnym. To znajduje zależności i tworzy wszystkie potrzebne Makefile do kompilacji tej biblioteki. Następnie make używa tych Makefile do kompilacji biblioteki. Ponieważ podaliśmy lokalizację naszej skompilowanej instalacji libopenshot-audio, ta wersja biblioteki zostanie użyta zamiast systemowej (jeśli istnieje).
Nie instalujemy libopenshot po kompilacji, ponieważ nie jest to potrzebne. Do celów testowych możemy powiedzieć OpenShot, aby używał libopenshot bezpośrednio z naszego katalogu build.
Więzy językowe
API libopenshot jest dostępne w kilku językach dzięki powiązaniom SWIG. Python jest używany przez interfejs użytkownika OpenShot, a także udostępniamy powiązania dla Ruby i Java. Eksperymentalne wsparcie dla Godot 4.4 jest dostępne dla deweloperów, którzy chcą zintegrować funkcje edycji wideo z silnikiem gry Godot. Wszystkie te powiązania odnoszą się do tej samej bazy kodu C++, dzięki czemu możesz edytować wideo w preferowanym środowisku.
openshot-qt (Instrukcje uruchamiania)
To nasza główna aplikacja PyQt napisana w Pythonie. Ponieważ jest napisana w Pythonie, nie wymaga kompilacji do uruchomienia. Aby uruchomić OpenShot z kodu źródłowego z nowo skompilowanymi bibliotekami libopenshot-audio i libopenshot, użyj następujących poleceń:
cd openshot-qt
PYTHONPATH=../libopenshot/build/src/bindings/python
python3 src/launch.py
To powinno uruchomić interfejs użytkownika OpenShot. Wszelkie zmiany, które wprowadziłeś w plikach źródłowych (plikach Python *.py, plikach PyQt UI *.ui itd.) zostaną uwzględnione. Wymaga to bibliotek libopenshot-audio i libopenshot, a jeśli coś poszło nie tak w powyższych krokach, OpenShot prawdopodobnie się nie uruchomi.
Jeśli OpenShot uruchomi się w tym momencie, gratulacje! Masz teraz działającą lokalną wersję OpenShot, która działa na podstawie twojego lokalnego kodu źródłowego. Spróbuj wprowadzić jakieś zmiany w kodzie źródłowym i ponownie uruchomić OpenShot… teraz powinieneś zobaczyć swoje zmiany!
Zgłoszenia na GitHub
Teraz, gdy udało Ci się skompilować i uruchomić OpenShot Video Editor ze źródła, koniecznie sprawdź naszą listę zgłoszeń błędów na GitHub: OpenShot Issues. Zachęcamy również do wypełnienia naszego krótkiego formularza dla współtwórców i przedstawienia się!