CinelerraCV 项目

作者:Dave Phillips

本周继续我的 Linux 视频编辑器之旅,我评测了 Cinelerra。具体来说,我评测了由 CinelerraCV 项目制作的社区支持版本。


功能集

该程序的功能集非常丰富且令人印象深刻。以下列表是从其众多吸引力中选择的一些:

  • 音频/视频合成 + 编辑。
  • 静态图像平移(“肯·伯恩斯效应”)。
  • 无限轨道。
  • 16 位 YUV 合成。
  • 浮点合成。
  • 自由形式编辑。
  • 批量捕获。
  • 批量渲染。
  • SMP 利用。
  • 实时效果。
  • Quicktime、AVI、MPEG 和图像序列 I/O。
  • OpenEXR 图像。
  • 支持 OGG/Vorbis 音频。
  • 动态余量监控。
  • 支持 LADSPA 插件。
  • 贝塞尔蒙版。
  • 轨道路由。
  • 音频和视频轨道微调。
  • 实时反向音频和视频。
  • 双向、变速擦洗。
  • 多种叠加模式。
  • 嵌套序列。

对于有资源的用户,Cinelerra 支持渲染农场和多显示器。深吸一口气,然后查看 Cinelerra 功能页面 以获取完整列表。

Cinelerra 包括八种转场类型和六十多种视频效果,以及二十种音频效果。视频转场包括预期的溶解、划像和滑动,而单一音频转场是音频交叉淡化器。视频效果包括电视和电影效果、色彩处理、标题和许多酷炫的变形器。如果您对某些效果的含义几乎一无所知,请不要担心,只需在短测试片段中应用它们,看看会发生什么。有如此多的视频变换可供选择,您会一直忙碌,但您会在了解选择性时间平均和反向电视电影效果的同时获得乐趣。

图 1. Cinelerra 2.1CV


版本说明

CinelerraCV 的开发者认为他们的项目是 Heroine Virtual Ltd. 原版 Cinelerra 的一个分支。本文不是探讨分支项目原因的地方,但感兴趣的读者可以查阅题为 为什么 Cinelerra 有两个版本? 的页面以了解整个故事。这里只需注意,Cinelerra 的原始开发者 Adam Williams 并不反对 CinelerraCV 的开发。他继续在 Heroine Virtual 维护他的工作,并偶尔为社区版本做出贡献。


推荐硬件和软件

以下建议是运行 Cinelerra 所需的最低硬件要求:

  • CPU:500 MHz 单核(首选双核和多核系统)。
  • 内存:1GB。
  • 硬盘:200 GB,寻道时间 视频:nVidia 对于 OpenGL 支持是必需的。
  • 音频:任何 ALSA 或 OSS/Free 支持的设备。

这些建议是基本硬件要求。它们允许 Cinelerra 具有一定的灵活性,但在实时混合多个音频/视频流时需要更高的性能。本次评测使用的测试平台包括 AMD 3800+ CPU (2.4 GHz)、快速 350 GB 硬盘、4GB 内存、nVidia 7600GS 显卡和 M-Audio Delta 66 数字音频系统。该系统对于我使用 Ardour 进行音频多轨工作来说已经足够强大,但我认为它接近可用于 Cinelerra 进行严肃工作的硬件的低端。如果您打算处理长视频,您需要更快的 CPU、更多的内存、容量更大的硬盘以及最新最好的基于 nVidia 的视频适配器。

支持的 I/O 硬件包括网络摄像头和支持 Firewire 的摄像机。如果您的视频板具有相应的端口,您还可以将 Cinelerra 与多个显示器一起使用,并使用您的显卡的 TV 输出。

在软件方面,Cinelerra 需要带有最新内核的 Linux,不一定需要实时启用。如果您打算使用视频捕获,请确保您的内核已编译并支持 IEEE1394、Video4Linux (V4L) 以及任何其他与视频相关的设备和功能。内核的默认 ALSA 音频系统对于生产用途来说已经足够好,尽管该程序也支持 OSS/Linux 和 ESD。为了本次评测的目的,我在 Ubuntu Jaunty 下运行 Cinelerra,Ubuntu Jaunty 安装为具有为实时性能优化的自定义构建内核 (2.6.29) 的 32 位系统。我还安装了 UbuntuStudio 项目中与视频相关的软件包,但 Cinelerra 不在其中,所以我决定自己构建和安装它。


