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.
|Dynamic DNS—an Object Lesson in Problem Solving||May 21, 2013|
|Using Salt Stack and Vagrant for Drupal Development||May 20, 2013|
|Making Linux and Android Get Along (It's Not as Hard as It Sounds)||May 16, 2013|
|Drupal Is a Framework: Why Everyone Needs to Understand This||May 15, 2013|
|Home, My Backup Data Center||May 13, 2013|
|Non-Linux FOSS: Seashore||May 10, 2013|
- RSS Feeds
- Making Linux and Android Get Along (It's Not as Hard as It Sounds)
- Using Salt Stack and Vagrant for Drupal Development
- Dynamic DNS—an Object Lesson in Problem Solving
- New Products
- Validate an E-Mail Address with PHP, the Right Way
- Drupal Is a Framework: Why Everyone Needs to Understand This
- A Topic for Discussion - Open Source Feature-Richness?
- Download the Free Red Hat White Paper "Using an Open Source Framework to Catch the Bad Guy"
- Tech Tip: Really Simple HTTP Server with Python
- Roll your own dynamic dns
3 hours 44 min ago
- Please correct the URL for Salt Stack's web site
6 hours 55 min ago
- Android is Linux -- why no better inter-operation
9 hours 11 min ago
- Connecting Android device to desktop Linux via USB
9 hours 39 min ago
- Find new cell phone and tablet pc
10 hours 37 min ago
12 hours 6 min ago
- Automatically updating Guest Additions
13 hours 15 min ago
- I like your topic on android
14 hours 1 min ago
- This is the easiest tutorial
20 hours 37 min ago
- Ahh, the Koolaid.
1 day 2 hours ago
Enter to Win an Adafruit Pi Cobbler Breakout Kit for Raspberry Pi
It's Raspberry Pi month at Linux Journal. Each week in May, Adafruit will be giving away a Pi-related prize to a lucky, randomly drawn LJ reader. Winners will be announced weekly.
Fill out the fields below to enter to win this week's prize-- a Pi Cobbler Breakout Kit for Raspberry Pi.
Congratulations to our winners so far:
- 5-8-13, Pi Starter Pack: Jack Davis
- 5-15-13, Pi Model B 512MB RAM: Patrick Dunn
- 5-21-13, Prototyping Pi Plate Kit: Philip Kirby
- Next winner announced on 5-27-13!
Free Webinar: Hadoop
How to Build an Optimal Hadoop Cluster to Store and Maintain Unlimited Amounts of Data Using Microservers
Realizing the promise of Apache® Hadoop® requires the effective deployment of compute, memory, storage and networking to achieve optimal results. With its flexibility and multitude of options, it is easy to over or under provision the server infrastructure, resulting in poor performance and high TCO. Join us for an in depth, technical discussion with industry experts from leading Hadoop and server companies who will provide insights into the key considerations for designing and deploying an optimal Hadoop cluster.
Some of key questions to be discussed are:
- What is the “typical” Hadoop cluster and what should be installed on the different machine types?
- Why should you consider the typical workload patterns when making your hardware decisions?
- Are all microservers created equal for Hadoop deployments?
- How do I plan for expansion if I require more compute, memory, storage or networking?