OpenShot 简介
正如承诺的那样,我继续研究和测试 Linux 的桌面视频编辑器。本周我们将关注基于 GTK 的项目 OpenShot。
它是什么
OpenShot(图 1)是一款视频非线性编辑器 (NLE)。“非线性”限定词仅表示您可以按任意顺序或在任意时间点播放、编辑和混合视频素材。除了这种随机访问之外,现代数字 NLE 通常是非破坏性的,因此允许自由试验编辑和效果,同时保持原始素材的原始状态。

功能特性
您可以在 OpenShot Features 页面上查看 OpenShot 功能特性的完整列表。对于没有耐心的读者,这里有一个简短的概述
- 多轨道布局模式。
- 片段编辑:调整大小、修剪、捕捉到网格、剪切。
- 带有实时预览的视频转场。
- 合成、图像叠加、水印。
- 标题模板、标题创建。
- SVG 友好,用于创建和包含标题和演职员表。
- 滚动电影演职员表。
- 纯色片段(包括 Alpha 合成)。
- 支持 Rotoscoping/图像序列。
- 帧步进、按键映射:J、K 和 L 键。
- 视频编码(基于 FFmpeg)。
- 关键帧动画。
- 视频片段的数字缩放。
- 片段速度更改(慢动作等)。
- 自定义转场亮度遮罩和蒙版。
- 关键帧动画和布局的预设。
- “Ken Burns 效果”(通过平移静态图像制作视频)。
- 超过 20 种数字视频效果。
对于从 OpenShot 团队的列表中摘取内容,我深感抱歉。我能说什么呢,这是一个很有吸引力的列表。
安装与配置
OpenShot 可能在您的 Linux 发行版的软件仓库中,因此在您尝试自行构建程序之前,请先在那里查找。OpenShot 编译和安装并不困难,但我发现它的依赖项存在某些问题,这些问题会严重影响其性能。
OpenShot 需要我的Kdenlive 评测中描述的 MLT 软件,并且还需要支持 Python。python-mlt 模块可从 Ubuntu Jaunty 仓库获得,但构建带有 Python 绑定的 MLT 也不困难。以下命令行将创建所需的模块
./configure --prefix=/usr --aviformat-swscale --enable-gpl --swig-languages=python
此命令序列与我在关于 Kdenlive 的文章中描述的命令序列相同,但添加了 SWIG Python 支持。
OpenShot 易于安装。在 OpenShot 源代码的顶层目录中运行以下命令
sudo python setup.py install
OpenShot 将安装到 /usr 目录层次结构中。现在,您可以通过单击其菜单项或在终端提示符下运行 openshot 命令来启动程序。如果一切安装正确,您很快就会看到如图 1 所示的 OpenShot 主显示界面。唉,我没有那么幸运。
当我尝试启动 OpenShot 时,我收到了以下错误消息
dlphilp@The3800:~$ openshot Added /usr/share/openshot to system path -------------------------------- OpenShot (version 0.9.52) -------------------------------- *** ERROR: MLT Python bindings failed to import *** *** ERROR: MLT Python bindings failed to import *** Exception in thread Thread-1: Traceback (most recent call last): File "/usr/lib/python2.6/threading.py", line 525, in __bootstrap_innerself.run() File "/usr/share/openshot/classes/thumbnail.py", line 174, in run mlt.Factory().init() NameError: global name 'mlt' is not defined ------------------------------------------------------- Error: OpenShot has not been installed in the Python path. (Both the site-packages and /usr/share/openshot folders were checked) Use the following command to install OpenShot: $ sudo python setup.py install
经过一番研究,我发现直接使用 sudo make install 不足以正确安装 MLT 软件。我发现 MLT 用于语言绑定的 Makefile 包含安装指令,但没有安装目标。因此,模块被构建但未被安装。
根据 OpenShot 开发人员 Jonathan Thomas 的建议,我手动将三个文件从 ~/src/mlt/src/swig/python 复制到 /usr/lib/python2.6/site-packages 目录。所需的文件是 _mlt.so 共享库、mlt.py Python 模块和 mlt_wrap.o 目标文件。我再次运行 openshot 命令,程序再次产生相同的错误消息并且无法打开。
此时我怀疑是 Python PATH 的问题,所以我运行了以下命令
echo $PYTHONPATH
结果是一个空字符串,证明我的 Ubuntu Jaunty Python 环境中没有定义 PYTHONPATH。Python 本身肯定已正确安装,但如果没有定义的 PYTHONPATH,其模块将无法供 OpenShot 使用。我使用以下命令定义了该路径
export PYTHONPATH=$PYTHONPATH:/usr/lib/python2.6/site-packages/
我再次尝试启动 OpenShot,这次程序终于成功打开(图 1)。最后,我可以见到并欢迎 OpenShot 了。
使用
定义我们应该对 OpenShot 这样的编辑器抱有什么期望可能很有用。以下功能和操作可能被认为是任何 NLE 的基本功能
- 加载和播放各种格式的视频和音频片段。
- 在多轨道模式下排列和混合片段。
- 剪切/复制/粘贴片段内部和片段之间的素材。
- 在片段内添加效果。
- 在轨道之间添加转场效果。
- 将混合导出为针对各种目标(Web、移动设备、DVD、文件等)定义的视频格式。
正如上面“功能特性”列表中所见,OpenShot 支持这些基本功能,以及一些更高级的功能和一些有趣的自身特点。
在其基本操作中,OpenShot 与 Kdenlive 相似。这两个程序都设计有集成的 UI,其中单个片段编辑和项目多轨道编辑都在同一显示界面中完成。这种设计有利于快速的“来回”工作流程,并且是非线性视频编辑器的出色设计。
OpenShot 仅包含少量编辑工具,但其中一些工具是该程序独有的。奇怪的是,它们在“编辑”菜单下不可用 - 您需要右键单击轨道中的文件才能调用包含这些工具的弹出菜单。基本编辑包括片段复制、动画(此处未测试)和移除。“切片和切块”控件添加了一些不寻常的功能,这些功能看起来很有前景,但我尚未发现它们有用。可以通过使用鼠标单击和拖动来在轨道内部和轨道之间自由定位片段,并且“Shift Clips”工具允许精确定位的。


