Problem: Need to convert all 195 episodes of Mystery Science Theater 3000 from Xvid to MPEG. Other attempts to use Handbrake or ffmpeg were only partially successful due to the large amount of time required for encoding. Each episode can take up to 50 minutes to transcode. Transcoding at 24 hours a day that would take 6.7 days. Also, Handbrake is unreliable at this volume.
Hypothesis: With Google Fiber, transferring a file to the cloud is just as fast as across an internal network. Therefore it is feasible to move 80gb of data to the cloud for encoding which will greatly decrease the overall encoding time.
Solution: Write a script to automatically upload a directory of videos to the cloud, and use a transcoding service to convert them.
I first planned on using ZenCoder, since I had used them in the past and was happy with their service. However since this is about 25k minutes worth of video and ZenCoder starts at $0.05/minute, I shopped around and found out that Amazon's Elastic Transcoder was only $0.015. ZenCoder still has merits over Elastic Transcoder that make it worth the price, but not in this case.
Here's the Ruby script.
It basically uploads the files to an s3 bucket, starts a transcoding job, and waits for it to finish. I had it setup to automatically download the file, but decided it would be just as easy to use an FTP App to download them all when it was done.
The core benefit of this solution is not just the increased transcoding speed, but the parallelism. Elastic Transcoder will convert 4-5 videos simultaneously in one queue.
Results: I was able to transcode 11 seasons of MST3K, which is 417 hours of video, in 15 hours. That includes upload and download times. That's about 11x faster than the local transcoding estimate.
Conclusion: With gigabit internet, cloud services like video transcoding become more valuable to home users. While it's certainly not free, services like Amazon allow anyone to start at the same price point large companies enjoy. Not to mention the prices will continue to drop. Of course not everyone wants to write a script to do this, but that's were developers can step in and create software to help the everyday user enjoy the true benefits of the cloud.