Digitizing Home Videos

Several years back, my father started a project to digitize our home videos. He purchased an old computer from the IMVU automated builds cluster, bought an AVerMedia C027 capture card, digitized a few tapes… and then his digitization workstation sat there for years, untouched.

Sadly, he passed away last year, so I picked up the project. There were four types of analog media to digitize: VHS tapes, 8mm tapes, audio cassettes, and old Super 8 film reels.

Super 8

The Super 8 film went to a service in Redwood City. I don’t have any relevant equipment to play it and they do a good job — they clean the tape, take high-resolution photos of each frame, and then apply color adjustments to correct for any age-related fading, overexposure, or underexposure. The output format is up to you. I selected an MP4 movie file and a 1080p JPEG for every captured frame. (30 GB of 1080p JPEGs for 20 minutes of video!)

The service worked out pretty well. My only complaint was that I gave them seven individually labeled 3″ film reels but, presumably to make it easier to process, they taped six of the reels into one larger 6″ reel, so I had to split the files back up. Avidemux made lossless splitting on the I-frame boundaries trivial.

Audio Cassettes

The audio was similarly easy. ION makes an inexpensive tape deck that advertizes itself as a stereo USB microphone. You can capture the audio straight into Audacity and clip, process, and encode as needed.

VHS and 8mm

The bulk of the project was VHS and 8mm: we had two medium-sized moving boxes plus a shoebox of VHS tapes and a medium-sized box of 8mm. Probably close to 100 tapes in all.

Home videos are not worth much if nobody can watch them, so my primary goal was to make the video conveniently accessible to family. I also wanted to minimize unnecessary re-encodes and quality loss. The film and VHS had already degraded over time. Some quality loss, unfortunately, is inevitable without spending $$$ on dedicated equipment that captures frames from the tape.

My parents happened to own a very high-quality VCR that’s still in great shape. The capture sequence ended up something like this:

Video Cassette -> VCR -> Composite Cables -> Capture Card -> MPEG-2

Since each tape contained a hodgepodge of home videos (sometimes interleaved with TV recordings!), they had to be split up. The excellent, open source dvbcut software is perfect for this: it has a quadratic slider for frame-accurate scrubbing and it only recompresses frames when your splits don’t line up precisely with I-frames. I recommend doing your dvbcut work on an SSD. Scrubbing is painful on a spinny disk.

Converting the 8mm tapes was similar except replace VCR with the (again, still in great shape) Sony camcorder in playback mode. Also, since the 8mm tapes are mono but the capture card always records in stereo, you have an option. You can either run a post-split ffmpeg -map_channel step to convert the stereo MPEG-2 files into mono. (This has to happen after splitting because dvbcut can’t read videos after ffmpeg processes them for some reason.) Or you can tell HandBrake to mixdown the audio to mono from the right channel only. The latter avoids an audio re-encode, but it’s easier to forget when setting up long HandBrake jobs.

Finally, because the captured MPEG-2 files are large (4 GB per hour of video), I recompressed in HandBrake to H.264. I don’t notice a material quality difference (besides some “free” noise reduction), and the H.264 MP4 files are smaller and have more responsive seeking.

In the end, the steps that involve quality loss are:

  1. Real-time playback. Tracking glitches, for example, result in a few missed frames. But, like I mentioned, it would take $$$ to do a precise, frame-accurate digitization of each VHS frame.
  2. Composite cables instead of S-Video. I couldn’t find a VCR on Craigslist that supported S-Video output.
  3. Capturing in MPEG-2. I’m not convinced the real-time AVerMedia MPEG-2 encoder is very good – I’d occasionally notice strips of artifacty blocks in high-frequency regions like tree lines.
  4. A few frames of dvbcut’s re-encoding at the beginning and end of every split.
  5. YouTube / HandBrake. Might be slightly better to upload the split MPEG-2 into YouTube and let it recompress, but uploading 2 TB of video to YouTube didn’t seem very fun.

The bulk of the time in this project went towards capturing the video. It has to play in real time. Each 8mm cassette was 2 hours, and VHS tapes range between 2 and 8 hours.

The bulk of the effort, on the other hand, went into splitting, labeling, and organizing. I had to rely on clues to figure out when and where some videos were set. There were many duplicate recordings, too, so I had to determine which was higher quality.

Now that all that’s done, I plan to upload everything to YouTube and make a Google Doc to share with family members, in case anyone wants to write stories about the videos or tag people in them.

How to Make a DVD with the Flip UltraHD

Now that my wife and I have a child, we make frequent use of our Flip UltraHD video camera. Our intention is to film precious moments of our lives, burn physical DVDs, and mail them to our families strewn across the east coast and midwest. Sounds old-fashioned, but it’s convenient for our audience.

I will explain DVD creation for Mac users and for Windows users.

Flip -> DVD on a Mac

For those of you blessed with a recent Mac, creating a DVD from the Flip is straightforward:

  1. Copy MP4 files from Flip to your computer (not strictly necessary, though iDVD is much snappier if the videos are on your hard drive)
  2. Open iDVD, select Magic iDVD
  3. Rename your movies to reflect their contents (optional, but makes the DVD a little nicer)
  4. Drag movies into the iDVD window
  5. Create project
  6. Tweak title, button fonts, text
  7. Burn to disc image
  8. Use Disk Utility to burn as many copies as you want!

Flip -> DVD on Windows Vista/7

  1. First of all, Windows DVD Maker doesn’t support Flip’s MP4 files directly. It will crash or hang if you try.
  2. Download the Adobe Flash CS4 trial
  3. Use Adobe Media Encoder to convert the Flip videos to AVI or some such.
  4. Add to Windows DVD Maker.
  5. Configure title and menus.
  6. Wait an evening for Windows DVD Maker to casually burn your DVD to disc.
  7. Frown because the audio and video are no longer synchronized. Also the video is corrupted.
  8. Buy a Mac and use iDVD after all.

