NLE Video Editors
In alphabetical order, we evaluate Broadcast 2000, Crow, Kino, LVE, MainActor and Trinity. Except for MainActor, all are open-source software. Especially intriguing are Kino, a highly regarded DV editor that just released a new version, and LVE, a little-known German-made MPEG editor.
Broadcast 2000 has been removed by the developer from its main web site, making some think that it is no longer exists, but video systems integrator Linux Media Arts (LMA) still offers it. LMA President Mike Collins says, “We want to continue development of Broadcast 2000, both as a free, open-source project and as bundled commercial software with provided support.” Collins says he is trying to arrange putting Broadcast 2000 on SourceForge.net, but until then, anyone may contact him directly about downloading it. Broadcast 2000 is available as an RPM or a source tarball.
Broadcast 2000 was featured in the January 2001 issue of Linux Journal [see Adam Williams' article “Moviemaking on a Linux Box? No Way!”]. Our installation is a little different because our distribution isn't Red Hat, but Debian. Let's convert the Red Hat-compatible RPM into a Debian deb (Listing 1).
Alien works well at converting RPM archives into deb format, but it doesn't find shared libraries that are in nonstandard locations (note the warning from Alien that it can't find libbcbase.so). You will need to remember that after installing the deb with dpkg. Once Broadcast 2000 is installed, search for the lost DLL and add its directory path to your ld.so.conf. Then run ldconfig to update the runtime linker settings. Otherwise, the program won't run because it won't be able to find its shared libraries.
Broadcast 2000 record formats include WAV, PCM, QuickTime and JPEG image sequence. The supported QuickTime (MOV) types are JPEG photo, motion JPEG A, PNG, PNG with alpha, uncompressed RGB, uncompressed RGBA, YUV 4:2:0 planar and YUV 4:2:2 packed. That's a lot of formats, but they aren't as compatible with other tools and operating systems as you might expect.
Crow is a project by Eric Fry in Australia. Although only an alpha version, we still were curious to try Crow. It is only available for download via the CVS version control system.
Our Linux box is on a Windows network behind a Windows firewall with Cox cable modem. We would have to configure our firewall to pass CVS. Using Telnet we checked that we could reach SourceForge.net CVS port 2401 manually. We then created a 2401 TCP wrapper in WinGate on our SOHO firewall machine (named gap). Our TCP wrapper was set to point to cvs.Crow.sourceforge.net.
Attempting a CVS login from my Linux box (tbird) failed—something about .cvspass not being configured correctly on that machine. However, we were able to do a CVS checkout. That was all we actually needed.
cvs -z3 -d:pserver:anonymous@gap:/cvsroot/crow co crow
If we hadn't been drilling through our firewall, the CVS command would have specified cvs.Crow.sourceforge.net rather than gap.
Crow objected that it had the wrong libtool ltconfig version, but we fixed that with libtoolize:
libtoolize --force aclocal ./configure make
No dice—the Crow make failed because an include file couldn't find gtk/gtk.h. The Makefiles didn't have the paths configured in a generic way to point to the GTK++ GUI headers, and our GTK++ files were installed in a different directory. This called for a little autoconf surgery. We added GNOME_INIT to configure.in so it would emit the GTK_CFLAGS and GTK_LIBS variables. Then we substituted those variables, e.g., $(GTK_CFLAGS), in 14 different Makefile.am files used by Crow. After regenerating the configure file, Crow built. Bingo, we got it!
aclocal autoconf ./configure make ulimit -c unlimited ./app/crowWe didn't do a make install of Crow because the INSTALL file had warned us not to. We set ulimit to be able to generate core files if we had a crash. And, when we ran Crow it immediately crashed with a segmentation fault. Let's debug that using the gdb debugger:
gdb app/.libs/lt-crow core > btBecause ./app/crow is a script, we had to figure out the actual name of the executable to load in gdb. Running a backtrace (bt) to examine the function stack didn't do us any good at this point because there was no debug information in our build. We first would have to rebuild with debug enabled:
make clean make -e ?CC=gcc -g?Now we could load gdb again and see the relevant call stack and source code. That immediately revealed that the crash was due to a null pointer variable dir in app/plug_in.c on line 275. We simply inserted a line there to return from the function before using the variable if it was 0:
if(!dir) return 0;Crow is very much an alpha and too incomplete for use. Fry says that his files on SourceForge.net are an old version and that he is planning to rewrite it. He wants to talk with others interested in designing an editing application for Linux from the ground up. “I'd like to have a fully featured editor capable of doing real-world editing tasks like 3:2 pull-down, EDL output database clip management and HD playback”, says Fry.
Practical Task Scheduling Deployment
One of the best things about the UNIX environment (aside from being stable and efficient) is the vast array of software tools available to help you do your job. Traditionally, a UNIX tool does only one thing, but does that one thing very well. For example, grep is very easy to use and can search vast amounts of data quickly. The find tool can find a particular file or files based on all kinds of criteria. It's pretty easy to string these tools together to build even more powerful tools, such as a tool that finds all of the .log files in the /home directory and searches each one for a particular entry. This erector-set mentality allows UNIX system administrators to seem to always have the right tool for the job.
Cron traditionally has been considered another such a tool for job scheduling, but is it enough? This webinar considers that very question. The first part builds on a previous Geek Guide, Beyond Cron, and briefly describes how to know when it might be time to consider upgrading your job scheduling infrastructure. The second part presents an actual planning and implementation framework.
Join Linux Journal's Mike Diehl and Pat Cameron of Help Systems.
Free to Linux Journal readers.View Now!
|The Firebird Project's Firebird Relational Database||Jul 29, 2016|
|Stunnel Security for Oracle||Jul 28, 2016|
|SUSE LLC's SUSE Manager||Jul 21, 2016|
|My +1 Sword of Productivity||Jul 20, 2016|
|Non-Linux FOSS: Caffeine!||Jul 19, 2016|
|Murat Yener and Onur Dundar's Expert Android Studio (Wrox)||Jul 18, 2016|
- The Firebird Project's Firebird Relational Database
- Stunnel Security for Oracle
- My +1 Sword of Productivity
- SUSE LLC's SUSE Manager
- Managing Linux Using Puppet
- Non-Linux FOSS: Caffeine!
- Murat Yener and Onur Dundar's Expert Android Studio (Wrox)
- Google's SwiftShader Released
- Parsing an RSS News Feed with a Bash Script
- Doing for User Space What We Did for Kernel Space
With all the industry talk about the benefits of Linux on Power and all the performance advantages offered by its open architecture, you may be considering a move in that direction. If you are thinking about analytics, big data and cloud computing, you would be right to evaluate Power. The idea of using commodity x86 hardware and replacing it every three years is an outdated cost model. It doesn’t consider the total cost of ownership, and it doesn’t consider the advantage of real processing power, high-availability and multithreading like a demon.
This ebook takes a look at some of the practical applications of the Linux on Power platform and ways you might bring all the performance power of this open architecture to bear for your organization. There are no smoke and mirrors here—just hard, cold, empirical evidence provided by independent sources. I also consider some innovative ways Linux on Power will be used in the future.Get the Guide