Introducing OpenShot

As promised, I've continued to research and test desktop video editors for Linux. This week we'll look at OpenShot, a GTK-based project.

What It Is

OpenShot (Figure 1) is a non-linear editor (NLE) for video. The "non-linear" qualifier simply means that you can play, edit, and mix video footage in any order or at any point you wish. In addition to this random access a modern digital NLE is typically non-destructive, thereby allowing free experimentation with edits and effects while leaving your original material in pristine condition.

Figure 1. OpenShot 0.9.52

Features

You can view the whole list of OpenShot's features on the OpenShot Features page. For the impatient here's the short review :

  • Multitrack layout mode.
  • Clip edits: resize, trim, snap to grid, cut.
  • Video transitions with real-time previews.
  • Compositing, image overlays, watermarks.
  • Title templates, title creation.
  • SVG friendly, to create and include titles and credits.
  • Scrolling motion picture credits.
  • Solid color clips (including alpha compositing).
  • Support for Rotoscoping/Image sequences.
  • Frame stepping, key-mappings: J,K, and L keys.
  • Video encoding (based on FFmpeg).
  • Key Frame animation.
  • Digital zooming of video clips.
  • Speed changes on clips (slow motion et cetera).
  • Custom transition lumas and masks.
  • Presets for key frame animations and layout.
  • "Ken Burns effect" (making video by panning over a still image).
  • More than 20 digital video effects.

Apologies to the OpenShot crew for cribbing from their list. What can I say, it's an attractive list.

Installation & Configuration

OpenShot may be in your Linux distribution's software repositories, so look there before you try to build the program yourself. OpenShot is not difficult to compile and install, but I discovered certain problems with its dependencies that significantly affect its performance.

OpenShot needs the MLT software described in my review of Kdenlive, with the further requirement of support for Python. The python-mlt module is available from the Ubuntu Jaunty repos, but building MLT with the Python binding isn't difficult either. The following command-line will create the needed modules :

    ./configure --prefix=/usr --aviformat-swscale --enable-gpl --swig-languages=python

This command sequence is identical to the one described in my article on Kdenlive, with the addition of the SWIG Python support.

OpenShot is easy to install. Run this command in the top level directory for the OpenShot sources :

    sudo python setup.py install

OpenShot will be installed into the /usr directory hierarchy. You can now start the program by clicking on its menu entry or by running the openshot command at a terminal prompt. If everything has been installed correctly you'll soon see the OpenShot main display as shown in Figure 1. Alas, I was not so fortunate.

When I tried to start OpenShot I received the following error message :

    dlphilp@The3800:~$ openshot 
    Added /usr/share/openshot to system path
    --------------------------------
       OpenShot (version 0.9.52)
    --------------------------------
    *** ERROR: MLT Python bindings failed to import ***
    *** ERROR: MLT Python bindings failed to import ***
    Exception in thread Thread-1:
    Traceback (most recent call last):
      File "/usr/lib/python2.6/threading.py", line 525, in __bootstrap_innerself.run()
      File "/usr/share/openshot/classes/thumbnail.py", line 174, in run mlt.Factory().init()
    NameError: global name 'mlt' is not defined
    
    -------------------------------------------------------
    Error:  OpenShot has not been installed in the Python path.
    (Both the site-packages and /usr/share/openshot folders were checked)
    
    Use the following command to install OpenShot:
      $ sudo python setup.py install

After some research I found that the straightforward sudo make install was not enough to correctly install the MLT software. I discovered that MLT's Makefile for the language bindings includes a directive for installation, but there are no installation targets. Thus, the modules get built but are not installed.

Following advice from OpenShot developer Jonathan Thomas I manually copied three files from ~/src/mlt/src/swig/python to the /usr/lib/python2.6/site-packages directory. The needed files are the _mlt.so shared library, the mlt.py Python module, and the mlt_wrap.o object file. I ran the openshot command again, and again the program produced the same error message and failed to open.