I wrote this post months ago but I was waiting to figure out how to create DVDs on Windows… At some point, it’s worth simply buying a Mac Mini and using that instead.

My father, continued

Laura and I just returned from San Diego, where my father is in the cardiac care unit of UCSD Medical Center. On Wednesday, he was at a leadership conference, and out of nowhere, he collapsed to the floor. Somebody noticed his heart had stopped, so they started CPR, but CPR doesn’t do a whole lot for the condition my dad experienced. Luckily, the hotel he was in happened to have an automated external defibrillator (AED) on hand, which they placed on his chest, and after two jolts, started his heart again and brought him back alive. Within hours, he was basically fine again.

normal heartbeat
Normal heartbeat
ventricular fibrillation
Ventricular fibrillation

The condition my father experienced is ventricular fibrillation (VF), where the electrical activity of the heart causes it to lose its coordination and stop pumping blood. This is not the same as a heart attack, which is usually a problem with the muscle or blockage. The survival rate on VF is 4% outside of the hospital. Four percent. Scary. The AED saved his life. We’re so lucky that one was nearby and that we still have a father.

So, since not many victims of cardiac arrest and VF in particular survive, my dad’s a bit of a celebrity now, and various doctors and interns have come in to say hello. His picture and story are even going to be used in publications for San Diego’s Project Heart Beat, a program to make AEDs ubiquitous. My dad’s company, Terex, is going to place AEDs in every plant and office building. They’re so cheap (you can even order them on amazon.com) and so easy to use (basically automatic) that there’s no reason public places, hotels, office buildings, etc. shouldn’t have them. So yeah, we’re big fans now.

Anyway, we’re blessed that my father is still with us, and I guarantee we won’t take any of our family for granted anymore. Events like this seem to have that effect.

Update: I guess my sister wrote an update too.

Vacation 2004

I’ve been meaning to write this post for a while now, but such things as strep throat, San Andreas, lots of programming, and the LJ power outage kept getting in the way. So here we go.

After six months of speculation and planning, Laura and I finally decided that we would both go to Pittsburgh at the same time so that I could meet her extended family. And we could have Christmas near each other. We also decided that she would come down to Richmond with my family and hang there for a bit. Then we had plans to go see VNV Nation in Chicago early in 2005. More on that later.

So here’s the list of cities in the whirlwind tour, in order that we visited them: Cedar Rapids, Pittsburgh, Richmond, Cedar Rapids (I made a quick trip to Pella and Ames before returning to Cedar Rapids), Chicago, Madison, Cedar Rapids again. The trip totaled over 3800 miles. Now I’ll describe the legs of the journey.

Laura and I got Pittsburgh first so that she could spend more time with her extended family. I got to meet her grandmother first, a lovely, sweet lady. I wish I had been able to meet her grandfather, but he passed away in October. I did get a glimpse of all of the love that everyone had for him, though. On Christmas Day, I met Laura’s dad’s cousin’s family, at whose house we ate shrimp and chatted, before heading over to Laura’s mom’s brother’s house. There I met Laura’s cousins who I’d heard much about and have seen many pictures of. Right after showing up, they shoved a Guinness in my hand. Uncle Tom was quite the joker, always making fun of everyone (especially me). I had met her Aunt Janie so at least I had a familiar face to help protect me. ;-) Christmas dinner was great. The most memorable part was the “ice cream cake”. I had probably eaten a quarter to a half of it (and had already said how much I loved it) when they told me that the three layers of pound cake in it had each been soaked in a different kind of alcohol. Right around then I got really lightheaded, and knew why. :-) Good times, though. I hope our families get use to us being together. That trend isn’t going to turn around. :-).

Richmond was fun. Had more Christmas celebrations to add to the ones I had with my mom’s and Laura’s family in Pittsburgh. Got to see the cousin and stuff. The lots of food, etc. etc. Then we drove back to Iowa.

And then to Chicago, where we met up with Mike and Samantha and saw VNV Nation rock the Chicago goth scene. It seriously was the best concert I’ve ever been to. CodeR23, a live side project of Front 242, opened for them. Very danceable. VNV’s live show has matured greatly since the last time Mike and I saw them. They played a few songs from their upcoming album, Matter and Form. Looking forward to it.

We stayed in a hotel this time (sometimes Mike and I even learn!) And drove up to Madison in the morning to hang out with Mike and Samantha and see their apartment. Samantha made steak and salmon and these really great potatoes that I cannot seem to reproduce. It was good to see them.

For Christmas, I got Dragon NaturallySpeaking 8. In fact, I wrote this entire entry with it. If you see any weird syntactic structures or grammatical slipups, that’s a speak-o. Overall, I’ve been really happy with the software. With minimal dictation, I was up and running, and after some vocabulary additions and additional training, I use it for chatting and e-mail and writing papers. You can use it to open programs, interact with dialog boxes and the start menu, and of course it is great for dictation. Since there are so many words that I use everyday, but aren’t really standard English, I’ve had to teach it new vocabulary, such as X-Chat, Azureus, eMule, VNV Nation, etc. For $50, I think everybody should get it. However, it’s not very useful for code. You could write code with it, but it’s much easier to just type. Yet another weapon in the war against repetitive stress injuries.

Well, I think that’s pretty much everything I wanted to talk about. More code-related things later. And Mike, you should write about the VNV Nation concert as well.