August 8, 2012

About video

I recently began thinking about video recording. There are two problems I commonly run into:

1. Making DVDs for my not so tech savy parents.

2. Creating permanent copies of pictures and videos, so that I won’t lose memories of my son when I upgrade phones/computers/etc…

I used to think I’d solve these by making DVDs on a routine basis. But there’s a problem with that — it takes too much time ( even with iMovie ). So, I thought about how to automate it so that it’s fully automatic. I’ve been examining what it would take to fully automate the process( or at least to the point where I have ISO files I can just burn ) is that we have many different ways to record video — our phones have cameras and we have a camcorder.

Before I started writing such a complex tool, I wanted to just buy it( or maybe use an online service to do it all ). I’ve looked at software that already exists, but it’s not automatic enough. I want to do as little as possible. So, I’ve been looking at writing up a script to do it all on a Linux box running FFMpeg.

Here’s what I’ve discovered so far:

iPhones email videos @ 480×272, encoded in h.264 with AAC. The video is in a recorded in a fixed position ( landscape orientation ), and has orientation metadata used by players to orient it correctly. I’m still figuring out the max info about items stored in the camera roll.

DVDs are 720×480 or 720×576 ( standard DVD. Can be HD, but I’ll worry about that later )

In order to concatenate videos together, everything must transcode to MPEG-1, at the same dimensions. Different sized merged encodes will cause DVD players to do weird things ( like skip the clip, or to crash. ) DVDs, however, are MPG-2 format. So, there’ll be a lot of transcoding before I get to DVD. Quality loss could be a serious problem. I’ll have to use very high quality settings in my encodes. This means that I’ll probably have to use a cloud service for any significant length of time, as I don’t want to tie the home computer up all day transcoding, merging, applying filter effects, etc…