安装

Cinelerra 已被打包到各种 Linux 发行版的官方存储库中,但不幸的是,Ubuntu Jaunty 不是其中之一。有关访问第三方存储库的说明可以在 获取 Cinelerra 页面上找到,以及检索 Cinelerra 源代码的说明。

正如我所说,我决定从源代码构建 Cinelerra。以下注释描述了该过程,如果您不打算自己编译 Cinelerra,请跳过本节。该过程并不痛苦,但 Cinelerra 需要满足许多依赖项才能从程序中获得最佳结果。同样,请参阅 Cinelerra 网站以获取完整的详细信息和说明。

我从它的 git 存储库下载了 CinelerraCV 源代码。默认情况下,下载创建了一个名为 my_cinelerra 的目录。我将所有源代码包安装在 $HOME/src 中,所以我输入 ~/src/my_cinelerra 并运行 autogen.sh 脚本来设置 autoconf 工具。该脚本完成时有一些警告,但没有重大问题。接下来,我运行 ./configure --help 来查看编译时选项。我决定一个简单的 ./configure --prefix=/usr 对于我的目的来说就足够了。该阶段顺利完成,所以我运行了 make 并注意错误。

我没有等太久。make 过程很快停止,并显示两条错误消息。第一个消息告诉我 nasm 汇编语言编译器未安装,通过使用 Jaunty 的 Synaptic 包管理器安装该程序可以轻松解决此问题。第二个错误更具挑战性。编译器报告了以下问题:

  ar: .libs/reconmmx.o: No such file or directory

感谢 Google,我发现了这个解决方案:

  cd $HOME/src/my_cinelerra/libmpeg3/video
  nasm -f elf reconmmx.s -o reconmmx.o
  cp reconmmx.o .libs/reconmmx.o 

修复此问题后,make 运行顺利,直到我遇到这个障碍:

  Making all in guicast
  ...
  bcwindowbase.h:94:38: error: X11/extensions/xf86vmode.h: No such file or directory

再次感谢 Google 这个好帮手。我安装了 libxxf86*-dev 和 x11proto-xf86*-dev 的软件包,make 过程顺利运行,直到成功完成。我运行了 sudo make install,瞧,我得到了一个全新的 CinelerraCV 4.1 副本。顺便说一句,这个程序很大,请做好长时间构建的准备。


启动注意事项

在我的试运行中,我收到了这个错误:

  dlphilp@The3800:~$ cinelerra 
  cinelerra: error while loading shared libraries: libquicktimehv-1.6.0.so.1: cannot open shared object file: No such file or directory

显然,Cinelerra 的安装程序没有更新系统库缓存。使用 sudo ldconfig 可以快速解决该问题。顺便说一句,该程序默认安装到 /usr/local 层次结构。如果 Cinelerra 根本无法启动,请将 /usr/local 层次结构添加到您的系统 PATH 语句中:

  export PATH=$PATH:/usr/local/lib:/usr/local/bin

将该行放入您的 $HOME/.bashrc 文件以进行永久修复。

除非您的系统已针对其他目的进行了适当的自定义,否则 Cinelerra 可能会打开并显示有关 shmmax 的警告,shmmax 是 Cinelerra 所需的最大共享内存值。网站推荐以下修复程序用于单个会话:

  sudo echo "0x7fffffff" >/proc/sys/kernel/shmmax

不幸的是,它不起作用。即使以 root 身份运行,我也得到了这个响应:

      bash: /proc/sys/kernel/shmmax: Permission denied

(有人能告诉我为什么会这样吗?)

建议的永久修复解决了问题。我将以下行添加到 /etc/sysctl.conf 中:

    kernel.shmmax = 2147483647

我重新启动了,Cinelerra 启动时没有警告或错误。


配置

在执行任何其他操作之前,您应该设置程序以适应您的系统资源。图 2 和图 3 显示了“设置”菜单中“Cinelerra 首选项”对话框中的选项卡。您可以从这些屏幕截图中看到,Cinelerra 的配置细节非常多且各不相同,但请不要害怕,默认设置通常适合首次使用。您可以随意尝试设置,但您应该意识到某些参数值可能会导致程序崩溃(请参阅我在 Cinelerra 中录制时的注释)。

