I have realized my DVD-streaming dreams
A little procrastination made it easier than I ever thought possible
One afternoon in the 1980’s I got to visit the Pittsburgh apartment of filmmaker George Romero. Among the delights of that visit for this budding cinephile was the wall of shelves filled, floor to ceiling, with hand-labeled VHS tapes of famous movies. Classic films, popular films, important films, silly films. My eyes popped out of my head at each title I read. I resolved then and there someday to have my own such wall.
A decade later I resolved to rid myself of the movies on VHS that were plaguing me. I didn’t have just one neat wall of them: they were in stacks and mounds all over my house. I had been diligently, perhaps obsessively, recording them from premium cable TV services for years. To save space and money I recorded them in “SLP” mode, fitting up to three movies on a tape at the expense of image quality — and that was when the recording was new. As was well-known even then, the quality of a VHS recording degrades rapidly (leading filmmaker James Cameron to give this technology the memorable label, “crap-vision”). Some of my recordings had become all but unwatchable.
And almost insultingly, a flood of titles was now becoming available on a newfangled technology called DVD, with theater-quality audio, clear, uncropped widescreen images that didn’t degrade, random-access chapter stops, and irresistible special features like vintage trailers and commentary tracks. By now I had a little money to spend and so started building my DVD library.
You can see where this is going, right? Before too many more years, with my VHS collection consigned to the trash heap, it was my DVD collection crowding us out of house and home, especially now that my wife and I had started a family and we needed the space for Thomas trains and Lego. But what could replace it? Not Netflix’s DVD-by-mail service; excellent as it was, it still involved unacceptable delays when the impulse to see a particular title struck, and occasionally would fail to have a desired disc available (a problem that has only worsened over time). And not the streaming services that arose in the 2010’s, with their haphazard patchwork of ever-expiring or unobtainable licenses.
No, the solution clearly was to rip my DVD’s and store them as computer files.¹ This could be done at the cost of hundreds of megabytes per title, if I were willing to transcode the resulting rip to a compressed format (using something like Handbrake). But I wasn’t willing: that would sacrifice alternate audio tracks, menus, chapter stops, and more. I wanted a bit-for-bit backup of my DVD’s, at the cost of six or eight gigabytes per title (easily done with the dvdbackup tool, which duplicates the ISO-9660 filesystem that discs contain; and then the genisoimage tool, which bundles the resulting hierarchy of files and folders into a single big file).
That storage requirement, multiplied by the number of discs I owned, was formidable. I envisioned needing to stash a great honkin’ NAS server in a closet somewhere and running Ethernet to my living room.
At some point it dawned on me that if I were willing to pay a cloud-services provider like Amazon or Google to store my backed-up DVD’s, I wouldn’t need that NAS.
Once I could deliver the bits of my backed-up DVD’s to my living room one way or another, what software could play them back on my TV as if the disc were present? Here I lucked out: there was already a mature open-source package called Kodi (formerly xbmc) that fit the bill.
I started teaching myself about how to build a home-theater PC. It would have to be silent — no noisy fans to interfere with movie-watching — and able to display sixty frames per second on the 4K TV I hoped to have someday. Another tall order, requiring expensive components and the willingness to risk destroying them by soldering them together with limited expertise.
I would write the necessary software bridging the gap between Kodi and the cloud storage system where my backed-up DVD’s lived.
As the Covid-19 pandemic descended and we were all condemned to shelter in place for an indefinite period, the time finally seemed right to get serious about this project. And then something glorious happened: Google introduced the latest version of its Chromecast streaming dongle.
A Chromecast is a tiny, silent computer! With fast wireless networking! And the ability to display sixty frames per second on a 4K TV! Best of all, the latest version can run Android apps — including the Android version of Kodi.
Suddenly I had almost everything I needed, for the low low price of fifty bucks, plus 6–8 cents per month to store each of my ripped discs in Google Cloud Storage. Say what you will about the dumpster fire that was 2020 — it gave us this. All that was left was to write the software to deliver data from Google Cloud Storage in a format that Kodi could use. This I did at github.com/bobg/kodigcs, and made it available as open source, like Kodi itself. The whole thing works like a hose and has made lockdown more tolerable. Even better is the thought that it might do the same for you. I only regret that this didn’t all happen in time for George Romero to enjoy it too.
¹ — Here it’s worth mentioning the fuzzy legality surrounding the practice of ripping DVD’s. What’s clearly illegal is making a duplicate of a copyrighted work available to anyone else. (I am not a lawyer, but this presumably includes selling or giving away the original disc once you’ve backed it up.) It’s less clear how acceptable it is to make backups (or “format shifts”) for personal use. Some information on the topic can be found at https://en.wikipedia.org/wiki/Ripping#Legality.