It LiVES! Video Editing For FOSS Movie Makers

Studio Dave is set up for personal audio production, but video capabilities are on the horizon. Digital video cameras are inexpensive and typically non-problematic with Linux, there are compelling professional reasons to get into video (Web-based tutorials are high on the list), and besides, it's just fun to play with video on the computer. Now the fun level has jumped up a few notches with version 1.0.0pre1 of LiVES, a video editing system for Linux.

On its Web home page the LiVES project states its goals clearly and succinctly:

LiVES mixes realtime video performance and non-linear editing in one professional quality application. It will let you start editing and making video right away, without having to worry about formats, frame sizes, or framerates. It is a very flexible tool which is used by both professional VJ's and video editors - mix and switch clips from the keyboard, use dozens of realtime effects, trim and edit your clips in the clip editor, and bring them together using the multitrack timeline. You can even record your performance in real time, and then edit it further or render it straight away. For the more technically minded, the application is frame and sample accurate, and it can be controlled remotely or scripted for use as a video server. And it supports all of the latest free standards.

Figure 1. LiVES, a video editor for Linux.

For an old experimentalist like myself LiVES is a cornucopia of video editing delights. The program supports MIDI, OSC, and best of all, the JACK audio server and transport control system, which means that I have a variety of interesting control scenarios. LiVES + Ardour, LiVES + Csound, LiVES + Rosegarden, LiVES + AlgoScore + AVSynthesis, the list of possible connections goes on.

Hardware Requirements

The features list on the LiVES Web site states that the program scales well to high-end and low-end hardware, but it doesn't indicate a lower boundary. Frankly I wouldn't want to try serious amounts of editing without a 2 GHz CPU or better. A large fast hard-disk is needed, as is a fast video subsystem. If you have a working FireWire connection and the right driver a DV/HDV-capable camcorder is a nice option. LiVES will import video from such cameras, but alas, the Web site gives no particular recommendations for compatible hardware.

The Dependency Tango

As of June 15 the source code for LiVES 1.0.0pre1 has been available from the project's Web site. Prebuilt binaries are also available for Debian, Ubuntu, Fedora, Arch, Gentoo, and other Linux distributions. I prefer to compile programs from source, so I downloaded the tarball, installed the sources in my $HOME/src directory, and I was ready to roll my own. Btw, I intended to build LiVES for two systems, a 32-bit version for my JAD 1.0 box and a 64-bit version for my 64 Studio 2.1 machine.

I've built previous versions of LiVES on both machines, so I was prepared for its needed dependencies. Those dependencies are considerable, so before you build or run the program you should check with the LiVES Web site for complete information regarding the required and optional support software. If you want the fully capable LiVES you'll need the mplayer/mencoder packages, ImageMagick, Perl, SoX, and many other recommended packages.

Once the dependencies are present and accounted for the build itself is anticlimactic. The standard autotools mantra of ./configure; make; sudo make install does the job. If all goes well the program is ready to begin its work.

Using LiVES

Open an X terminal, enter lives at the prompt, and you'll soon be greeted by a display similar to the screenshot in Figure 1. By default LiVES opens to the clip editor, but before you do anything else you should set up the program's Preferences (Figure 2) to match your system capabilities. Fortunately LiVES makes a good attempt at setting default paths and values, but for best results you'll want to tune its configuration as finely as possible. Make sure you set aside plentiful swap space, and make sure you have the JACK sound server installed.

Figure 2. The LiVES Preferences dialog.

JACK is not absolutely necessary for LiVES, but some of its coolest features depend on it. Alas, JACK is not a typical component of the general-purpose Linux desktop, though it should be available for all mainstream Linux distributions. Serious Linux audio producers will have it installed as a matter of course. Tabulating JACK's virtues is beyond the scope of this article, so I'll refer readers to the JACK Web home for current in-depth information. However, it is worth pointing out that JACK is specially designed to work with a kernel patched and configured for low-latency performance, so if you plan to use it make sure that you also have access to a modified kernel. Fortunately most mainstream distributions now include a realtime kernel in their repositories. Check with your package management software to see if an rt kernel is available for your distribution of choice. Further adjustment to your system may be necessary before you can enjoy the benefits of low-latency realtime operations. See the JACK FAQ sheet for complete instructions.