At this point I suspected the Python PATH so I ran this command :

    echo $PYTHONPATH

The result was an empty string, proving that the PYTHONPATH had not been defined in my Ubuntu Jaunty Python environment. Python itself is definitely correctly installed, but without a defined PYTHONPATH its modules would be unavailable to OpenShot. I defined that path with this command :

    export PYTHONPATH=$PYTHONPATH:/usr/lib/python2.6/site-packages/

Once again I tried to start OpenShot, and this time the program opened in all its glory (Figure 1). At last I could meet and greet OpenShot.

Using It

It may be useful to define what we should expect from an editor such as OpenShot. The following functions and actions might be considered basic to any NLE :

  • Load and play video and audio clips in various formats.
  • Arrange and mix clips in a multitrack mode.
  • Cut/copy/paste footage in and between clips.
  • Add effects within clips.
  • Add transition effects between tracks.
  • Export mix to video formats defined for various targets (Web, mobile device, DVD, file, et cetera).

As seen in the Features list above OpenShot supports these basic functions along with some more advanced features and some interesting attractions of its own.

In its basic operations OpenShot is similar to Kdenlive. Both programs are designed with an integrated UI in which individual clip edits and project multitrack edits are accomplished in the same display. This design favors a fast "back & forth" workflow and is an excellent design for non-linear video editors.

OpenShot includes only a few editing tools, but some of those tools are unique to the program. Curiously, they aren't available under the Edit menu - you need to right-click on a file within a track to call the pop-up menu that includes the tools. Basic edits include clip duplication, animation (untested here), and removal. Two "slice & dice" controls add some unusual functions that look promising but that I haven't found useful yet. Clips may be positioned freely within and among tracks by clicking and dragging with the mouse, and a Shift Clips tool allows precisely defined positioning.

Figure 2. Basic export options in OpenShot.

Figure 3. The Advanced export options dialog.

When you've arrived at your final mix it's time to export your work. At the right of the camera icon there is a red button, click on it to summon the Export Video dialog. Figures 2 and 3 illustrate the simple and advanced options available for fine-tuning the output. Like Kdenlive and other editors a variety of presets are available for quickly producing video in formats required by popular targets such as YouTube or DVD. If you're not satisfied with those presets you can customize the settings in the Advanced tab. By the way, rendering in OpenShot is on par with other NLEs I've tested. Various factors affect rendering time, so don't expect speedy results for a mix of high-resolution video files, each with its own high-definition stereo audio tracks.

Figure 4. An OpenShot project ready to render.

I composed a project with four AVI files (each with audio) treated to three transitions and other effects (Figure 4), then I rendered the mixture to a VOB file destined for a DVD. The mixture was slightly more than 4 minutes long and took slightly more than 8 minutes to render with a 2.4 GHz CPU. Mileage will certainly vary with clip file types, the variety and number of transitions and effects employed, the selected output format, and so forth.

The Audio Side

OpenShot imports audio files in WAV, OGG, MP3 and other formats. No integrated audio editing support is provided nor is there a call-out to an external editor. Soundfiles can be added and freely positioned in the multitrack timeline to add or replace audio for your video files. The Clip Properties dialog includes a tab for Audio that permits adjustment of volume and the addition of fade-in/fade-out controls, but no special effects are provided (e.g. reverb, chorus, phaser, et cetera). In short, you may need to prepare your audio files before adding them to your project.

Audio driver support is apparently restricted to the default system, which is likely to be either ALSA or PulseAudio. Alas, JACK is not yet supported. I realize that professional audio support is not an especially high priority in a video editor, but we await the day when the designers of Linux NLEs realize that JACK is their key to audio salvation.

What's Missing

