Thursday, January 22, 2015

The current state of video editing for Linux

http://opensource.com/life/15/1/current-state-linux-video-editing

Image by : 
opensource.com
I often ask myself what the current state of video editing is for free and open source software (FOSS). Here are my thoughts.
I've spent many years in the visual effects (VFX) industry from the perspective of being either an artist, compositor, video editor, or systems engineer. (I've even got film creds on IMDB!) In the past, I had the pleasure of cutting on, training people on, setting up, and supporting Avid Media Composer, the cream of the crop of professional real-time video editing tools for film and TV alike—at least before things like Final Cut Pro and Adobe Premiere became useful enough to professionals.
In the VFX industry these three tools are used extensively among studios for cutting video and film and are both very simple to use for noobs and professionals alike as well as can be pushed very far in the hands of guru artists. The VFX industry has for the most part of the last 30 years been reliant on Mac and PC for video editing, primarily because all of the Linux-based FOSS tools have been less than great. This is a shame because all of the best 3D and 2D tools, other than video, are entrenched in the Linux environment and perform best there. The lack of decent video editing tools on Linux prevents every VFX studio from becoming a Linux-only shop.
That being said, there are some strides being made to bridge this gap, as I discovered over the last few weeks. They are not Hollywood big, production ready strides but they are useful enough for what I need to do which is basically a bunch of build training and demo videos as Senior Systems Engineer for Red Hat's Systems Engineering EngOps team.
 
I've installed and tested a number of tools before overcoming my fear of learning how to edit video in Blender. (When I first looked at it, the program seemed convoluted.) So, here's an account of the tools I looked at and what I thought about them. Let me qualify this by letting you know that I'm currently running Fedora 21, KDE, and Gnome (because I can't decide which to stick with) on a Lenovo T440s with a VGA compatible controller: Intel Corporation Haswell-ULT Integrated Graphics Controller (so, no accellerated openGL unfortunately). I approached this as I would if I was an impatient artist trying to find THE tool for the job, with no time for messing about for little or no results.

Pitivi

Pitivi was recommended to me, so it was the first app I tried out. It's written in Python, so I thought maybe I can have fun with scripting this because I have a specific thing I'd like to do with overlaying timecode over the video based on the frame count showing actual passage of time regardless of the cuts made to the clip. (It's a demo thing.) It looked great and professional-esque, almost Avid/premiere like. So, I brought in a video clip... and CRASH! I opened it again, brought in a clip, no crash, so that's great. I added another video track... and CRASH! I tried at least 15 more times before giving up on it. And it's a shame, because it looks like it has potential to be simple to use and not overly garish.
I'll try again when version 1.0 is released. Normally, I persevere with beta versions because I've been involved with beta testing software all of my professional life, but this was frustrating and I wasn't getting anywhere.

OpenShot

For OpenShot: Open it, check. Bring in video, check. Cut video into timeline, check. Playback video, check. Add a title and hit render, then I waited... and waited... and waited. Then, I checked htop, and nothing happening but I couldn't cancel out of the render. CRASHH!! Oh no.
So, my take was that maybe this one can do the job if you don't want titles? It's free closed source competitor, so it may possibly be more useful? I don't know, but I moved on.

Lightworks

With Lightworks, I thought: now we're talking. Lightworks played a very large part in the professional video market about 10 years ago and was used by many PC based studios. It has cut some really cool films along the way and was very expensive then as I recall. So, these days they have released a free version for all platforms. This version gives you all the rudimentary things that you may want, and there's an RPM or deb download available. It installed without issues, then when I double-clicked the icon, nothing happened. No OpenGL, no video, no worky.
Could someone try this out and tell me what it's like? Or, if you're feeling generous, throw me a nifty laptop with at least a Nvidia 870M in it please.

Avidemux

For Avidemux, I installed it and opened it. Are people using this for editing? I looked at this as I've seen so many other writeups mention this as a editor which it most definately isn't. I moved on.

Cinelerra

For Cinelerra, I tried to download it and found the homepage had no download link (at the time). I noted that the team there seems very focused on the Ubuntu user. Then, I downloaded, extracted, and opened it. I brought some video in, hit the garish, big green tick to accept the import, hit play, and found that it didn't work. Bummer.

KDEnlive

KDEnlive is a relatively new discovery for me. I installed it, opened it, lay down some tracks, and cut with my "industry standard" keyboard shortcuts. All seemed pretty smooth. So, then I overlayed the end of one video over the start of another video track so that I could apply a transition, but I couldn't find any. The list of transitions was bare. Hmmm, maybe I have to go back and find out why this is.
So, I'll report back later on this.

Blender

By the time I got to Blender, I was really starting to get disheartened. I've looked at Blender in the past but it was a totally different paradigm than anything I had used before professionally. For a start, the keys we all wrong. But, I was back and not about to be defeated. I searched YouTube for something to help, something that wouldn't take me 365 days to go through the basics.
Here's a list of a few that I found useful. And, after about 30 mins of watching, I got started.
I imported the video clips that I needed, check. I laid down the first video track, check. I played the clip back in the player/viewer, check. I was begining to get excited. I started cutting my 45 minute clip down to 5 minutes. Blender has markers: awesome! Cutting long clips without markers is an exercise in futility. Avid started the marker trend and it was a godsend. By using markers with the "m" key you can start to map in real-time, while you're watching, where you want the cuts to happen. And once you're done watching through, you can skip to each marker and make a cut. You can then non-destructively delete the clips that you just cut. You can then automatically close the gap between each of the cuts so you're not screwing around trying to line up the ends of each consecutive clip.
Creating transitions was really simple too and reminded me of using Adobe Premiere. There are some "normal" transitions too, ones that you would expect to see on a film or TV drama, rather than just the "fractal swirl-over fade-back bubble" transition that all of the other apps seem to love.
Another nice thing about Blender is that the audio is able to be unlinked from the video. There are many uses for this, and I was happy to see that I could do it so easily. The next thing I tried was titling. You can go the 2D or 3D route. I chose the 3D route as this can give you much more flexibility for reuse. So, I overlayed this over the video perfectly, and then I chose the format and size that I wanted to render out with, and hit the GO button. It rendered out fast and perfectly.

The winner

I have found my new, open source video editor: Blender! It's not Avid, FCP, or Premiere, but it's more than that. It's a true suite of tools that I would say can go head to head with the best of what I've used in the VFX industry. And, I'm genuinely surprised!
One more great thing about Blender: it's fully scriptable in Python. Wow.

No comments:

Post a Comment