NLE 视频编辑器
我们按字母顺序评估了 Broadcast 2000、Crow、Kino、LVE、MainActor 和 Trinity。除了 MainActor,所有这些都是开源软件。尤其引人入胜的是 Kino,这是一款备受推崇的 DV 编辑器,刚刚发布了新版本;以及 LVE,这是一款鲜为人知的德国制造的 MPEG 编辑器。
Broadcast 2000 已被开发者从其主网站移除,这让一些人认为它已不复存在,但视频系统集成商 Linux Media Arts (LMA) 仍然提供它。LMA 总裁 Mike Collins 说:“我们希望继续开发 Broadcast 2000,既作为一个免费开源项目,也作为捆绑式商业软件并提供支持。” Collins 说他正在尝试安排将 Broadcast 2000 放在 SourceForge.net 上,但在那之前,任何人都可以直接联系他下载。Broadcast 2000 可以作为 RPM 或源代码 tarball 获取。
Broadcast 2000 曾在 2001 年 1 月刊的Linux Journal [参见 Adam Williams 的文章“在 Linux 机器上制作电影?没门!”] 中专题报道。我们的安装略有不同,因为我们的发行版不是 Red Hat,而是 Debian。让我们将 Red Hat 兼容的 RPM 转换为 Debian deb(列表 1)。
列表 1. 将 Red Hat 兼容的 RPM 转换为 Debian deb
Alien 在将 RPM 归档文件转换为 deb 格式方面表现良好,但它找不到非标准位置的共享库(请注意来自 Alien 的警告,它找不到 libbcbase.so)。您需要记住在安装带有 dpkg 的 deb 后。一旦 Broadcast 2000 安装完成,搜索丢失的 DLL 并将其目录路径添加到您的 ld.so.conf。然后运行 ldconfig 以更新运行时链接器设置。否则,程序将无法运行,因为它将无法找到其共享库。
Broadcast 2000 记录格式包括 WAV、PCM、QuickTime 和 JPEG 图像序列。支持的 QuickTime (MOV) 类型包括 JPEG 照片、运动 JPEG A、PNG、带 alpha 的 PNG、未压缩 RGB、未压缩 RGBA、YUV 4:2:0 平面和 YUV 4:2:2 打包。格式很多,但它们与其他工具和操作系统的兼容性可能不如您预期的那样。
Crow 是澳大利亚 Eric Fry 的一个项目。虽然只是一个 alpha 版本,但我们仍然很好奇尝试 Crow。它仅可通过 CVS 版本控制系统下载。
我们的 Linux 机器位于 Cox 电缆调制解调器后面的 Windows 防火墙后面的 Windows 网络上。我们将不得不配置我们的防火墙以允许 CVS 通过。使用 Telnet 我们检查了我们可以手动访问 SourceForge.net CVS 端口 2401。然后我们在我们 SOHO 防火墙机器(名为 gap)上的 WinGate 中创建了一个 2401 TCP 包装器。我们的 TCP 包装器设置为指向 cvs.Crow.sourceforge.net。
尝试从我的 Linux 机器 (tbird) 进行 CVS 登录失败 — 有关 .cvspass 在该机器上配置不正确的问题。但是,我们能够进行 CVS 检出。这实际上就是我们所需要的。
cvs -z3 -d:pserver:anonymous@gap:/cvsroot/crow co crow
如果我们没有穿透我们的防火墙,CVS 命令将指定 cvs.Crow.sourceforge.net 而不是 gap。
Crow 反对它使用的 libtool ltconfig 版本错误,但我们使用 libtoolize 修复了它
libtoolize --force aclocal ./configure make
没用 — Crow make 失败了,因为一个包含文件找不到 gtk/gtk.h。Makefiles 没有以通用方式配置路径以指向 GTK++ GUI 标头,并且我们的 GTK++ 文件安装在不同的目录中。这需要进行一些 autoconf 手术。我们将 GNOME_INIT 添加到 configure.in,以便它发出 GTK_CFLAGS 和 GTK_LIBS 变量。然后我们在 Crow 使用的 14 个不同的 Makefile.am 文件中替换了这些变量,例如 $(GTK_CFLAGS)。在重新生成 configure 文件后,Crow 构建成功。宾果,我们成功了!
aclocal autoconf ./configure make ulimit -c unlimited ./app/crow我们没有对 Crow 进行 make install,因为 INSTALL 文件警告我们不要这样做。我们设置 ulimit 以便在我们崩溃时能够生成核心文件。而且,当我们运行 Crow 时,它立即因段错误而崩溃。让我们使用 gdb 调试器调试它
gdb app/.libs/lt-crow core > bt由于 ./app/crow 是一个脚本,我们必须找出要加载到 gdb 中的可执行文件的实际名称。运行回溯 (bt) 以检查函数堆栈对我们没有好处,因为我们的构建中没有调试信息。我们首先必须启用调试重新构建
make clean make -e ?CC=gcc -g?现在我们可以再次加载 gdb 并查看相关的调用堆栈和源代码。这立即揭示了崩溃是由于 app/plug_in.c 第 275 行的空指针变量 dir 造成的。我们只是在那里插入一行,以便在变量为 0 时在使用该变量之前从函数返回
if(!dir) return 0;Crow 非常像一个 alpha 版本,太不完整,无法使用。Fry 说他在 SourceForge.net 上的文件是旧版本,他计划重写它。他想与有兴趣从头开始为 Linux 设计一个编辑应用程序的其他人交谈。“我希望有一个功能齐全的编辑器,能够执行实际的编辑任务,如 3:2 下拉、EDL 输出数据库剪辑管理和高清播放”,Fry 说。
Kino 是一款简单的仅剪切 DV 编辑器。Kino 刚刚发布了 0.50 版本,这是一个主要的新版本。要安装 Kino,您首先必须安装许多驱动程序。这,以及安装一些其他可用的 DV 相关程序,构成了一个相当复杂的过程。