At release 0.9.52 OpenShot lacks some features I've found very useful in other NLEs. There is currently no support for input via external devices such as a webcam or camcorder, so all material must be in a supported video file format before it can be brought into OpenShot. I missed the ability to directly resize transitions, i.e. without switching tools. I also found the method for adding effects to be rather clumsy (you must open a clip's Properties dialog to add and edit them). OpenShot's UI is clean and well-organized, but some keyboard bindings would be nice for its basic commands and functions.

Documentation

As of early November 2009 the project needs a forum and/or mail list for developers and users. Currently OpenShot uses Launchpad as its primary communications channel, a not especially effective solution for communication between normal users. The developers are aware of the unsatisfactory nature of the solution, hopefully we'll soon see a Wiki and other channels dedicated to the promotion and use of OpenShot. Meanwhile the OpenShot Web site offers links to some helpful instructional videos. More video examples are available on YouTube and Vimeo.

When I click the Help menu's Contents item I receive this error:

    The requested URI "ghelp:/usr/share/gnome/help/openshot/C/openshot.xml" is invalid. 

Indeed the openshot directory does not exist in the specified path. Furthermore, I was unable to locate the requested XML file.

In point of fact, OpenShot is easy enough to "learn by doing", but a novice may want clarification of terms and processes. The program's tooltips are helpful, but in my opinion documentation for an NLE should provide some basic general instructions and descriptions as well as application-specific assistance. Pointers to good sources of information would be appreciated, e.g. links to the Wikipedia articles on NLEs and compositing. Again, a dedicated comm channel or site would be a great help to new and experienced users.

Verdict

At release 0.9.52 the program is very stable and I experienced no crashes during my tests. In my opinion OpenShot is well on its way to becoming an attractive and powerful editor. Presently it lacks some features I like in other NLEs, but I suspect its developers will add those and other features in due time. Like many similar projects OpenShot is in need of external assistance, so if you'd like to help produce a high-quality GTK-based NLE for video you might consider hopping on to the OpenShot train. Coders are welcome, but other aspects of the program need love too. Check with the devs to see how your talents can be employed by the project.

Outro

I'll be back in a couple of weeks with more news from the world of Linux audio & video software. I plan to review more Linux NLEs, so tune in for the next exciting episode.

______________________

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.

Openshot works on Fedora 12 too

Zoltan's picture

Well, I have tried the newest Openshot on my Fedora 12 box too, as mjhammel did, and works. Sadly theora, or ogv still doesn't work.

Not affective means of communication?

Anonymous's picture

https://answers.launchpad.net/openshot Seems to imply otherwise.

Author's reply

Dave Phillips's picture

I said that Launchpad is " ... a not especially effective solution for communication between normal users". Yes, it suffices for technical exchanges between the devs and some users, but it's not a substitute for a forum. Anyway, the point is now moot, thanks to the news in the message below. :)

Best,

dp

Similis sum folio de quo ludunt venti.

Dave, Regarding your comment

AndyF's picture

Dave,

Regarding your comment about a forum, we have just launched a users site for Openshot that includes a forum - come on in!

http://www.openshotusers.com

Fedora 11 run is a little easier

mjhammel's picture

On F11 I unpacked the sources in a directory. Then installed a couple of required packages:

sudo yum -y install mlt goocanvas mlt-python pygoocanvas

I could then run the application from the source directory:

python openshot/openshot.py

Installation with setup.py doesn't appear to be required - you can run the application from the source directory - so you can skip that step if it causes problems.

I loaded an ogv file and played it, sliding through the video back and forth, but haven't had a chance to experiment with editing. On Fedora 11 the audio and video playback, at least, appears to be fine.

Linux Video Editors

Anonymous's picture

I've had tried some video editors in Linux and found them all extremely disappointing. After getting so frustrated at the applications lack of features and worse - crashing I went back to Windows / Adobe.

I had not tried OpenShot and I'm glad you've reviewed it for us. Looking forward to your other articles.

don't give up on linux

Anonymous's picture

don't give up on linux software. it changes so much so fast that your comment could be outdated in a few weeks! about openshot, i am excited to try it!

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