Disclaimer: I am not an investment advisor. When I describe my own trading activities, it is not intended as advice or solicitation of any kind.

05 January 2011

Video Editing is Hard

For my birthday, the bintgoddess bought me a ContourHD, which comes with mounts to attach it to a goggle strap against a helmet, or to any flat surface.  This freakin' awesome video camera is only 4.3oz, and about 3 inches long.  It shoots 30fps natively in 1080p with a 110-degree wide-angle lens, so as to capture more of the surrounding scenery.  Check out some videos I found on their site here and here.  The second one starts a little slow, but stick with it for some great tree skiing.

Since I'm due to leave for the first ski trip of the season soon, I thought it would be a good idea to record some test video, and then try to upload it to the laptop and edit it some.  My needs are small: I need to be able to crop out boring stuff (stopping to wait for Jerry, fumbling with the camera to start/stop the video, etc).  I also want to suppress sound some of the time, since most of the skiing video I've seen with native audio on it just sounds like a wind tunnel.  Mixing in some appropriate music during this dead air would be great, but just lowering the sound track gain low enough that it doesn't drive viewers crazy would be fine, too.

I had no trouble shooting the video or getting it onto the laptop.  And once there, I could play the raw QuickTime video file without a problem.  But I had a lot of sharp noise when turning the camera on/off, or moving my hand around on it while holding it.  I wanted to trim off the excess on either side, and mute that noise.  I figured if I could do this, I can use the same tools for ski videos while sitting around the house in Utah.

Since my laptop runs Linux -- doesn't yours? -- I jumped onto Wikipedia and looked at open source video editing programs targeted at complete newbs.  Oh yes, I am a complete newb.  I am totally baffled by all these things that start with "MPEG".  I have no idea what the difference is between codecs, nor why I should care.  I just want awesome video, and I want it in 1080p.

First I tried Avidemux, because I'd heard of it, and because it started with A and therefore was near the top of the list.  Avidemux gives a lot of control over selection, which I like: I can move frame by frame.  But when it comes to actually encoding the edited video, I couldn't make heads or tails of it.  Most of the time it refused to generate video at all, complaining that my audio/video/container formats were not compatible with each other (then why let me choose that combination?).  Sometimes it would instantly trumpet success, leaving me with a 0-byte file.  Sometimes it would render my 61-second video for 4-5 minutes, spitting out a 2.5GB AVI that I could not play in any video player I had.

Next I tried Openshot, because it seemed to be one of the more popular ones, and it also seemed to be aimed at the totally ignorant (me).  It has a cutesy KDE-style interface that I suppose is designed to make me feel comfortable, but really makes me feel like I have no control.  I immediately ran into a bug where my video file would fail to appear on the timeline, where all the cropping and editing is done.  After searching online for a while, I found a workaround I could live with, and commenced with editing.  I spent an hour trying to line up pixels in the frustratingly inexact editing interface so I could start the video where I wanted it to start.  Then I crashed it by clicking somewhere that seemed reasonable to me.  I never did get a video file out of it.

Next I tried CinelerraCV, because it looked like it gave the user a lot of control over the audio and video.  I'm sure it does, but holy crap what a lot of buttons.  I was greeted with a toolbar that looks like this:
The best part is that none of the teeny tiny little icons have tool-tips, the more obscure ones are a complete mystery even now.  After three or four attempts, I finally managed to output a video file... but instead of the head-and-shoulders 16x9 framing in the original video, it was just the top half of my face in 4x3.  It was like watching a facebook avatar thumbnail come to life -- creepy. 

Finally I tried PiTiVi, which is written in Python, of all things.  I know a lot of you younger whippersnapper programmers think the world is written in Python, but I just can't get my head around why anyone would bother with it.  Despite my discrimination against the language, I gave PiTiVi a fair shake. In return, it gave me its share of confusion and frustration, but it also gave me HD video trimmed where I wanted it!  It was easier to learn than Cinelerra and Avidemux, and gave me a better feeling of control than OpenShot.  The rendering process was nice and straightforward.  I couldn't control the audio the way I wanted to, but I suspect it probably can be done... I just haven't figured out how.

The most frightening thing is that this little 61-second video required about 4:30 of rendering on the laptop, heating it up enough that it was blowing a hot wind at me out of its vents.  What happens when I have a couple of hours of skiing video to render?

No comments:

Post a Comment