Kehittäjät

Jos olet ohjelmoija (tai haluat tulla ohjelmoijaksi) ja olet kiinnostunut kehittämään uusia ominaisuuksia, korjaamaan virheitä tai parantamaan OpenShotin käyttöliittymää, seuraavat osiot selittävät, miten pääset alkuun ja osallistut!

Kokonaiskuva

OpenShot Video Editorilla on kolme pääkomponenttia: Python- ja PyQt-käyttöliittymä (openshot-qt), C++-äänikirjasto (libopenshot-audio) ja C++-videokirjasto (libopenshot). Jos et ole perehtynyt Pythoniin, PyQtiin tai C++:aan, nämä ovat hyviä aiheita tutkia ja oppia lisää tässä vaiheessa.

Monia virheitä voidaan kuitenkin korjata ja uusia ominaisuuksia lisätä pelkällä Python-osaamisella, koska C++-komponentit eivät osallistu lainkaan käyttöliittymään. Python on upea kieli, sen oppiminen on todella hauskaa, ja se on ainoa edellytys OpenShot-kehittäjäksi ryhtymiseen!

Varoitus

Seuraavat ohjeet ovat Ubuntu Linuxille, joka on helpoin ympäristö konfiguroida OpenShot-kehitystä varten. Jos käytät toista käyttöjärjestelmää, suosittelen ajamaan virtuaalikoneen Ubuntu LTS:llä ennen jatkamista.

Jos kehitykseen on pakko käyttää Windows- tai Mac-järjestelmää, aloita tutustumalla libopenshot-wikissä oleviin rakennusohjeisiin. Kirjaston rakentaminen kaikkine riippuvuuksineen on prosessin haastavin osa.

Uusimman lähdekoodin hankkiminen

Ennen kuin voimme korjata virheitä tai lisätä ominaisuuksia, meidän täytyy saada lähdekoodi tietokoneellesi.

Käytä git:iä kloonaamaan kolme arkistoamme:

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

Kehitysympäristön konfigurointi

Jotta voimme kääntää tai ajaa OpenShottia, meidän täytyy asentaa joitakin riippuvuuksia järjestelmääsi. Helpoin tapa tehdä tämä on käyttää Daily PPA -varastoa. PPA on epävirallinen Ubuntu-varasto, josta ohjelmistopakettimme ovat ladattavissa ja asennettavissa.

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

Tässä vaiheessa sinulla pitäisi olla kaikki kolme OpenShot-komponenttien lähdekoodia kloonattuna paikallisiin kansioihin, OpenShotin päivittäinen PPA asennettuna sekä kaikki tarvittavat kehitys- ja ajonaikaiset riippuvuudet asennettuna. Tämä on loistava alku, ja olemme nyt valmiita aloittamaan koodin kääntämisen!

libopenshot-audio (Rakennusohjeet)

Tämä kirjasto tarvitaan äänen toistoon ja ääni-efekteihin. Se perustuu JUCE-äänikehykseen. Tässä ovat komennot sen rakentamiseen:

cd libopenshot-audio
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=dist ..
make
make install

Käytännössä siirrymme libopenshot-audio/build-kansioon ja suoritetaan cmake .. yläkansiossa. Tämä löytää riippuvuudet ja luo kaikki tarvittavat Makefile-tiedostot kirjaston kääntämistä varten. Sitten make käyttää näitä Makefilejä kirjaston kääntämiseen, ja make install asentaa ne määrittämäämme sijaintiin. Jos CMAKE_INSTALL_PREFIX ei ole asetettu, tiedostot asennetaan oletuksena /usr/local/-kansioon, ja make install vaatii järjestelmänvalvojan oikeudet.

libopenshot (Rakennusohjeet)

Tämä kirjasto tarvitaan videon purkuun, koodaukseen, animaatioon ja lähes kaikkeen muuhun. Se hoitaa videon editoinnin ja toiston raskaan työn. Tässä ovat komennot sen rakentamiseen:

cd libopenshot
mkdir build
cd build
cmake -DLIBOPENSHOT_AUDIO_DIR=../../libopenshot-audio/build/dist ..
make

Käytännössä siirrymme libopenshot/build-kansioon ja suoritetaan cmake .. yläkansiossa. Tämä löytää riippuvuudet ja luo kaikki tarvittavat Makefile-tiedostot kirjaston kääntämistä varten. Sitten make käyttää näitä Makefilejä kirjaston kääntämiseen. Koska annoimme käännetyn libopenshot-audio-asennuksen sijainnin, tätä versiota kirjastosta käytetään järjestelmän version sijaan (jos sellainen on).

Emme asenna libopenshot-kirjastoa rakentamisen jälkeen, koska se ei ole tarpeen. Testausta varten voimme kertoa OpenShotille käyttämään libopenshot-kirjastoa suoraan build-kansiostamme.

Kielisidokset

libopenshot-API on saatavilla useilla kielillä SWIG-sidosten kautta. Pythonia käyttää OpenShotin käyttöliittymä, ja tarjoamme myös Ruby- ja Java-sidokset. Kokeellinen tuki Godot 4.4:lle on mukana kehittäjille, jotka haluavat integroida videoeditointiominaisuuksia Godot-pelimoottoriin. Kaikki nämä sidokset perustuvat samaan C++-koodipohjaan, joten voit muokata videoita haluamassasi ympäristössä.

openshot-qt (Käynnistysohjeet)

Tämä on pääasiallinen PyQt Python -sovelluksemme. Koska se on kirjoitettu Pythonilla, sen suorittamiseen ei tarvita kääntämistä. Käynnistääksesi OpenShotin lähdekoodista käyttäen juuri rakennettuja libopenshot-audio ja libopenshot -kirjastoja, käytä seuraavia komentoja:

cd openshot-qt
PYTHONPATH=../libopenshot/build/src/bindings/python
python3 src/launch.py

Tämän pitäisi käynnistää OpenShot-käyttöliittymä. Kaikki tekemäsi muutokset lähdekooditiedostoihin (*.py Python-tiedostot, *.ui PyQt-käyttöliittymätiedostot jne.) sisällytetään. Tämä vaatii libopenshot-audio ja libopenshot -kirjastot, ja jos yllä olevissa vaiheissa meni jotain pieleen, OpenShot ei todennäköisesti käynnisty.

Jos OpenShot käynnistyy tässä vaiheessa, onnittelut! Sinulla on nyt toimiva paikallinen versio OpenShotista, joka käyttää paikallista lähdekoodiasi. Kokeile tehdä muutoksia lähdekoodiin ja käynnistä OpenShot uudelleen… sinun pitäisi nyt nähdä muutoksesi!

GitHub-ongelmat

Nyt kun olet onnistuneesti kääntänyt ja käynnistänyt OpenShot Video Editorin lähdekoodista, muista tutustua GitHubissa olevaan virheraporttilistaamme: OpenShot Issues. Lisäksi sinua kannustetaan täyttämään nopea contributor form ja esittelemään itsesi!

Jaa muutoksesi

Kun olet korjannut virheen tai lisännyt upean uuden ominaisuuden, muista jakaa se OpenShot-tiimin kanssa. Ihanteellisesti voimme yhdistää tämän pääasialliseen lähdekoodin haaraamme. Helpoin tapa jakaa muutoksesi on luoda haarukka (fork) repostamme, työntää muutoksesi takaisin GitHubiin ja luoda Pull Request. Pull Request ilmoittaa OpenShot-tiimille, että sinulla on muutoksia valmiina yhdistettäväksi. Sitten voimme tarkistaa asiat, antaa palautetta ja toivottavasti yhdistää muutoksesi päähaaraan.