Utviklere
Hvis du er programmerer (eller ønsker å bli det), og er interessert i å utvikle nye funksjoner, fikse feil eller forbedre brukergrensesnittet for OpenShot, vil de følgende seksjonene forklare hvordan du kommer i gang og blir involvert!
Det store bildet
OpenShot Video Editor har 3 hovedkomponenter, et Python- og PyQt-brukergrensesnitt (openshot-qt), et C++ lyd-bibliotek (libopenshot-audio) og et C++ video-bibliotek (libopenshot). Hvis du ikke er kjent med Python, PyQt eller C++, vil det være gode emner å undersøke og lære mer om nå.
Mange feil kan imidlertid fikses og nye funksjoner legges til med kun Python-kunnskap, siden C++-komponentene ikke er involvert i brukergrensesnittet i det hele tatt. Python er et fantastisk språk, veldig morsomt å lære, og er den eneste forkunnskapen som trengs for å bli en OpenShot-utvikler!
Advarsel
Instruksjonene som følger er for Ubuntu Linux, som er det enkleste miljøet å konfigurere for OpenShot-utvikling. Hvis du bruker et annet operativsystem, anbefaler jeg å kjøre en virtuell maskin med Ubuntu LTS før du går videre.
Hvis du må bruke et Windows- eller Mac-system for utvikling, start med å se på byggeinstruksjonene i libopenshot-wikin. Å bygge biblioteket med alle dets avhengigheter er den mest utfordrende delen av prosessen.
Hente den nyeste kildekoden
Før vi kan fikse feil eller legge til funksjoner, må vi få kildekoden over på datamaskinen din.
Bruk git for å klone våre 3 depot:
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
Konfigurere utviklingsmiljøet ditt
For å kunne kompilere eller kjøre OpenShot, må vi installere noen avhengigheter på systemet ditt. Den enkleste måten å gjøre dette på er med vår Daily PPA. En PPA er et uoffisielt Ubuntu-depot som har våre programvarepakker tilgjengelig for nedlasting og installasjon.
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
På dette tidspunktet bør du ha klonet kildekoden til alle 3 OpenShot-komponentene i lokale mapper, installert OpenShot daily PPA, og installert alle nødvendige utviklings- og kjøreavhengigheter. Dette er en god start, og vi er nå klare til å begynne å kompilere kode!
libopenshot-audio (Byggeinstruksjoner)
Dette biblioteket er nødvendig for lydavspilling og lydeffekter. Det er basert på JUCE lyd-rammeverket. Her er kommandoene for å bygge det:
cd libopenshot-audio
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=dist ..
make
make install
I hovedsak bytter vi til libopenshot-audio/build-mappen, og kjører deretter cmake .. på overordnet mappe. Dette finner avhengigheter og lager alle nødvendige Makefiles som brukes til å kompilere dette biblioteket. Deretter bruker make disse Makefilene til å kompilere biblioteket, og make install installerer dem på det angitte stedet. Hvis CMAKE_INSTALL_PREFIX ikke er satt, vil filene installeres til /usr/local/ (som standard), og make install krever administrative rettigheter.
libopenshot (Byggeinstruksjoner)
Dette biblioteket er nødvendig for videodekoding, koding, animasjon og omtrent alt annet. Det gjør det meste av det tunge arbeidet med videoredigering og videoavspilling. Her er kommandoene for å bygge det:
cd libopenshot
mkdir build
cd build
cmake -DLIBOPENSHOT_AUDIO_DIR=../../libopenshot-audio/build/dist ..
make
I hovedsak bytter vi til libopenshot/build-mappen, og kjører deretter cmake .. på overordnet mappe. Dette finner avhengigheter og lager alle nødvendige Makefiles som brukes til å kompilere dette biblioteket. Deretter bruker make disse Makefilene til å kompilere biblioteket. Fordi vi oppga plasseringen av vår kompilerte libopenshot-audio-installasjon, vil den versjonen av biblioteket bli brukt i stedet for systemversjonen (hvis noen).
Vi installerer ikke libopenshot etter bygging, fordi det ikke er nødvendig. For testformål kan vi fortelle OpenShot å bruke libopenshot direkte fra vår build-mappe.
Språkbindings
libopenshot API-en er tilgjengelig i flere språk gjennom SWIG-bindings. Python brukes av OpenShot-brukergrensesnittet, og vi tilbyr også Ruby- og Java-bindings. Eksperimentell støtte for Godot 4.4 er inkludert for utviklere som ønsker å integrere videoredigeringsfunksjoner i Godot spillmotor. Alle disse bindings kobler til samme C++-kodebase slik at du kan redigere video fra det miljøet du foretrekker.
openshot-qt (Startinstruksjoner)
Dette er vår hoved-PyQt Python-applikasjon. Fordi den er skrevet i Python, krever den ingen kompilering for å kjøre. For å starte OpenShot fra kildekoden med våre nylig bygde libopenshot-audio og libopenshot biblioteker, bruk følgende kommandoer:
cd openshot-qt
PYTHONPATH=../libopenshot/build/src/bindings/python
python3 src/launch.py
Dette skal starte OpenShot-brukergrensesnittet. Eventuelle endringer du har gjort i kildekodefilene (*.py Python-filer, *.ui PyQt UI-filer, osv…) vil bli inkludert. Dette krever libopenshot-audio og libopenshot bibliotekene, og hvis noe gikk galt med trinnene ovenfor, vil sannsynligvis ikke OpenShot starte.
Hvis OpenShot starter nå, gratulerer! Du har nå en fungerende lokal versjon av OpenShot som kjører fra din lokale kildekode. Prøv å gjøre noen endringer i kildekoden og start OpenShot på nytt… du bør nå se endringene dine!
GitHub-problemer
Nå som du har kompilert og startet OpenShot Video Editor fra kildekoden, bør du sjekke ut listen over feilrapporter på GitHub: OpenShot Issues. Du oppfordres også til å fylle ut vårt raske bidragsyterskjema og introdusere deg selv!