图 2. Cinelerra 首选项(播放和录制)

图 3. Cinelerra 首选项(性能和 UI)


示例项目

本次评测的示例项目遵循了之前对 Linux NLE 的评测模式,即四个视频剪辑的布局,剪辑内有效果,剪辑之间有转场。正如我之前提到的,我惊讶且有点沮丧地发现 Cinelerra 无法播放我使用 AVSynthesis 程序制作的电影的视频部分。这些电影是 AVI 格式,它们在其他编辑器和播放器中加载和播放都没有问题,而且(目前)我不知道为什么 Cinelerra 不喜欢它们。该程序喜欢我的 MPEG 文件,所以我使用了四个 MPEG 格式的视频。这些视频都包含立体声配乐,但为了本示例的目的,我从视频中删除了音轨。然后,我在最终渲染中添加了一个单独的音轨用于音频(见图 1)。

添加效果或转场很容易,但我花了一些时间来适应 Cinelerra 的方法。效果和转场从“资源”窗口拖到轨道中的剪辑中。添加效果后,您可以右键单击效果图标以打开其参数编辑器,前提是该效果具有任何可编辑的参数(图 4)。转场的添加方式相同,但不幸的是,您不能简单地抓住转场的边界并调整其范围。您需要右键单击转场图标并使用滚动框调整其长度。这当然不是一个困难的方法,但我更喜欢像 Kdenlive 那样直接调整转场标记。

图 4. Cinelerra 中的 FX 参数

Cinelerra 提供音频/视频增益自动化。我非常喜欢这个功能,尽管我希望能够将其值分配给效果和其他因素的参数。这种自动化简化了视频和音频交叉淡化,并允许更精细地控制轨道内的音频/视频电平。据我所知,没有其他 Linux NLE 提供此功能,我希望在所有 NLE 中都能看到它。

顺便说一句,Cinelerra 将在实时播放期间渲染您的效果和转场,但您的硬件必须能够胜任这项任务。速度低于 2 GHz 的机器在实时渲染期间可能会显示出一些压力。

离线渲染对我来说有点问题。Cinelerra 提供了各种输出目标,所以首先我尝试渲染为 Microsoft AVI 格式。Cinelerra 照做了,但程序在渲染完成后崩溃了,并且生成的 AVI 有音频但没有视频。由于我在加载 AVI 时遇到的问题,我对渲染的作品并不感到惊讶。接下来,我尝试了 MPEG 视频格式,但了解到它不会渲染音轨。最后,我选择了 OGG Theora/Vorbis 格式,并制作了我的第一个基于 Cinelerra 的音频/视频杰作(没有使程序崩溃)。好吧,它并没有那么令人印象深刻,但我喜欢它,并且用 Cinelerra 制作它很有趣。

Cinelerra 预测渲染过程的 ETA,并报告渲染所用的时间。我的示例项目大约 2 分 50 秒长,渲染为 Theora 视频花费了 13 分多钟。您的里程肯定会因输入格式、文件长度、效果和转场的数量等而异。


录制

到目前为止,我一直无法从我的网络摄像头或摄像机录制。Cinelerra 提供了一个配置面板来设置外部设备,但我尚未发现完成连接的魔法公式。该程序抱怨各种 V4L 不足,并且在我重新定义录制参数之前出现段错误。段错误停止了,但我仍然无法从网络摄像头录制。我的摄像机似乎运行正常,我看到录制监视器窗口的时钟与摄像机同步,但没有监视或录制视频。鉴于可能的设置种类繁多,我很高兴地声称用户无知,并将继续研究如何在 Cinelerra 中从外部设备录制。有没有其他 Cinelerra 用户的建议?

唉,以我的资源,Cinelerra 的录制功能还有很多不足之处。如上所述,我无法使用我的网络摄像头或摄像机,但这些设备在 Kino、Cheese、Kdenlive 和 LiVES 等程序中运行良好。鉴于它在大多数其他方面都表现出的专业性,这个缺陷相当刺眼(当然,除非缺陷源于椅子和键盘之间的界面)。您可以使用诸如 dvgrab 之类的外部实用程序将您的录制内容从摄像机中取出并放到您的硬盘上,但是这样的实用程序应该可以从 Cinelerra 内部获得。


