開發者
如果您是程式設計師(或想成為程式設計師),並且有興趣開發新功能、修復錯誤或改進 OpenShot 的使用者介面,以下章節將說明如何開始並參與其中!
整體概覽
OpenShot Video Editor 有三個主要組件:Python 與 PyQt 使用者介面(openshot-qt )、C++ 音訊函式庫(libopenshot-audio )以及 C++ 影片函式庫(libopenshot )。如果您不熟悉 Python、PyQt 或 C++,現在是研究並深入了解這些主題的好時機。
然而,許多錯誤可以僅靠 Python 知識修復,並新增功能,因為 C++ 組件完全不涉及使用者介面。Python 是一門很棒且非常有趣的語言,也是成為 OpenShot 開發者唯一需要的先備技能!
警告
以下指示適用於 Ubuntu Linux,這是配置 OpenShot 開發環境最簡單的系統。如果您使用其他作業系統,建議先在虛擬機器中執行 Ubuntu LTS,再繼續後續步驟。
如果您必須使用 Windows 或 Mac 系統進行開發,請先參考 libopenshot 維基中的建置說明。建置該函式庫及其所有相依性是過程中最具挑戰性的部分。
取得最新原始碼
在修復錯誤或新增功能之前,我們需要將原始碼下載到您的電腦。
使用 git 複製我們的三個程式庫:
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
設定您的開發環境
為了編譯或執行 OpenShot,我們需要在系統上安裝一些相依套件。最簡單的方法是使用我們的 Daily PPA 。PPA 是非官方的 Ubuntu 軟體庫,提供我們的軟體套件供下載與安裝。
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
此時,您應該已將三個 OpenShot 組件的原始碼複製到本機資料夾,安裝了 OpenShot 每日 PPA,並安裝了所有必要的開發與執行時相依套件。這是個良好的開始,我們現在準備開始編譯程式碼!
libopenshot-audio(建置說明)
此函式庫用於音訊播放與音效,基於 JUCE 音訊框架。以下是建置指令:
cd libopenshot-audio
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=dist ..
make
make install
基本上,我們切換到 libopenshot-audio/build 資料夾,然後在父資料夾執行 cmake .. 。此步驟會尋找相依性並建立編譯此函式庫所需的 Makefile。接著使用 make 編譯函式庫,並用 make install 安裝到指定位置。如果未設定 CMAKE_INSTALL_PREFIX ,檔案將預設安裝到 /usr/local/ ,且執行 make install 需要管理員權限。
libopenshot(建置說明)
此函式庫負責影片解碼、編碼、動畫及其他幾乎所有功能,承擔影片編輯與播放的主要工作。以下是建置指令:
cd libopenshot
mkdir build
cd build
cmake -DLIBOPENSHOT_AUDIO_DIR=../../libopenshot-audio/build/dist ..
make
基本上,我們切換到 libopenshot/build 資料夾,然後在父資料夾執行 cmake .. 。此步驟會尋找相依性並建立編譯此函式庫所需的 Makefile。接著使用 make 編譯函式庫。由於我們提供了已編譯的 libopenshot-audio 安裝位置,將使用該版本函式庫取代系統版本(若有)。
我們編譯後不會安裝 libopenshot ,因為不需要。為了測試,我們可以讓 OpenShot 直接使用 build 目錄中的 libopenshot 。
語言綁定
libopenshot API 透過 SWIG 綁定提供多種語言介面。OpenShot 使用 Python,並且我們也提供 Ruby 和 Java 綁定。對於希望將影片編輯功能整合到 Godot 遊戲引擎的開發者,包含對 Godot 4.4 的實驗性支援。所有這些綁定都對應相同的 C++ 程式碼庫,讓您能在偏好的環境中編輯影片。
openshot-qt(啟動說明)
這是我們主要的 PyQt Python 應用程式。因為它是用 Python 撰寫,不需要編譯即可執行。要從原始碼啟動 OpenShot,並使用我們新建置的 libopenshot-audio 和 libopenshot 函式庫,請使用以下指令:
cd openshot-qt
PYTHONPATH=../libopenshot/build/src/bindings/python
python3 src/launch.py
這應該會啟動 OpenShot 使用者介面。您對原始碼檔案(*.py Python 檔案、*.ui PyQt UI 檔案等)所做的任何更改都會被包含在內。這需要 libopenshot-audio 和 libopenshot 函式庫,如果上述步驟有任何錯誤,OpenShot 很可能無法啟動。
如果此時 OpenShot 成功啟動,恭喜!您現在擁有一個可運作的本地 OpenShot 版本,並且是從您的本地原始碼執行。試著對原始碼做些更改並重新啟動 OpenShot……您應該會看到您的更改!
GitHub 問題
既然您已成功從原始碼編譯並啟動 OpenShot 影片編輯器,請務必查看我們在 GitHub 上的錯誤報告清單:OpenShot Issues 。同時,我們鼓勵您填寫我們的快速 contributor form 並自我介紹!