开发者
如果您是程序员(或想成为程序员),并且有兴趣开发新功能、修复错误或改进 OpenShot 的用户界面,以下章节将说明如何开始并参与其中!
整体概述
OpenShot 视频编辑器有三个主要组件: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,我们需要在您的系统上安装一些依赖项。最简单的方法是使用我们的 每日 PPA 。PPA 是一个非官方的 Ubuntu 软件仓库,提供我们的软件包供下载和安装。 Daily PPA
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 使用这些 Makefile 编译库,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 使用这些 Makefile 编译库。由于我们提供了已编译的 libopenshot-audio 安装位置,因此将使用该版本库,而非系统版本(如果有)。
构建完成后我们不安装 libopenshot ,因为没有必要。出于测试目的,我们可以让 OpenShot 直接使用 build 目录中的 libopenshot 。
语言绑定
libopenshot API 通过 SWIG 绑定支持多种语言。OpenShot 用户界面使用 Python,我们还提供 Ruby 和 Java 绑定。对于希望将视频编辑功能集成到 Godot 游戏引擎的开发者,包含对 Godot 4.4 的实验性支持。所有这些绑定都映射到相同的 C++ 代码库,因此您可以在自己喜欢的环境中编辑视频。
openshot-qt(启动说明)
这是我们的主要 PyQt Python 应用程序。由于它是用 Python 编写的,因此无需编译即可运行。要使用我们新构建的 libopenshot-audio 和 libopenshot 库从源代码启动 OpenShot,请使用以下命令:
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 。同时,欢迎您填写我们的简易` 贡献者表单 <https://forms.gle/CRqkS5tLMJE1V36V8>`_ 并做自我介绍! contributor form