Kino 是一款流行的 Linux DV 编辑器,刚刚发布了新版本。
说明建议使用最新的内核以获得最佳的 IEEE 1394 FireWire DV 支持。使用 make xconfig,我们起初感到困惑,因为 IEEE 1394 选项灰显且无法选择。在配置我们的 2.4.14 内核时,我们首先必须选择代码成熟度菜单选项以启用 1394 菜单。
以下是接下来的驱动程序:libavc1394-0.3.1.tar.gz、libdc1394-0.8.3.tar.gz、libraw1394_0.9.0.tar.gz、libdv-devel-0.9-1.i386.rpm 和 libdv-0.9-1.i386.rpm。
对于 tarball 文件,让我们遵循标准程序
tar xvfz libdc1394-0.8.3.tar.gz cd libdc1394-0.8.3 ./configure make su make install
那些以 RPM 文件形式提供的,我们使用 Alien 安装。如果您从 tarball 文件构建 libdv,您将需要首先安装 pkg-config 以成功运行 configure。
库包含一些简单的工具。libraw1394 包含 testlibraw。让我们从它开始,看看它是否检测到我们的 FireWire 卡。我们的 Athlon PC 中有两张 FireWire PCI 卡,一张 PYRO 卡和一张随 FireWire 扫描仪附带的无名 FireWire 卡。两者都符合 OHCI 标准,并且检测正常。但是,我们必须 chmod 设备以获得普通用户的权限访问。
chmod 666 /dev/raw1394 ./src/testlibraw successfully got handle current generation number: 3 2 card(s) found nodes on bus: 1, card name: ohci1394 nodes on bus: 1, card name: ohci1394 using first card found: 1 nodes on bus, local ID is 0, IRM is 63 , , ,
libavc1394 romtest 程序枚举任何连接的 FireWire 设备的 ROM 信息。它可以正确检测到我们的 Sony TRV8 DV 摄像机。
libavc1394 包含 dvcont,一个用于 DV 摄像机的遥控器。首次使用 dvcont 时,请指定 dvcont help,以便您知道命令是什么。如果 dvcont 找不到其驱动程序,它会立即退出,甚至不会显示帮助。您可能需要 modprobe video1394 和 raw1394。在未指定命令的情况下,dvcont 不执行任何操作。当您的摄像机处于播放模式时,执行 dvcont stop 会导致摄像机停止。其他摄像机功能也有类似的命令。
libdv 包含 playdv 和 encodedv,但两者都因段错误而崩溃。这些程序应该播放或编码 .dv 文件。
以下是一些可能有用的可用 DV 程序:dvgrab-1.01.tar.gz、gscanbus-0.6.tgz 和 gstreamer-0.2.1.tar.gz。
我们无法构建 coriander 或 gscanbus。gstreamer 构建成功,尽管花费了很长时间,然后因段错误而崩溃。我们真正想要从这组工具中获得的是 dvgrab,以便我们可以对 DV 捕获进行控制台测试。由于它没有阻止我们使用 Kino,我们没有停下来调查为什么我们在某些 DV 工具方面遇到问题。
dvgrab 实用程序会将摄像机上播放的视频复制到您的 PC。它没有设备控制,这意味着如果摄像机未处于播放模式,dvgrab 只会等待。如果未检测到 FireWire DV 流,它将不会执行任何操作。
dvgrab --frames 30 test ls -l test* -rw-r--r-- 1 rower rower 2471424 Nov 17 17:27 test001.avi
我们抓取了一秒钟的视频作为测试。它被 dvgrab 保存为包装在 AVI 传输中的 DV 流。Arne Schirmacher 创建了 dvgrab 和 Kino。
我们最初构建了 0.46 版本的 Kino (kino-0.46.tar.gz),但在我们的评估期间发布了 0.5 (kino-0.5.tar.gz)。起初我们在构建 Kino 时遇到问题,因为 configure 找不到 gnome-config。这似乎很奇怪,因为我们已经安装了 GNOME(在 Debian Sid 上)。在 dpkg 中搜索它应该在 libgnome-dev 中报告 gnome-config(如下所示),但我们一无所获。
dpkg -S gnome-config libgnome-dev: /usr/include/libgnome/gnome-config.h libgnome-dev: /usr/bin/gnome-config libgnome-dev: /usr/share/man/man1/gnome-config.1.gz
Kino 开发者 Dan Dennedy 建议我们安装 Ximian GNOME,因为那是他的配置。因此,我们添加了指向我们的 sources.list 的链接并安装了它
vi /etc/apt/sources.list deb http://red-carpet.ximian.com/debian stable main . . . apt-get update apt-get install task-ximian-gnome安装 Ximian 与已安装的 GNOME 组件产生了大量冲突。我们不得不卸载许多被 apt-get 报告为损坏的软件包。实际上,这花费了更多精力,但此处显示的示例代表了该过程的要点。令人惊讶的是,似乎是 GNOME GTK 文档使我们的安装最为困难。最终,我们安装了 Ximian 以及 Ximian GNOME 开发库。Kino 构建没有问题。
dpkg -r libgnome-dev apt-get build-dep libgtk1.2-dev dpkg -r libgtk1.2-doc apt-get -f install apt-get install libxml2Kino 基于 vi 命令集的隐喻。行、单词和字符的命令变成了电影、剪辑和帧。使用 d0 设置入点,使用 d$ 设置出点。
Dennedy 说:“新版本的 Kino 是一个主要的重写版本,具有新的用户界面、没有多个浮动窗口以及更像 iMovie 的故事板视图。您会注意到界面上更一致。” Dennedy 说 Kino 团队有一位新的开发者 Charles Yates,他是 0.5 版本的主要力量。
Dennedy 指出,Kino EDL 采用 XML SMIL 格式,声音支持基于 OSS 接口。由于大多数声卡不支持多次打开,esound 仅支持 SBLive! 卡。Contour ShuttlePro USB 控制器(125 美元)提供了一个方便的设备来控制 Kino,绕过了基于 vi 的界面。Kino 支持 XVideo 以获得更好的预览性能,但我们不得不关闭该功能,因为预览窗口永久性地卡在我们的桌面上。这似乎是由于我们安装了错误版本的 ati.2 驱动程序,而不是一般的 XVideo 问题。
Kino 可以处理 DV1 或 DV2 AVI 文件,但不能处理原始 DV 文件 (.dv)。您选择的格式会影响与其他工具的兼容性。Dennedy 解释说:“Windows Media Player (WMP) 和 Linux Avifile 将播放 DV2 AVI 格式,前提是安装了 Microsoft DLL。这被称为 qdve.dll。MPlayer 也可以播放这些,但需要在其配置文件中添加一行。” Dennedy 指出,WMP 也可以处理 DV1 AVI。他说 MainActor 可以处理 DV,但没有 DV 摄像机 I/O。
dv2jpeg 等工具可以帮助您在格式之间移动。Dennedy 补充说:“mjpegtools 可以读取 DV AVI 以创建 VCD;mjpegtools 支持 MPEG-1 VCD 和 MPEG-2 SVCD。Kino 即将导出基于 FFmpeg 的 MPEG-1 和 MPEG-4 格式,但 FFmpeg 目前缺少 MPEG-2。” 而且,mjpegtools 可以分离 DV 音频。transcode 工具会将 DV AVI 转换为 OpenDivX。
Dennedy 对 Kino 现在支持 DV 导出回摄像机感到兴奋。他说 Kino 是除了 libdv 控制台程序之外,唯一提供此功能的 DV 应用程序。Kino 不提供日志记录模式,Dennedy 预计不会很快推出。他说,该功能对团队来说不如添加特效那么有趣,并且正在开发新的 dv1394 驱动程序,该驱动程序将在电视监视器中提供擦洗预览。他还说 Kino MPEG 导出即将推出,但没有计划与 Film GIMP 集成。
Linux Video Editor (LVE) 开发者 Gerhard Monzel 说:“预期目的是剪切 MPEG 并编码为 (S)VCD。” Monzel 在德国圣英贝特的 SAP 担任系统管理员。LVE 文档全部为德语。“LVE 基于一些免费软件库:libmpeg3 用于搜索和解码 MPEG,libsdl 作为我的 GUI 的基础”,Monzel 说。“其余的是自制的。” 他说支持多种 MPEG 格式(MPEG-1 和 MPEG-2),包括 VOB 和 IFO,但不包括 DVB。他的 GUI 设计受 Pinnacle Studio MP10 的影响。
LVE 仅剪切 — 无特效,无标题。请注意,无论源素材是 PAL 还是 NTSC,输出始终为 PAL。NTSC 源必须使用 sox 进行处理,以纠正帧速率,从而改变音频音调。LVE 没有安装程序。tarball 必须在根目录中解压缩
cd / tar xvfz /install/public/nle/lve/ lve_bin-31-10-01.tar.gz ls /usr/local/lve/bin bbainfo bbinfo bbvinfo ffmpeg_lve gensmart lmp mplex toolame bbdmux bbmplex encode genmpg gensvcd lve qdir chmod 666 /usr/local/lve/lib/SystemFont.bmp ./lve
MainActor 是我们查看的唯一闭源应用程序。我们使用 Alien 从 RPM 安装了它,遵循与 Broadcast 2000 几乎相同的程序。
MainActor 可以添加标题(2D 和 3D 文本)和编辑电影。它提供视频转场和音频效果。评估版本会在您的视频上写入“MainActor”,直到您购买注册副本。MainActor 包括以下程序:maseq (NLE)、mave (动画转换器)、macap (V4L MJPEG 捕获) 和 lmatool (控制台视频文件转换器)。文档位于 /usr/share/doc/Packages/MainActor。
Trinity 编辑器和维护者 Chris Hardy 说它具有基本的 MPEG 和音频支持。Trinity 也可以理解图像帧文件序列。“源代码已经两年没有被修改过了”,Hardy 说。“我已经有一段时间没有收到开发者的消息了,该项目一直处于停滞状态。” GUI 是 Hardy 喜欢 Trinity 的一点。
在构建 Trinity 0.5 时,我们修复了几个小的编译错误和一个严重的错误。我们将更正发送给 Hardy。由于与商业产品冲突,Trinity 必须重命名,Hardy 希望一位有兴趣从事 NLE 工作的开发者加入该项目,以便它可以向前发展。
计算机在编辑电影方面具有很大的优势,因为它们可以轻松地乱序编辑或删除或添加场景 — 这就是为什么它被称为非线性编辑。非线性编辑器用于编辑视频序列以创建电视节目和电影。
在检查 Broadcast 2000、Crow、Kino、LVE、MainActor 和 Trinity 时,我们已经查看了一些 Linux 中可用的视频工具,但几乎不是全部。FFmpeg、GAnSO、Gnonlin、Jahshaka、Linux Video Studio、matterial、mpgtx、mpegcut 和 SAMPEG-2 提供了更多选择。
我们将来要评估的两种商业(昂贵)工具是 Nothing Real Shake 和 Silicon Grail RAYZ。这些工具用于为许多好莱坞电影添加特效。在主要电影中使用的一个主要开源工具是 Film GIMP,它用于《哈利·波特》、《猫狗大战》、《指环王》等。我们下次将关注 Film GIMP。
电子邮件: Robin.Rowe@MovieEditor.com
Robin Rowe (robin.rowe@movieeditor.com) 是 MovieEditor.com 的合伙人,MovieEditor.com 是一家创建互联网和广播视频应用的技术公司。他曾为《Dr. Dobb's Journal》、《C++ Report》、《C/C++ Users Journal》和《Data Based Advisor》撰稿。