From the Canyon Edge -- :-Dustin

Tuesday, March 27, 2012

Baby-buntu


As opposed to the traditional baby monitor, I've decided to put together something of my own system, in that Linux hacker do-it-yourself sort of way :-)

Here was my check-list:
  1. Cobble together a little desktop machine from some scrap hardware laying around
  2. Install Xubuntu 11.10 with automatic login
  3. Add a Logitech C910 HD web camera
  4. Install Skype
  5. Create a new Skype account
    • Set it to automatically accept calls from Kim and I (only!)
    • Set it to automatically enable video
    • Disable all of the annoying notifications and sounds
  6. Add this new user "babyroom" to my Skype contacts, as well as Kim's; obscure it as much as possible
And there we have it ... a high definition baby monitor that Kim or I can check from my Laptop, PC, Android phone or tablet!  I would prefer using Google+ Hangouts for this, but I haven't quite figured out a way to have it auto-answer incoming hangout requests...ideas?

In any case, the high-def video monitor in the room sparked another idea -- to create the time-lapse video of us putting the finishing touches on the baby room you see above :-)

I recorded this in 1280x720 webm format using Cheese, over the course of about 35 minutes, while we assembled a simple crib and rearranged some furniture.

I then spent 4+ hours trying to figure out how to resample the frame rate and fit it down to a 1-2 minute video.  I struggled and fought (violently) with:
  • OpenShot - slowing it down rendered it very choppy
  • Pitivi - doesn't support modifying the frame rate
  • Avidemux - should have worked, but the result wasn't very smooth and the colors were painfully distorted
  • SlowmoVideo - never got it to work
Alas, all I needed was a trusty old command line utility that I hadn't used in years (not since my Mythbuntu days)...mencoder!

This command rendered the video you see below in about 5 seconds:

mencoder -fps 195/1.001 \
  -ovc copy \
  -audiofile soundtrack.mp3 \
  -oac copy input.webm \
  -o output.webm

My input file was 32:59, and I wanted my output file to be exactly 2:14, to match up with my chosen soundtrack, so I used a frame rate multiplier of 195/1.001.  It look a little toying to get it right, but it worked out very well, I think!

Special thanks to one of my oldest friends, and college roommate, Derek Bergeron who composed and performed the soundtrack.  This was a recording of his from several years ago that I borrowed as it just sounds perfectly frantic for the video :-)  In case you can't tell, Derek is one ripping shred guitarist!

Enjoy!
:-Dustin