Okay, you have a low-latency kernel, JACK is present and correctly configured for realtime performance, and LiVES starts up properly. You may note that when the program opens it lists the support components compiled into the binary (see Figure 1). Assuming no faults or showstopping bugs we're ready to work with LiVES.

As I mentioned, LiVES starts up with its clip editor screen. On this page you load and view the video and audio files you want to use in your project. You can also add effects, perform cut/copy/paste operations, and utilize the realtime VJ tools. For the purposes of this introductory article we'll stick to the basics, but I must emphasize that the LiVES GUI is simple to comprehend and navigate. The program is easy to learn, and you'll soon find yourself looking into and testing its advanced features.

First we'll open a few video files, with the intention of setting them together to make one video from many files. The resulting collection is known as a clip set. Your clip set is your pool of video and audio data available for editing in the clip editor or for layout in the multitrack mode. I'll have more to say about that mode in a few moments, but for now we'll load those files and view them with the playback controls in the clip editor screen. Acceptable video files include all types supported by mplayer. I've loaded AVI, MPEG, FLV, WMV, and other file types with no troubles, though it is possible that some files won't load. The world of video codecs is more bewildering than the world of audio formats, and it may be necessary to rebuild mplayer for support of a relatively uncommon file format.

File size is unrestricted, but you will receive a warning if your file is 500 MB or larger. The warning merely advises that a large file may take a long time to load, and the message itself can be toggled off in the Warnings tab of the Tools/Preference dialog.

Once a file is loaded you can edit it whole or in parts. A lengthy list of video effects provides a variety of cool and useful ways to bend, fold, spindle, and mutilate your content. Fade-in/fade-out, swirl and wave effects, pixelization, color cycling, and many other effects are available, any and all of which can be included in batch scripts for complex and repetitive edits. It must be noted that these effects vary in their need for your machine's resources. CPU speed is a limiting factor, and some effects require some awesome power if you want the fastest performance possible. Make no mistake about it, video editing is a heavy hitter, and it wants heavy resources. LiVES is usable on low-powered machines, but for greatest satisfaction you'll want a 2 GHz CPU and fast disk throughput.

When you're happy with the condition of your clips you can switch to the Multitrack mode screen (Figure 3). This page is where you add your clips to a timeline for eventual compilation into a single video file. Just drag and drop your clips from the collection to any point in the timeline, press the Play transport control, then edit the results as necessary. Repeat the process until you're happy. When happiness reigns it's time to render your layout of clips to a new video file. Open the Render menu, select Render All To New Clip, and the process starts immediately.

Figure 3. The Multitrack editor.

By the way, the layout seen in the screenshot is a mixed collection of AVI, FLV, M4A, MOV, and MPEG video files. LiVES loaded each one without complaint or warning.

A session's collection of video and audio data is saved as a clip set. In the Multitrack mode the arrangement of data selected from your clip set is saved as a layout. Finally, your multitrack audio/video layout is rendered to a file. Supported file types are defined by the selected encoder. For my first experiment with LiVES the default output was a DIVX-encoded video file in an AVI container.

The VJ Tools

Realtime video processing brings out the VJ in us all. The LiVES VJ tools include a default key map that applies a variety of realtime effects on a running video. For example, Ctrl-1 applies a rotozoom effect, Ctrl-2 activates an edge detection routine, Ctrl-5 calls up a very weird mirror effect, et cetera. Key maps are defined in the VJ/Real Time Effect Mapping dialog (Figure 4), they can be saved, and any map can be declared as the default map. LiVES provides a generous menu of realtime effects assignable to a key map, but alas, I'm still at the fledgling stage on my LiVES learning curve. For now you'll have to believe me, the LiVES VJ tools are wonderful. Or, of course, you can try them yourself.

Figure 4. The Real Time Effects Mapping page.

Incidentally, if you've installed the excellent Frei0r video processing plugins LiVES will add them to the list of available realtime processors for even more VJ fun and excitement. The use of the Frei0r plugins is yet another example of LiVES leveraging the power of existing open-source projects.

Documentation

User-level documentation comes in plain HTML or OpenOffice ODT format. While thorough, there is no internal linking between topics, thus making navigation more of a chore than is necessary. Further help is available on the LiVES Tutorial Wiki and the standard comm channels, i.e. IRC, mail-lists, and discussion forums. See the LiVES Web page for more information.

Performance