文档

Cinelerra 拥有广泛而详尽的文档。通信渠道包括用户和开发人员的邮件列表和 IRC,Cinelerra 文档 页面指向文档(HTML、PDF 和 TXT 格式)、印刷和视频教程、示例项目、HOWTO 以及其他相关材料。可以通过在 Google、YouTube、Vimeo 和其他流行的基于 Web 的视频频道上搜索找到更多有用的 Cinelerra 相关材料。


印象和一些愿望

如果您在 Google 上搜索有关该程序的意见,您会发现有关其 UI 和稳定性的抱怨。就我个人而言,我在使用 Cinelerra 的界面时没有遇到任何问题,但稳定性问题不断出现。唉,崩溃是不可预测的,也不容易验证。当我单击效果标题栏中的开/关开关时,Cinelerra 崩溃了,但在重新启动程序后,相同的操作只是切换了开关。我在剪辑末尾添加了一个效果,Cinelerra 崩溃了,我重新启动它,相同的操作工作正常。幸运的是,您可以重新启动 Cinelerra 并从“文件”菜单中选择“加载备份”以恢复您之前的会话,但这种体验可能会令人沮丧。另一个令人沮丧的地方:有时一些转场就是不起作用,我不知道为什么。

尽管发生了崩溃,但我很喜欢使用 Cinelerra。经过一些学习后,我能够像使用 Kdenlive 或 OpenShot 一样轻松地使用该程序。理解其存在理由需要一些努力,但 Cinelerra 的 UI 是可以理解的,工具提示比比皆是,时间线及其效果和转场易于理解和使用等等。

更高的稳定性是我对 Cinelerra 的愿望清单的首位。我还希望看到更多转场的可能性,我希望添加我自己的 LADSPA 音频效果集合,如果录音机可以与我的硬件配合使用,那将很有帮助。在我忘记之前,如果能够将 MIDI 控制器分配给
Cinelerra 的 fx 参数和程序的其他可调部分,那将非常酷。

我知道我开始听起来像鹦鹉学舌,但是像 Cinelerra 这样有抱负的程序真的应该支持 JACK。最好的情况是完全支持 JACK 的音频服务和传输控制系统,但我会满足于音频服务。唉,我评测过的 NLE 似乎都是独立的,没有可能连接到外部处理器,而外部处理器可以极大地增强主机的创作潜力。Cinelerra 也不例外,尽管它拥有自己令人尊敬的音频和视频信号处理器集合。很容易想象通过 Cinelerra 中的辅助发送/返回运行 JACK-Rack 的可能性,或者将 Cinelerra 与 Ardour 同步以获得扩展的音频编辑套件。

总的来说,我感觉我对 Cinelerra 的态度经历了三个阶段。在第一阶段,我克制了批评,因为我正在学习如何使用该程序。在下一阶段,我对 Cinelerra 的功能感到兴奋,并且愿意忽略其不稳定性。到了最后阶段,我发现我对该程序感到太沮丧,以至于不想每天使用它。我仍然喜欢和享受 Cinelerra,并且我打算关注和测试 CinelerraCV 项目的工作。但是,它对我来说既太多又不够用。例如,虽然我不需要渲染农场之类的功能,但我确实需要支持我的视频捕获硬件。如果您的项目规模不大且可能保持如此,那么 Cinelerra 可能对您来说绰绰有余。另一方面,它是免费的,并且它提供了一个自由探索独特视频编辑器的机会。


淡出为黑

我希望您喜欢这次 Cinelerra 的微型之旅。当然,该程序中还有更多值得探索的地方,我希望您受到启发,在自己的工作室中尝试一下。顺便说一句,我有兴趣听取其他 Cinelerra 用户的意见,因此请随时描述您对它的想法和感受。“评论”部分已打开,等待您的输入。

即将到来:更多 Linux NLE 的评测和简介,更多来自 Linux 音频世界的资讯,您只需在两周后再次收看,即可找到我可能在这里写些什么。在那之前,请保持关注,注意您的时机,永远不要过早行动。

加载 Disqus 评论