The LiVES Video Editor and VJ Tool Turns 1.0
LiVES is a video editing and VJ tool for Linux and BSD systems and today it celebrates its version 1.0 birthday. LiVES provides realtime video performance and non-linear editing for all classes of video editors and VJs (VJ is the Video equivalent of a DJ).
The LiVES project was started in 2002 by me, the author, and I continue to manage and enhance the project. At the time I had just bought a digital camera that was capable of taking short video clips of 10 seconds or so. Although I could play these clips perfectly well in mplayer, I was unable to find any editor on Linux which was capable of editing this format. So I thought - if I can play the clips, then I should be able to save the frames and edit them. I looked at the manpage for mplayer and noted that it could output multiple image files. From this the LiVES editor was born.
The other thing that was going on at the time, which is just as important today, was the beginning of DRM, and companies were attempting to lock down video and prevent people from copying and thus being able to edit clips. So I was interested in the new, open formats which were coming along as an alternative - today most people have heard of and even used ogg/theora. LiVES was one of the very first applications to support that format. True to the spirit of open source, the LiVES code does not contain any proprietary or patented codecs, although these can be added through external libraries.
There has never really been a roadmap for LiVES, it started as a personal program for me, and it's the only video editor or VJ tool that I've used. My first goal was to edit the small clips from my camera as I mentioned, and maybe to join 2 or 3 together and add some music. But as the program developed, as is always the case, there have been numerous "wouldn't that be interesting" ideas that have occured to me. One big one for me was being invited to the pixel workshops in Norway where I met for the first time with a group of other video developers. We planned a performance, and I realised it would be nice to perform with LiVES. So I spent a couple of days adding some realtime effects. At first these were built in to the main code, later they would be converted into plugins. The end result was I was able to give a pleasing perfomance with LiVES, and so were born the dual roles of LiVES: video editing and VJ tool. In fact what I realised was that VJs and video editors go through much the same processes, just that the timescales are different.
LiVES has grown enormously in popularity over this time, from one user in 2002 to now having an estimated 10,000+ downloads per month. There are still no official Ubuntu or Debian packages for it, however there are unofficial packages for most distributions of Linux and BSD. LiVES has also been translated into 13 languages, thanks to the work of a few dedicated individuals.
The aim of LiVES now is to be a high quality video editor and VJ tool, kind of an equivalent of Premier or Final Cut, mixed in with say Arkaos or Isadora. A lofty goal no doubt, but with the release of the 1.0 code, we already have a high quality product that is almost infinitely extendible, so we are well on the way to reaching that goal.
As I have mentioned, I have never used any other video editor, and this was deliberate because I did not want to be influenced by what was already in existence. I simply wanted to build the best tool for the jobs I had in mind. Through my work on LiVES, I also now work professionally as a video editor and VJ. If I need a feature, I have to build it into LiVES, so the software gets better, and my work gets easier - it's a virtuous cycle.
So, what features can you find currently in LiVES? LiVES can make use of a huge variety of video and audio sources, in fact any format which mplayer can handle can be imported into LiVES. However, using mplayer is now a fall-back, LiVES has its own decoders for ogg/theora and dv, which allow instant opening of video. Decoders for mpeg and dirac (a new free standard from the BBC) are planned.
You can import a limitless number of clips, and each of these clips can be edited independently in the clip editor. LiVES has two main interfaces, the clip editor and the multitrack window. In the clip editor you can cut and paste between clips, merge one clip with another and apply various effects. Audio and video can be trimmed and resampled, and clips can be resized and rotated. LiVES is frame and sample accurate.
From the clip editor you can encode any of the clips - there is a choice of over 50 different formats and quality levels. Encoding is done via the encoder plugins, which can be written in any language, and this means it is simple to expand and customise the encoding output.
For the VJ part, from the keyboard you can switch clips, adjust the playback speed and direction, and activate and deactivate effects, all in realtime. LiVES has a system which allows you to map the various realtime effects to different keys, and the mapping can be saved as your personal default. The range of effects includes filters, transitions which mix two clips into one, and generators. Effects are also made through plugins, and LiVES is compatible with frei0r (the author was one of the developers of livido, on which frei0r was based).
For more advanced video editing, LiVES has a multitrack window, where the various clips can be laid out and fine tuned. There is support here for one audio track per video track, plus a separate backing audio track, with automatic mixing and gain controls.
LiVES also has a full manual which was created specially for the 1.0 release, and is available via the LiVES website.
More advanced features of LiVES include the ability to control all elements of playback remotely via OSC, a MIDI and joystick learning interface to control LiVES, a batch processing utility, and a tool to help build new effect plugins. You can also record yourself in real time - great for quickly creating a music video.
Now that the 1.0 release has arrived, the project is interested in taking on more developers. More plugins are needed - encoders, decoders, effects, and video output. Core developers are now being actively sought instead of being asked to "wait for the 1.0 release" ! If anybody wants to get involved with the development of this exciting and growing project, please get in touch with the author!
Plans for the future include: subtitle support, effect masks, simplified task support, more plugins, instant opening for more file types, audio streaming, more audio effects, support for more "plugable" frame sources, such as gstreamer and MLT, an on screen display, and much more.
And of course, now that 1.0 is here, I might start looking at other video editors and VJ tools - with the aim of emulating what they do, only better!
Other free software projects that I am working on include:
- videojack - an unofficial patch of the jack audio connection kit, patched to handle video. LiVES has support for this.
- OMC - open media control - an attempt to devise a common remote command syntax for all multimedia applications
- frei0r - a standardised, cross-platform set of video effect plugins. LiVES can use these via a wrapper plugin.
- High-Availability Storage with HA-LVM
- Localhost DNS Cache
- DNSMasq, the Pint-Sized Super Dæmon!
- Days Between Dates: the Counting
- Real-Time Rogue Wireless Access Point Detection with the Raspberry Pi
- The Usability of GNOME
- You're the Boss with UBOS
- Linux for Astronomers
- Multitenant Sites
- February 2015 Issue of Linux Journal: Web Development