I run LiVES on two machines of roughly equal capability so I compared some file load times and some processing times. My test load was an MPEG video roughly 10 minutes long, with audio. On the 32-bit box the load time was 253 seconds, on the 64-bit iron the load time dropped to 153 seconds. Curiously, the machines reported a different frame length for the same file - 17092 on the 64-bit box, 17194 on the 32-bit machine. I don't know why it happens, but it doesn't seem to affect performance otherwise.

Next I loaded a smaller video (600 frames, about 40 seconds long) and applied a simple Brightness Change effect to the whole file. The 32-bit box took about 200 seconds to process the file, the 64-bit machine took about 110 seconds. Other casual tests indicated that the 64-bit machine was the superior platform for LiVES.

I also experienced some crashes, mostly during Undo operations, and I have advised the programmer about the problem (see the Comments section). More tests are needed here to narrow down the cause, but subjectively it seems that the 32-bit platform is the shakier of the two test machines.

But That's Not All

I've only scratched the surface of LiVES. More treasures await the intrepid explorer, but alas, I haven't the space to get into the many other features of LiVES, such as scripting, compositing, live recording, GUI customization, and transport control via JACK. Simply stated, LiVES is terrific. It's not perfect (I'd like to see waveform displays for the audio tracks, for instance), but it's easy to learn and use, it performs well on appropriate hardware, and it's just incredible fun. Great thanks to Gabriel Finch for his perseverance with the LiVES project. I look forward to its further development, and I hope this article will inspire more users to try this wonderful software.

______________________

Similis sum folio de quo ludunt venti.

Comments

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

error while opening lives

rix's picture

I have already installed LiVes in my ubuntu 8.04 using the source codes but everytime I run it, an error will occur:

