Digitizing VHS with Fedora

VCRs won't be around forever. Here's how to convert your old VHS tapes to digital format in just a few steps.
Register or Login to like
Open video

Opensource.com

Just before Christmas, I decided it was time for my kids to see one of my favorite movies: The Muppet Christmas Carol. I grabbed the tape (yes, tape) off the shelf and put it in the VCR (yes, VCR) and... nothing happened. Oh no!

I have a dozen or so movies on VHS that we still watch. To be honest, I'm not that concerned about the commercial movies; those are easy enough to replace. But what about our home movies? My high school cross country team videos and my wife's marching band videos, among others—you won't find those on Netflix anytime soon. So I decided it was time to get serious about something I'd been meaning to do for a long time: Digitize my VHS tapes.

In this article, I'll describe how I set up my Fedora desktop to convert my VHS tapes into 1s and 0s. Previously, Don Watkins described a different setup for VHS conversion.

Step 1

The first thing I needed was a video capture card. Years ago, I had one that I had used for a MythTV setup. I knew the manufacturer was well-supported in Linux, so I just needed to find a model that had RCA input. I bought a used Hauppauge WinTV PVR-150 and installed it in an available PCI slot.

The kernel recognized the capture card. So far, so good.

Step 2

I opened VLC and tried to view the input. No luck. After nosing around in dmesg output, I discovered that I didn't have the firmware for that card (v4l-cx2341x-enc, specifically). Fortunately, Fedora's ivtv-firmware package has the files I needed. After a dnf install ivtv-firmware and a reboot, I was off to the races.

Or not. VLC still wasn't showing me anything, but I could watch the video input from mplayer. More specifically, I could watch static. But, it was progress.

Step 3

The last step was to tell the card which input I wanted it to use. I installed the v4l-utils package, and after some trial and error found that v4l2-ctl -i 2 set it to use the RCA input (instead of coax or S-video).

With that done, mplayer /dev/video0 gave me the output from my VCR. Now to save it to a file. mplayer -cache 8192 /dev/video0 -dumpstream -dumpfile my_video.mp4 was the command I needed. The -cache 8192 helped suppress some occasional error messages about my computer being too slow (it's not, I promise).

That's a wrap!

That's all it took; a few steps and I was converting my VHS tapes to digital files. The only downside is that mplayer can't tell when the tape has reached the end, so it requires some careful babysitting to stop the capture. Once the files are done, I use Kdenlive to snip off the extra at the beginning and end.

Now you can digitize your own tapes before VCRs completely vanish from the face of the earth. Have suggestions for how to improve this workflow? Let us know in the comments below.

Ben Cotton is a meteorologist by training, but weather makes a great hobby. Ben works as the Fedora Program Manager at Red Hat. He co-founded a local open source meetup group, and is a member of the Open Source Initiative and a supporter of Software Freedom Conservancy. Find him on Twitter (@FunnelFiasco) or at FunnelFiasco.com.

9 Comments

Now that it's all digitized I expect to see those cross county videos on Netflix soon.

Great article! There are lots of VHS tapes out there that need digitizing. Your solution is great. I hadn't thought of using this approach. I once built a MythTV using a WinTV card from Hauppauge .

Thanks, Don! Years ago I used a different Hauppage card for MythTV. But shortly after I was done, the provider starting moving to digital. And then I canceled service anyway. I just bought an antenna to get over-the-air broadcasts, I may have to setup MythTV again to record the few things I really care to capture.

In reply to by Don Watkins

I've been trying to find time to do that too. I don't know if it will work tho, I'll be trying with a Somagic variant of the EasyCAP. (generic USB capture card)

Sorry about the first comment, a slip up. I used a USB 2.0 capture device from ezcap(cheap) Video for Linux 4 compatible and Open Broadcast (OBS) optimized for video capture not streaming. I works great and has a user friendly front end.

Great article.

I may have one VHS like tape I'd want to digitize (my wedding) but most of my tapes are currently on Hi-8 tapes which the recorder can connect ... via FireWire.

I think I need to rummage through the basement for the card and wires and hope the recorder can survive long enough to digitize my tapes.

You're article is inspiring me to make this my next project.

So, thanks for the article. It's going to be a point of reference when I get everything together.

Creative Commons LicenseThis work is licensed under a Creative Commons Attribution-Share Alike 4.0 International License.