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?"
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?"
http://deinterlace.sourceforge.net/
I've used this for some basic tape transfer. It was messy, but I think that was due to the TV card I was using. I think if I had a better quality TV card and a nice fast hard drive, I could have gotten a very nice picture indeed.
The denoising part is probably going to require some serious ASICs if you want a clean copy.
Good luck!
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.
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.
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
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.
I think that in cases like this, hardware is more important than software, that is the VHS player and the analogue-to-digital converter (aka framegrabber).
If those cassettes contain private things, than you are on the right way though.
Otherwise maybe it'd be better to seek for a DVD edition/remastering of that content.
Maybe Computers will never be as intelligent as Humans.
For sure they won't ever become so stupid. [VR-1988]
The best way to capture video is to get a analogue to DV bridge and put a Firewire card in the PC. Then you don't need to worry about drivers.
Like a Sony DSR-11 this will bridge from analogue to DV.
We use them at work.
There are places where the networks are not touching,and there are places where they are-Boeing's Lori Gunter
For professional quality VHS caps, grab a Canopus AVDC-300. They're a bit expensive ($250-300), but they're OS agnostic and achieve absolutely incredible results. There is really no competition in the consumer arena.
BBH
Only 5GB/h? Uncompressed standard definition is at least ~70GB/h (4:2:2 NTSC). If you're going to capture compressed then I suggest you not spend huge amounts of money on the equipment because compression will negate all the gains anyway.
The developers have their priorities as wrong as can be - they're working on special effects functionality even though it's too unstable to be usable and even when you can use it for more than 15 minutes, the very basic editing functionality is horrible. Unfortunately it seems that many users love open source so much that they're willing to withstand the crashes and are content with imprecise cuts (well, you can get them correctly if you spend 2 hours doing what takes 2 minutes in e.g. Premiere). I'm an amateur filmmaker about to become pro to some extent - an advertising agency "discovered" me by pure coincidence (I had never dreamt of earning a living doing what I love but was content with it as a hobby) and have now been given a budget to buy additional equipment, if I consider it necessary. Since I too love open source but am pragmatic, I'm contemplating making a proposal to the developers that if they get the basics right and reach a usable level of stability, I could persuade my employer to donate a few k$ to the project since then it would satisfy my needs. Barn doors and other horrible transitions are a tell-tale sign that someone has gotten their hands on some editing software for the first time in their lives but when you notice that those are gone and instead the film keeps its rhythm, you can tell that they've also learnt to use it (unfortunately the former takes minutes to learn, the former takes years).
With any reasonably modern video capture system (even the converters built into cheap consumenr DV cams), the weakest link in the chain is going to the be VHS deck. Being analogue, VHS decks are not all equal, they wear out, and they need to be kept well maintained and have the heads cleaned. To get the best results, I'd spend more time finding and maintaining a good, well built VHS deck that hasn't been used for years with no cleaning regime, and less time trying to post-process the recordings.
Getting the tracking right makes a huge difference to VHS quality, don't assume that tracking is a 'set and forget' operation since they objective is not to get the tracking 'right' but to match the probably inaccurate tracking that the particular VHS tape you are working with at any given time was recorded with. Make sure you have manual tracking control, and make sure you use it!
Some VHS decks offer a 'sharpness' control, which can do anything from blurring the image horizontally to adding nasty artifacts similar to those you get from overuse of Photoshop's "Sharpen edges" filter. I've found that manually messing with this to suit each tape can be useful, as you can balance letting through more noise against the artifacts that digital compression of noisy video suffers from.
A pizza of radius z and thickness a has a volume of pi z z a
The more signal wires you use to get the signal across, the better the video quality you'll get from your cable:
;>
Component (3 signal pairs for YUV) > SVideo (2 signal pairs for luminance / chrominance) > Composite (1 signal pair for everything!)
It's easy cheap to find SVideo capture cards, the Osprey brand is well respected and has good linux support, but so does most of the things from Hauppage. You'll have to search a bit harder for a professional VHS / S-VHS deck and capture card that supports Component I/O, but it may not even help you much since the VHS tapes are encoded at closer to SVideo quality anyway.
For more money (>$1k), you can find VHS (usually from JVC) and/or capture card equipment that supports DV or SDI, then you won't lose anything at all over the cabling (arguably overkill, but sounds like that's what you're going for). Plus, your DVgrab software can then often control the playback and rewind so you'd need less manual coordination. This way all of your sampling is done in the VHS hardware and your PC just worries about storing and processing raw digital data, which is what it's good at. There's much more OSS support for DV than SDI at the moment.
Anyway, test a few pipelines, compare some samples of the quality (especially with scenes with high motion so you can see how well your deinterlacing works), and get a farm of the final solution so you can get back to us on what setup worked the best
Have fun!
I've digitized a LOT of video tapes, some of them for money (i.e. a small business) and over the years tried many techniques.
/dev/video0 > filename.mpg" to grab the data.
Best found and what I use now?
1. Good VCR with time-base corrector. Mine's a JVC HS-S7600U, about $350 several years ago and still works like new. Higher end "broadcast" VCRs will *record* better but not necessarily *play* better - don't bother.
2. Hauppauge WinTV PVR-250 taking S-Video input from the VCR. Uses the Linux IVTV drivers. Hit play on the VCR, "cat
Between these two there are enough tweaks for sharpness/noise reduction/saturation/hue, etc. to deal with most any signal. Whoever said component output matters doesn't know how color information is laid down on (S)VHS tapes - look up "color under" recording for more info. S-Video gets you all the information that's there; Y/Cb/Cr component would be a waste.
The PVR-x50 series of hardware MPEG encoders produce superb results, of course in real time, and have quite advanced noise reduction capabilities. Do your own searches for reviews head-to-head with any other SD encoders. You can run them as high as 27 Mbps. Gotta keep it below 9.5 Mbps or so for DVD though.
In the past I have used a DV camcorder transcode mode to get video into the computer. If the final result is MPEG-2, e.g. for DVD, then you actually have an extra transcode step that way, going from DV to MPEG-2 using a software encoder. Better to go straight to MPEG-2. Downside to this - and practically a small one - is having about 1/2 second edit resolution due to needing to respect MPEG GOP boundaries. In practice that's not a problem, even for editing commercials from off-air recordings.
Enjoy.
Install KnoppMyth, plug the VCR into the video input of the Hauppage card, and hit play on the VCR. Profit!
I want to delete my account but Slashdot doesn't allow it.
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 -
Trolling is a art,
Searching a bit further, I found KDEnlive http://kdenlive.sourceforge.net/. Albeit still in developement, it is very intuitive and far more powerful than kino. It is based on the open source MLT framework, which was funded by video industry. I'm pretty sure the project developers would accept donation in order to extend existing capabilities. But most of the time, they're doing it for free. If you want to give it a try, make sure you're using the forthcoming version 0.5 with up-to-date libraries in order to enjoy the latest improvements.
... 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!
I picked up a cheapo TV card to set up my Myth box, mainly because in the long term I want to migrate to HD, and the NTSC card was just a stopgap. But at this point I'm beginning to think I might want a better quality card, since the cutover date has moved out another year, and depending on features may not be expensive.
When comparing video cards most of the energy of the reviews on NTSC cards seems to go into the on-card encoding, but aside from the ATSC cards there isn't much talk about front-end quality. My card uses a bt878, which is pretty standard, though it doesn't actually use the sound side of the chip. I'm under the impression that there are better capture chips than bt8x8, but this seems to be a dead area these days. Do you have any pointers?
The living have better things to do than to continue hating the dead.
I'm working on doing a live broadcast for a local political thingie that has a lot of folks' panties in a wad...
e rs
I'm going to be given basically RCA/component output from the Big TV Stuff.
Went to a Mac using coworker, stole a box off his mac that takes RCA/Component input and outputs it to firewire. Stuck a firewire card in my Ubuntu box, apt-get installed dvgrab and had at it.
The component -> fw box is by Formac http://www.formac.us/p_bin/?cid=solutions_convert
Says its for mac, works fine on my PC running Ubuntu.
Don't blame me, I voted for Kodos
I just finished doing exactly this sort of thing, so I'll describe what I did, how, and why.
/dev/video0 >filename.mpg
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
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
1. You lock the target.
2. You bait the line.
3. You slowly spread the net.
4. You catch the tape.
I had good results in past years using Virtualdub to capture video from a capture card/video card combo in windows. I used the huffyuv codec to losslessly compress down to about 30GB/hour for DVD resolution capture. There are a lot of free video processing plugins that can really clean up the video and make the encoded video much better (noisy video gets noisier when you encode to mpeg for DVD, particularly at lower bitrates). You can serve the filtered stream directly to your encoder (I used the non-free but very high quality TMPGenc, similarly priced consumer-grade CCE is also excellent). You can also use avisynth to serve and filter on the fly.
I agree with a previous poster about using a high-quality VCR, as they can clean up a noisy tape before it even gets to your computer. I do NOT agree, however on using dedicated A/D conversion hardware. Most consuemr grade products of that type are of poor quality. They're not as bad as in the usb 1.1 days, but in general the high quality converters are expensive. The consumer-level ones are a minefield of poor-quality gimmicks.
Honestly, most people have a pretty high tolerance for noise and video degredation, so you may be well served by a mid-level A/D converter or a DVD recorder. Particularly when you see the learning curve of doing everything with the 'best possibly quality' methods. I did it for fun, but I don't have the time to do it anymore.
If you're looking to learn a lot, check out Videohelp and ignore all the goofballs trying to rip their DVDs.
Question about using a TBC: Will that take care of Macrovision? I currently use a SVHS deck plugged into a Canopus ADVC110, and unfortunately discovered that Macrovision was trippping up the entire process for some source material. Putting aside copyright issues, will a TBC basically eliminate the Macrovision effect? Thanks to anyone who can help.
I've had reasonably good results using an old Sony camcorder which can convert SVHS in to Firewire out -- then use your favorite software to go from AVI to MPEG. The files are large, but the results are generally better than trying to go from SVHS to MPEG on the fly.
As for which software to use, I haven't found any that I like, free or otherwise.
Here's one question no one has been able to answer. Do you lose the VBI information during the conversion? e.g. close captioning, etc.
Unfortunately I'm using the Pinnacle Systems AV/DVE4. And no it doesn't work under Linux.
... when XFS was also recommended for this type of thing -- not because of throughput, but because it was devised to minimise hiccups and latency...
Does this still hold?
I have a PVR250 and I have sampled recordings from my old standalone Tivo, which was the same signal type as a VCR.
I bought a TV card specifically to do this but never used it because this has worked so well:
.wav which I convert to mp2 with ffmpeg.
I play the tape on a good VCR. The video and stereo audio output are hooked up to a Sony Digital Handycam (it's a DCR-TRV350). And the camcorder Firewire cable is connected to the PC.
This lets the Camcorder do all the heavy lifting. It outputs standard digital video which I capture with kino. I also use kino to do the clean-up, capture a frame (as a jpeg) and export some sound to use as the title screen for what will be the final DVD. The sound gets exported as a
Still with kino, I break up the video into chunks (about 4-6 minutes each) for chapters so I can skip through the DVD when it done. I then export the video in DVD format, telling kino to split chapters into seperate files (this makes chapter creation automatic in the next step).
I then use 'Q' DVD-Author to build the DVD filesystem. Although 'Q' DVD-Author can create the DVD automatically (calling dvdauthor), I prefer to tweak the dvdauthor.xml file to do some fun menu things and run dvdauthor manually.
I check my DVD (while still a directory on my hard disc) with totem, or mplayer. Finally I write it out using growisofs from the dvd+rw-tools project.
All this is running on a Debian system that is several years old. Nothing fancy or top-of-the-line here.
That's pretty much it. Been working great for me.
As for that TV card? Well, I watch TV with it - it's hooked up to my cable.