I have a bunch of old VHS tapes that I want to digitize. I have never digitized VHS tapes before. I picked up a generic HDMI capture card, and a generic composite to HDMI converter. Using both of those, I was planning on hooking a VCR up to a computer running OBS. Overall, I’m rather ignorant of the process. The main questions that I currently have are as follows:
- What are the best practices for reducing the risk of damaging the tapes?
- Are there any good steps to take to maximize video quality?
- Is a TBC required (can it be done in software after digitization)?
- Should I clean the VCR after every tape?
- Should I clean every tape before digitization?
- Should I have a separate VCR for the specific purpose of cleaning tapes?
Please let me know if you have any extra advice or recommendations at all beyond what I have mentioned. Any information at all is a big help.
Why a separate VCR for cleaning tapes? It’s enough to clean the heads AFAIK.
Also, you should definitely not use default deinterlacing techniques for the video, especially not ones built into these generic dongles. Capture it interlaced, preferrably as losslessly as possible, then use deinterlacing software where you can fine-tune the settings if you need to.
No, TBC most likely cannot be done in software, unless the video features a prominent vertical bar (such as a black border). It depends on the quality you want to reach, look closely and decide if the jitter is acceptable.
Edit: TBC can obviously be done in software if you have the raw composite or head signal but that is not possible with the capture cards you have.
And keep the original interlaced versions too! You never know in the future you may want to use a newer deinterlater that works better. Or a new codec that can preserve more details in smaller files.
I’d keep the tapes too, you never know when the community will come up with better VCRs like how it’s happening in the retro computer world where we have things like the GreaseMonkey that can store the raw magnetic transitions on the platters and floppies.
I don’t expect newer VCRs to be made, there’s a lot of precise mechanical engineering and the R&D that would need to go into making a professional-grade VCR today does not make financial sense. However, there is an option to refurbish existing ones and capture the magnetic signal as directly as possible. On media such as VHS or LaserDisc, the signal is not quite composite video, as that would require some 6 MHz of bandwidth. Instead, the color subcarrier is remodulated to a way lower frequency and then back to normal for playback. The folks behind
ld-decode
(a project that takes raw signal from a LaserDisc’s laser pickup and translates it into composite video) and its forkvhs-decode
have made software that captures everything the head picks up into a raw file, and then does TBC and chroma decoding to create the best possible video. They also documented what hardware can be used for the capture (usually a firmware-modded Conexant video capture card or a beefy FPGA) and how to connect it to some VCRs’ circuitry.Of course, this is quite an over-the-top effort for home tapes, I’d just go with a generic composite capture card that does not deinterlace nor upscale and not bother with TBC.
This is a very cool project! Thank you for sharing it!
I was just thinking that the cleaning process might damage the VCR (as one is rummaging around in its internals [1]), so it’d be better to use a worse quality VCR for cleaning, and a good quality one for digitization.
References
What “default deinterlacing techniques” are you referring to?
How do I find out that information for the 2 things that I purchased (mentioned in the post)? How would I even control that? Only the composite to HDMI converter has a single switch from 720p to 1080p. I don’t see anything else that would control what interlacing technique is used.
What method do you recommend to accomplish this?
Is this possible in OBS?
If I did want to capture the raw signal, do you have any methods and/or tools that you would recommend to accomplish this?
Composite is 480i/60*. That is, 60 times per second a blanking interval occurs, then 240 lines of picture are drawn - either the top (odd) or bottom (even) field. This is neccessary for CRT TVs because a 30Hz refresh rate would cause seizures but drawing all 480 lines 60 times per second would be wasteful. Look it up online for details: if you want videos, I recommend the Television playlist by Technology Connections on YouTube, especially the first video.
*Technically, the vertical frequency for NTSC is 59.94 Hz (precisely 60000/1001) to avoid interference between color and audio while keeping compatibility with B/W sets. In practice, you should check that the video output is actually at this frequency; if it’s 60 then every 1000th frame will be duplicated - no big deal usually unless this also swaps odd&even fields. No such problem exists for PAL, which was always exactly 50 Hz.
If the converter only outputs 720p or 1080p (presumably at 60 Hz), all 720/1080 lines are drawn 60 times per second, which means lines are added with some scaling technique, after some kind of deinterlacing happens.
Deinterlacing is basically a task similar to scaling but with key differences:
There are various deinterlacing techniques that could be used here:
Don’t use the converter if it cannot output 480i or at the very least 480p! Scaling should happen during playback, the files should be original resolution. You can also try non-trivial upscaling with some AI tools (best use them after the “computation-heavy” deinterlacing method, see above) but still DEFINITELY keep the original resolution file for archival.
I don’t have experience with moldy tapes. It might be a good idea but adds wear; I’d just clean the VCR after every tape if I suspect mold. You’d still need to clean the cleaning VCR after every tape to avoid cross-contamination so it would be no easier.
Idk, I just keep my files interlaced and stored as high-bitrate H.264 (I don’t have enough computing power to encode sufficiently good bitrate in better codecs). If I wanted deinterlacing, I could process the files with
ffmpeg
filters or some other tools.This was very informative! Thank you for your comment!
How does one measure the input frequency of the video feed? I’m not aware of OBS being able to monitor the frequency/refresh-rate of individual input devices, but I could certainly be wrong.
I looked on Amazon again, and it seems that every converter being sold only outputs 720p, or 1080p — none of them simply repeat the input resolution, eg 480p or 480i. Would you have a converter in mind that would accomplish this?
Do you have any resources that you would recommend for proper cleaning of a VCR?
Get an actual composite capture card for the job. HDMI converters are passable for displays and not much else, especially if they insist on scaling to HD. Most generic capture cards will output the correct, interlaced video to your PC. Check community reviews online by people who know what interlacing means. As for a question in your other comment, you then need to check that your software’s video output is interlaced and the correct resolution and frame rate. I use
ffprobe
(CLI) or MediaInfo (CLI/GUI) to check this.The composite signal frequency will be either 50 Hz (SECAM or PAL) or 60000/1001 Hz (NTSC), depending on your region. Some later PAL decks have NTSC playback but you won’t see home NTSC recordings in PAL countries and vice versa unless your family moved. A good capture card driver will let you pick between these three standards and even tell you how many lines of video have been detected. However, this is not necessary as many capture cards will autodetect everything. If the resulting video is B/W, it’s probably an incorrectly set standard (NTSC and PAL encode color slightly differently (PAL is more complicated but more robust) while SECAM does its own very different thing), in which case you MUST find these settings and change them.
As for cleaning the VCR, I’d just buy a cleaning tape and “play” it for 20-30 seconds, never using the same section twice. If it’s supposed to be wet-cleaning and the isopropyl alcohol has dried up, you need to replenish it - check the attached instructions - and then give the isopropyl-cleaned mechanism a minute to dry up before inserting a videotape! Some people clean heads manually but I’m afraid I’d leave a hair or piece of cotton in the finicky mechanism and ruin everything.
Ha, honestly, I wish that I would’ve done this to begin with. It’s way cheaper, and simpler to get the one composite capture card rather than converting composite to HDMI, then capturing HDMI. I’m honestly not entirely sure why I did the latter — perhaps it’s because I was under some presumption that such a device wouldn’t exist (which, now, I realize is an obviously silly assumption to make). I found this one. It’s still just a generic capture card, but it’s a direct composite capture. Do you think that it would suffice?
Hmmm… It seems to be an EasyCAP clone, there are several devices in this form factor with different chipsets. As far as I’ve looked, they all will stream lossless interlaced video and it’s up to you how to handle it. The “720p” claim in the listing is likely bogus - the seller just misread the actual spec, which is 720x480i for NTSC and 720x576i for PAL. The last time I was capturing video, I used the VirtualDub software, which can store the raw capture in HuffYUV, however OBS can also capture interlaced video with decent compression. This capture device seems to be labeled as “BR116” based on photos in reviews, which can help identifying the chipset. BR116 is sold by Conrad and its manual by them mentions “STK1160” in a screenshot, so this Amazon one most likely also uses the STK1160 chip, which was one of the worst ones in this timebase stability test (which means it has no TBC). However, it’s alright if your VCR is a late model that already does TBC internally.
Good to know! That link has a lot of good information.
Noted! I will keep this in mind.
I came across this video about digitizing VHS tapes [1]. It talks about hardware to use, and hardware to avoid [1.6]. One of the examples that it gives for hardware to avoid seems to be a clone of the device that I was looking at on Amazon [1.2]. The rationale for why it should be avoided was that it doesn’t pass both fields of the interlaced video through independently [1.1]. Though, you have mentioned that it’s fine to capture the video interlaced, so perhaps this isn’t a big deal-breaker. The capture cards that the video recommends are:
References
So, uh… The EasyCAP device passes both fields into your PC but the video says that the driver does not interpret them correctly and uses probably the most common, incorrect deinterlacing method (see earlier comment with the method list). It is technically possible to reinterlace the video but I haven’t needed to do that, and you should do so before any lossy encoding to a file. I assume the community-written Linux driver has no such issue.
The tutorial is mostly correct for people who want to create YouTube uploads with just one program (for YouTube, progressive video is required and the 480p stream cannot be 60 fps and has a terrible bitrate (and 576p for PAL is not available AT ALL so 1080p60 makes sense) but I strongly recommend not deinterlacing nor scaling in OBS, you can do that later. Record 480i (interlaced) files at very high bitrate and perform the deinterlacing in post.
Never done this; see recommended techniques by the
vhs-decode
community.It’s been a while since I’ve done this but unless you’re recovering the Ark of the Covenant, it should be enough to follow these simple steps: use H.264 in OBS with high bitrate on a fast PC and preferrably using a USB 3.0+ port (even if the capture card is 2.0) to avoid clashing with other devices on the bandwidth-limited 2.0 bus. Check that the output is indeed interlacd. Look at stats/logs to see of any frames are dropped and investigate if it’s just the 59.94 Hz compensation, actual blank sections of tape or some part of the processing chain unable to keep up. Adjust audio levels; you might get better results using your PC’s mic socket rather than the capture card’s audio ADC (most tapes are mono anyway) but make sure to disable auto-gain or else quiet sections will get boosted like crazy, increasing the noise.
Is it possible to see this in OBS? I see an option to select an interlacing technique if I right click the scene
Are you referring to “stats/logs” within OBS?
If you are referring to a toggle on the capture card or the converter, neither have a button for that, so I think my setup is fine in that regard?
First question addressed in other today’s comment.
Yes, within OBS. IDK where it shows if frames were dropped but it most likely at least writes it to some kind of log. It is a key statistic for most use cases of the software so it would be bonkers if you couldn’t find it.
Auto-gain is a microphone thing, you likely won’t see it with line inputs on converters and capture cards because line levels are standardized and there will most likely be no overshoot.