Slashdot Mirror


The Best VHS Capture System Using Free Software?

mrcgran asks: "I have been trying to find the best solution to transfer VHS tapes to a digital format using Free Software only. I would like to lose as little as possible in the conversion, sampling optimally, minimizing noise and being in control of every step of the process. Storage is not a problem. I'm expecting to use around 5GB+ for each hour of raw captured footage." If you were going to build a VHS capture system using Free Software, how would you do it?

The software part seems promising: VLC and mencoder for conversion of raw footage, Cinelerra and many others for video editing.

However, the hardware is being tricky. Most try to bloat the device adding functions like TV/compression/edition instead of focusing on the raw A/D conversion. Chipsets are hidden, and parameters like signal-to-noise, sampling rate etc are unavailable for comparison. Information is scattered and very difficult to find.

Which chipsets/products should I look for, specially for use with Linux and BSD? Which ones allow oversampling of pixel resolution and number of frames (in order to average the values and reduce the noise)? Which setup should I use: S-Video/Composite, sampling rate/oversampling, suggestions on high-quality VHS players/heads/tape cleaning processes, etc? Has anyone tried to use scaling algorithms such as hq/scalenx to upscale video and sound resolution? Pitfalls?"

14 of 85 comments (clear)

  1. Hardware by seinman · · Score: 3, Informative

    First, get an S-VHS deck. They'll play back VHS tapes with higher quality than a standard VHS deck will. Then, run the footage through a time base corrector. Look on eBay for that, but expect to pay a decent amount of money (the one I use is part of a $1000 video switcher, i've seen basic standalone TBCs for around $400 if memory serves). Then use whatever capture card you can find that works well with whichever distro you're using. Don't bother using an s-video connection (assuming your deck has one, chances are good it won't) as VHS is a composite signal to begin with. There will be no quality gain using s-video over composite in this case. I don't know much about the software side of things, unfortunately, as all the tools I use are commercial software for Windows and Macintosh systems.

    1. Re:Hardware by Anonymous Coward · · Score: 3, Informative

      Uh, VHS is *not* natively composite. You want to check your facts there. S-Video outputs do not engage a comb-filter because the luma and chroma are separate on the tape. This is the way to go. A simple moire pattern A-B will show this characteristic clearly.

    2. Re:Hardware by fyngyrz · · Score: 4, Informative

      This AC is correct. Use S-Video from a good SVHS deck; that's the best signal source. Also a TBC and a good digitizer - I use a datavideo DAC-100 which has firewire, composite, S-Video in *and* out, converts any to any and does a very good job. It also lets you select 16- or 12-bit audio conversion (for firewire output.)

      Since you're not using a Mac, I have no suggestions for software. The Mac itself is so friendly to this process, I've never experienced any problems of any kind.

      --
      I've fallen off your lawn, and I can't get up.
    3. Re:Hardware by fyngyrz · · Score: 4, Insightful
      Why is an external time base corrector required when you are going to sample and process the signal anyway?

      TBC's do a lot - you should read this short page, it is very concise and to the point.

      The other two questions are not relevant because you were fed misinformation. You do want an SVHS deck, and you do want to use S-Video as the source if humanly possible. Composite video is more of a compromise than S-Video is. Keeping the chroma and luma separate resolve interference issues you have seen many times such as ties with stripes turning colors.

      --
      I've fallen off your lawn, and I can't get up.
  2. Virtual VCR by toasted_pants · · Score: 3, Informative

    I've found the Doom9.org's Capture Guide as the best place to get information.


    1. Use Virtual VCR to capture from the VCR going to the huffyuv lossless codec.
    2. Use AVISynth to fix up the degraded tapes (also in the guide).
    3. (Not free) Use Tmpg Encoder 4.0. It was worth the money for me because I wanted a fast, reasonably high quality mpeg2 encoder. But there are certainly free options instead.

  3. The sky's the limit by moosesocks · · Score: 5, Informative

    You're right that you're going to run into hardware problems unless you choose very carefully.

    As is the case with most things related to analogue/digital conversion (and also to video editing), the sky's pretty much the limit when it comes to the amount of money you can sink into your equipment.

    For starters, a broadcast-quality VCR will set you back quite a bit. Great capture hardware's going to do you no good if the quality of the source is poor. We'll leave this part as an exercise for the reader.

    Now that you've got a decent VCR, you can go splurge on an expensive Analogue-Digital converter. Any decent-quality device won't offer all of the unnecessary "bells and whistles" (such as hardware-based MPEG/WMV encoding) that the parent poster describes. Instead, most pro-grade boxes will take an analogue signal (RCA, S-Vid, or even BNC if you want to go all out), and output a standard FireWire DV signal that any decent video editing software should be able to handle. Canopus' hardware is very well-regarded for these purposes. Their products range from somewhat inexpensive (~$150) for consumer-grade products to appallingly expensive for the pro-grade stuff.

    However, the fact that you were considering using a TV-tuner card to do the capture seems to indicate that you haven't done anything like this at all. If your content is bad enough that you really NEED to be "in control of every step of the process", you're better off outsourcing this to a professional. Otherwise, a decent VCR and A/D converter should clean up the signal pretty well for you. You can always take care of things like de-interlacing in software later on.

    I might also recommend stepping down from your podium, and considering editing your video with non-free software. I can't help but think that the gap that exists between Cineleera and Final Cut Pro is even bigger than the gap between Photoshop and The Gimp (which is pretty huge). Most professional studios use either Avid or Final Cut (and I'm really not trying to be an apple fanboy here -- Apple and Avid basically jointly own the entire industry). Compared to the rest of the costs of video production, Final Cut is a steal.

    Alternatively, there are VHS/DVD-R decks out there that will automatically make dubs for you. Sony makes one, and it costs around $200 the last time I checked. Quality's not going to be the absolute best, but will still be pretty darn good. And it's easy as long as your source doesn't have macrovision.

    --
    -- If you try to fail and succeed, which have you done? - Uli's moose
  4. Using a DVD recorder by Rastignac · · Score: 5, Insightful

    Plug the VHS reader with the DVD recorder. Play the tape and record it on a DVDRW (using highest available quality). Voilà. That's the easiest way to do it, and the quality is good. Now put the DVDRW in your PC, and get the files (MPEG2 VOB), and use any software for editing them.

    --
    -- Rastignac was here.
    1. Re:Using a DVD recorder by gozar · · Score: 3, Interesting

      Plug the VHS reader with the DVD recorder. Play the tape and record it on a DVDRW (using highest available quality). Voilà . That's the easiest way to do it, and the quality is good. Now put the DVDRW in your PC, and get the files (MPEG2 VOB), and use any software for editing them. --

      Yes, this is the best route to go. I purchased this DVD/vhs recorder: http://tinyurl.com/37ray4

      I don't know if JVC still makes it, but it will upsample your VHS and DVD viewing to 720p or 1080i (using HDMI outputs, it only goes to 480p with the component output).

      --
      What, me worry?
  5. Re:DV capture bridge by rasper99 · · Score: 3, Insightful

    Since you want to use free software it might be to save money along with your principles of avoiding M$. Quality may suffer a bit but you can use a DV camcorder (which you could probably borrow) that has analog to digital conversion for the DV bridge mentioned earlier. Hook the VCR analog video to the camcorder. Hopefully you can use S-Video instead of composite. Then firewire from the camcorder to the PC firewire.

    This makes it just like a DV camcorder capture which is rather straight forward. No TV capture cards, etc. Let the camcorder do the analog to digital conversion like it is designed to do. Once captured compress using your favorite codec.

  6. Re:Dscaler? by MrShaggy · · Score: 3, Informative

    I was looking into stuff for a linux myth-box, and got reasonably far.

    If you are using Linux, you must make sure that you can use HDPARM on your drives.

    There are a tons of websites out there that can explain how to get that going.

    MS tends to make that happen, while Linux doesn't. I went from stupidly choppy video, to almost real-time, using a relatively older harddrive.

    Even on newer drives, you won't see much difference until you can get hdparm on.

    You also have to make sure that its in the boot-scripts.

    --
    I have mod points and I am not afraid to use them.
  7. The best way to capture VHS... by grub · · Score: 4, Funny


    The cheapest way to capture VHS tape:

    1 - Aquire discarded cardboard box, stick, string.
    2 - Get some bait. VHS tapes love jam.
    3 - Prop up box along one length, open side down, on stick.
    4 - Attach jam to stick with short length of string.
    5 - Place bait under box.
    6 - ... wait for your prey ...

    --
    Trolling is a art,
  8. Trying to start a business... by Thumper_SVX · · Score: 3, Insightful

    ... or trying to capture your home movies to digital format for archival? This makes a big difference.

    If you're looking to start a business to do this, then the software should be the least of your worries and you should be looking at broadcast quality hardware to do the conversion. An OTS VHS recorder strapped to a PC with a raw capture card (they do exist for Linux and they're pretty good with minimal features... check the MythTV Wiki for info on those) is going to give you something that's going to look/sound worse than VHS no matter what you do. But again, if you want to do this commercially, then there's no replacement for quality hardware and software.

    An Apple Mac Pro with capture cards connected to broadcast-quality SVHS playback hardware is going to be your best bet... and the software's readily available (though not cheap) and extremely nice to use. No, I'm not an Apple fanboy (though I do use a Mac laptop), but this kind of media manipulation is precisely what Macs are good at and the software/hardware available on that platform is still better than the equivalents on Windows in my opinion. At the very least, it's a more mature media platform than Windows or Linux.

    The point I'm getting at here is that if you're going to do it right, you're going to spend $10,000 on hardware... why run free software when it'll only cost an extra grand?

    (NOTE: For the pedants out there, I know the numbers are not precise... I'm just making a point, here!)

    Now, if you're looking to just convert your VHS collection to digital... screw it. You're never going to get the economies of scale on the hardware you'd need to make the expense worth it. There are plenty of companies out there already who do this commercially, and have the commercial grade equipment to do the conversion. They can do this because they resell the service over and over... most of them recoup the cost of hardware pretty quickly... and they have professional, experienced people who will do the cleanup on the captured video before it's dumped to a digital medium.

    I've watched some of these guys work, and they amaze me. You'll end up with something digital and indistinguishable from your VHS tapes... in fact with decent image processing by an experienced editor and some sound processing thrown in the results may appear BETTER than the source material played back on your average consumer-grade VHS player. They won't really be significantly better... but with corrected color balance and resampling and cleanup of the soundtrack you'd be amazed the difference it can make. Total cost might only be around 10% of the cost of the hardware that you're talking about needing to do the job right.

    Besides, after spending all that money on the hardware (see above) and doing your captures, what then? eBay it? Good luck... you might get 30% of your money back at the end of the day, and that's presuming it sells!

  9. Re:Dscaler? by evilviper · · Score: 3, Informative

    If you are using Linux, you must make sure that you can use HDPARM on your drives.

    Not at all. hdparm was needed to enable DMA in the past, but since latter versions of 2.4, and with all 2.6 kernels, DMA is enabled by default, if at all possible.

    You can run hdparm to enable 32bit transfers as well, but that's not going to make a significant difference, unlike DMA.

    --
    Slashdot gets worse every day... Pipedot: News for nerds, without the corporate slant
  10. I used a PVR-500 and mencoder by pestie · · Score: 3, Informative

    I just finished doing exactly this sort of thing, so I'll describe what I did, how, and why.

    Some caveats: 1) I like working from the command line. 2) This was not a project for which I wanted ultra high quality - "good enough" was good enough for me.

    I have a Hauppauge PVR-500 (a hardware MPEG encoder/TV tuner card - basically, this card is a pair of PVR-250's on one PCI card). This card is well-supported on Linux by the IVTV drivers. I decided to use its composite and audio inputs to convert some old VHS porn (gotta love that 80's-era stuff) to modern digital file formats so I could finally toss out the old VHS video tapes, some of which were quite degraded (they were formerly rental tapes, and some were nearly 20 years old). I used an old-but-decent-quality Sony VCR as the video source and fed its outputs straight into the PVR-500's first set of inputs. Capturing video was as simple as:

    cat /dev/video0 >filename.mpg

    How's that for simple? Heh... I "retensioned" the tape beforehand (fast forward all the way to the end, then rewind all the way to the beginnig) and made note of how long the tape was. I used a kitchen timer to let me know when the tape was nearly finished playing so I could stop the capture at the approprite time.

    After the capture was finished, I used mplayer to find the exact end point (just after the credits faded to black, for example) and to find where to crop the video (most analog captures will end up with black bars on the left/right sides, and old tapes often have distortion at the top or bottom). mplayer's "cropdetect" feature was invaluable for that. I would play the file with a command like this:

    gmplayer -vf cropdetect filename.mpg

    To use cropdetect, you have to fast-forward into a part of the video where the picture doesn't have any black at the edges (no dark scenes, transition fades, etc.) Then you just look at the terminal window to see what cropping parameters to use (it spits them out continuously). I found that sometimes the default setting wasn't sufficient to eliminate the black bars completely, so I would occasionally use cropdetect=50 to make it a little less conservative about what it detected. That value of 50 was chosen by experimentation, so feel free to experiment yourself. 50 seemed to consistently work well for me. There are no units on that number, it's just a scale from 0 to 255. In the end, I'd have a set of cropping parameters that looked like this:

    -vf crop=704:476:12:0

    Those numbers are: X dimension, Y dimension, X offset, Y offset. Offsets are measured in pixels from the upper left corner.

    Cropping the distorted crap at the top and bottom isn't quite so easy. It's not all black, so cropdetect doesn't detect it. So I had to manually adjust the parameters. The tricky part is the way mencoder/mplayer wants its dimensions specified. It would be much simpler if it used a format of startx:starty:endx:endy rather than the size/offset described above. As it is, if you want to crop pixels off the top or left side, you have to shorten the appropriate dimension by N pixels and then add N pixels to the offset. This sounds like a pain in the ass, but in practice it's not so bad. You get used to it very quickly.

    Now that I had my crop values, I'd use mencoder to resize, deinterlace, and transcode the whole thing into h.264 video and variable bitrate MP3 audio. I experimented with AAC audio, but for some reason I kept having much better results with VBR MP3. I think the FAAC codec (the one bundled with Ubuntu Dapper) I have is just too old to be efficient. When Feisty comes out this month and I get around to upgrading, I'll try AAC again. Anyway, this is a complex command line, so I wrapped it in a script:


    #!/bin/bash

    # Bit rate at which to encode
    # Formula for h.264: X * Y * FPS * 0.125
    # Common