当您完成最终混音后,就该导出您的作品了。在相机图标的右侧有一个红色按钮,单击它可以调出“导出视频”对话框。图 2 和图 3 说明了可用于微调输出的简单和高级选项。与 Kdenlive 和其他编辑器一样,各种预设可用于快速生成 YouTube 或 DVD 等热门目标所需的格式的视频。如果您对这些预设不满意,您可以在“高级”选项卡中自定义设置。顺便说一句,OpenShot 中的渲染与其他我测试过的 NLE 相当。各种因素都会影响渲染时间,因此不要期望高分辨率视频文件(每个文件都有自己的高清立体声音轨)的混合能获得快速的结果。

我使用四个 AVI 文件(每个文件都带有音频)组成了一个项目,并应用了三个转场和其他效果(图 4),然后我将混合渲染为用于 DVD 的 VOB 文件。混合时长略多于 4 分钟,使用 2.4 GHz CPU 渲染耗时略多于 8 分钟。实际情况肯定会因片段文件类型、所用转场和效果的种类和数量、所选输出格式等而异。
音频方面
OpenShot 导入 WAV、OGG、MP3 和其他格式的音频文件。不提供集成的音频编辑支持,也没有调用外部编辑器。可以将声音文件添加到多轨道时间线中并自由定位,以便为您的视频文件添加或替换音频。“片段属性”对话框包含一个“音频”选项卡,允许调整音量并添加淡入/淡出控件,但不提供特殊效果(例如,混响、合唱、移相器等)。简而言之,您可能需要在将音频文件添加到项目之前对其进行准备。
音频驱动程序支持显然仅限于默认系统,默认系统可能是 ALSA 或 PulseAudio。遗憾的是,尚不支持 JACK。我意识到专业的音频支持在视频编辑器中不是特别高的优先级,但我们期待 Linux NLE 的设计人员意识到 JACK 是他们音频救赎的关键的那一天。
缺少什么
在 0.9.52 版本中,OpenShot 缺少一些我在其他 NLE 中发现非常有用的功能。目前尚不支持通过外部设备(如网络摄像头或摄像机)输入,因此所有素材必须是受支持的视频文件格式才能导入 OpenShot。我错过了直接调整转场大小的功能,即无需切换工具。我还发现添加效果的方法相当笨拙(您必须打开片段的“属性”对话框才能添加和编辑它们)。OpenShot 的 UI 界面干净且井井有条,但如果为其基本命令和功能添加一些键盘绑定会更好。
文档
截至 2009 年 11 月初,该项目需要一个论坛和/或邮件列表,供开发人员和用户使用。目前,OpenShot 使用 Launchpad 作为其主要的沟通渠道,对于普通用户之间的沟通而言,这不是一个特别有效的解决方案。开发人员意识到该解决方案的不足之处,希望我们很快能看到 Wiki 和其他专门用于推广和使用 OpenShot 的渠道。同时,OpenShot 网站提供了一些有用的教学视频链接。更多视频示例可在 YouTube 和 Vimeo 上找到。
当我单击“帮助”菜单的“内容”项时,我收到此错误
The requested URI "ghelp:/usr/share/gnome/help/openshot/C/openshot.xml" is invalid.
实际上,openshot 目录在指定的路径中不存在。此外,我无法找到请求的 XML 文件。
事实上,OpenShot 很容易“边做边学”,但新手可能希望澄清术语和流程。该程序的工具提示很有帮助,但在我看来,NLE 的文档应该提供一些基本的通用说明和描述,以及特定于应用程序的帮助。指向良好信息来源的指针将不胜感激,例如,指向 Wikipedia 上关于 NLE 和 合成的文章的链接。再次强调,专用的沟通渠道或站点将对新用户和经验丰富的用户都有很大的帮助。
结论
在 0.9.52 版本中,该程序非常稳定,我在测试期间没有遇到任何崩溃。在我看来,OpenShot 正朝着成为一个有吸引力且功能强大的编辑器的方向发展。目前,它缺少一些我在其他 NLE 中喜欢的功能,但我怀疑其开发人员会在适当的时候添加这些功能和其他功能。像许多类似的项目一样,OpenShot 需要外部帮助,因此,如果您想帮助制作高质量的基于 GTK 的视频 NLE,您可以考虑加入 OpenShot 的行列。欢迎编码人员,但该程序的其他方面也需要关注。请与开发人员联系,了解您的才能如何在该项目中得到运用。
结尾
我将在几周后回来,带来更多来自 Linux 音频和视频软件世界的资讯。我计划评测更多 Linux NLE,敬请关注下一集精彩内容。