lives: fccache.c:512: FcCacheFini: Assertion `fcCacheChains[i] == ((void *)0)' failed.
Aborted.

Before it terminates the program, the GUI is showing this:

Loading Realtime Effects Plug-in

I reinstalled LiVes using the deb package but nothing has changed. What should I do about it.

Author's reply

Dave Phillips's picture

Sorry, rix, it's beyond my debugging powers. You should definitely contact the project leader, Gabriel Finch (salsaman at gmail dot com). He'll know what you're looking at and whether there's a fix available.

Best,

dp

Similis sum folio de quo ludunt venti.

did you tried another great non linear video editor: kdenlive ?

Anonymous's picture

it seems also good, I would appreciate a comparison with LiVES!

????

Tim's picture

I posted an Ubuntu question a couple hours ago and now its been removed!? Is this an example of the "helpful Linux 'community'" I'm always hearing about?

Author's reply

Dave Phillips's picture

Sorry, I had to sleep last night.

If you have a question relevant to this article please ask again.

Best,

dp

Similis sum folio de quo ludunt venti.

I had a question about an

Tim's picture

I had a question about an Ubuntu CD that my friend gave me. He told me that Linux users would help me online.

I double click on Ubuntu and try to go to Control Panel/add Programs and I still can't get it to work. I'm trying not to give up but no one will help me.

No matter what I do I can't get this Ubuntu program to work.

I would appreciate any help, thanks.

Author's reply

Dave Phillips's picture

Hi Tim,

You should try posting your questions on the Ubuntu forums, you'll find better and more relevant suggestions there. I'm not trying to ignore you, I'm just saying that you've chosen the wrong place to ask your questions. Please see the section called Absolute Beginner Talk at http://ubuntuforums.org/ for more information. The same site also points to a forum on installing and configuring Ubuntu, you might find some relevant help there too. Finally, see http://www.ubuntu.com/ for more general information about Ubuntu.

I hope that information gets you off to a better start.

dp

Similis sum folio de quo ludunt venti.

Excellent!

CD Baric's picture

It is always great when an FOSS application void is filled so well.

Granddaughter is becoming interested in videography and editing has been keeping her on Windows part time.

I will be building and installing LiVE over the weekend.

Thanks so much for LiVE.

CD

Bugs fixed

salsaman's picture

Just for the record, the crash bug related to undo in the multitrack window was fixed the same day that Dave reported it. Current builds do not suffer from this problem.

- Gabriel "salsaman"
http://lives.sourceforge.net

regarding bug fixes

Dave Phillips's picture

I'd like to add that Gabriel fixed a few other buglets that I reported. A reminder to readers and users: If you find bugs, report them ! Developers sometimes miss things, and they won't know a fix is necessary if it isn't reported. Gabriel was very responsive to my error reports, and LiVES is even better now because of the test/report/fix cycle. Remember, open-source development works best when users take an active part in the process.

Best,

dp

Similis sum folio de quo ludunt venti.

Great news.

alex stone's picture

Dave, this a great write up about a really interesting step forward. Jack transport was a feature waiting to happen. (and should be included in more apps)

I'd be interested to know if it syncs ok, and what sort of framerates, etc, it'll handle.

I'll wait till it hits gentoo as an ebuild, but i can see this as a potential addition to the Open Octave Project, to handle film projects, etc.

A timely article. :)

Alex.

gentoo ebuild

mwallette's picture

It's already a Gentoo ebuild, albeit not a "stable" ebuild and, as is common with Gentoo, a little behind what's available from the developer's site:

$ sudo emerge --search lives
<...snip...>
* media-video/lives
Latest version available: 0.9.8.12
Latest version installed: 0.9.8.12
Size of files: 1,795 kB
Homepage: http://lives.sf.net
Description: LiVES is a Video Editing System
License: GPL-2

$

As you can see, I've already installed LiVES and am about to start playing with it :)

gentoo builds

Salsaman's picture

Seems like the gentoo ebuild has not been updated for over a year. I have just emailed the gentoo packager asking him what is going on. Hopefully there will be an updated gentoo build shortly.

-- Gabriel "Salsaman"
http://lives.sourceforge.net

ebuild

alex stone's picture

Gabriel, thanks for this. i did install the source for the time being to test the app. It went well with no errors, and runs fine. I'll keep an eye out for the ebuild.

Alex.

Thanks :-)

Ivan Ivanic's picture

I am always looking for better video editing tool for linux :-) So, thanks for info.

I bet you are; I'm sure

Anonymous's picture

I bet you are; I'm sure you're also looking for a better everything in Linux, trying in vain to find something that works right. Do yourself a favor, buy Windows 7 and spend time using your computer rather than trying to make it work.

I have Windows 7 RC, but I

Anonymous's picture

I have Windows 7 RC, but I can not find a video editor in there.

Someone has too much time on their hands

CaptainShanks's picture

Ah, the FUD soldiers are in full force I see... Why try in vain to find an OS that works right and ditch Windows? ;D

It would be appreciated if your comments stay off of sites like the Linux Journal. Have a nice day!

I'm a Linux Journal

Anonymous's picture

I'm a Linux Journal subscriber, so I think I'll post here if I feel like it. What happened to "choice" and "freedom"? Why don't you go edit some .conf files.

Anything you happen to be a subscriber of...

Andrea Sartori's picture

...does not mean you can be snooty.
BTW "choice" is "everybody use whatever they like"-- NOT "you all choose to use what I like or begone".
And "freedom" is "let's talk about new software with other people interested in it"-- NOT "I'm free to go off-topic and insult people".
And none of the two is "I'm not able to edit .conf files so they have to suck. I think I'll go install some obscure shareware thingy, overwriting some random system DLL and inadvertently taking the whole brand-new system to a grinding halt, so I can reinstall from scratch and _use_ my computer. Wait... where have My Documents gone?" :P

Back to topic: thanks to Dave Phillips for the article, it's really interesting. I've been looking for a good video editor, too, and a couple attempts with other programs have not been that exciting. This one seems very promising, I hope it's also stable.

Webinar
One Click, Universal Protection: Implementing Centralized Security Policies on Linux Systems

As Linux continues to play an ever increasing role in corporate data centers and institutions, ensuring the integrity and protection of these systems must be a priority. With 60% of the world's websites and an increasing share of organization's mission-critical workloads running on Linux, failing to stop malware and other advanced threats on Linux can increasingly impact an organization's reputation and bottom line.

Learn More

Sponsored by Bit9

Webinar
Linux Backup and Recovery Webinar

Most companies incorporate backup procedures for critical data, which can be restored quickly if a loss occurs. However, fewer companies are prepared for catastrophic system failures, in which they lose all data, the entire operating system, applications, settings, patches and more, reducing their system(s) to “bare metal.” After all, before data can be restored to a system, there must be a system to restore it to.

In this one hour webinar, learn how to enhance your existing backup strategies for better disaster recovery preparedness using Storix System Backup Administrator (SBAdmin), a highly flexible bare-metal recovery solution for UNIX and Linux systems.

Learn More

Sponsored by Storix