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!

Del endringene dine

Når du har fikset en feil eller lagt til en fantastisk ny funksjon, sørg for å dele det med OpenShot-teamet. Ideelt sett kan vi slå dette sammen med vår hovedgren i kildekoden. Den enkleste måten å dele endringene dine på er å lage en fork av vårt repo, pushe endringene dine tilbake til GitHub, og opprette en Pull Request. En Pull Request lar OpenShot-teamet vite at du har endringer klare til å bli slått sammen. Da kan vi gjennomgå, gi tilbakemelding, og forhåpentligvis slå sammen endringene dine i hovedgrenen.