TL;DR
I have 60 VHS-C tapes to go through. I've already gone through and captured them once the wrong way using a sub-par capture device. I have since bought an I-O Data GV-USB2 capture device at the recommendation of someone on Reddit, but I'm now very overwhelmed with all the information I've learned. I don't want to do it "wrong" again, so I'm finally here, asking for help...
I'm not trying to go for lossless archival storage here...just better than average. I'm hoping someone can help point me in the right direction of the best software, settings and codecs to use for the I-O Data GV-USB2 capture device.
=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=~=
The long version of what I've tried and how I got to this point:
Hey all...So I have a box of about 60 VHS-C tapes my Dad gave me before he moved and asked if I could look into digitizing them. I'm the computer nerd in the family so naturally it fell on me. The tapes range from 1998 - 2007.
I had very wrongly assumed that this would be an easy task...but as a software developer, I should have known better. lol. I have been falling deeper and deeper into the rabbit hole every day for the last 3 weeks.
I went to a local antique mall and found a booth selling tested / working VCR's so I grabbed whichever one looked the newest (that's all I thought to look for at the time).
I'm incredibly overwhelmed with all of the information out there...I've been studying how capture devices work, how upscalers work, how VCRs work, how encoders work, how CRT TV's and NTSC and interlacing works....at the end of the day, I just want a better than average but "good enough" capture of all these home movies. BUT, the more I research I do, the more lost I get in regard to software, drivers, codecs, settings, resolutions, etc.
I'm hoping maybe I can get some clarity here because I got basically zero responses on Reddit.
First attempt...
I started off with buying a ClearClick Video2USB adapter...it supports HDMI, S-Video and Composite input and connects to your computer with USB-C. I spent days trying to figure out the best way to capture from it until eventually I learned it's both a capture device AND an upscaler (to 1080p) AND it automatically deinterlaces - all probably great things for a non-techy to capture VHS tapes, not so great I've learned for capture quality.
I figured, screw it, it's probably "good enough".
I started off doing my captures with OBS, but I got annoyed with all the settings and re-encoding and I wanted to simply capture a raw stream of data. So I switched to using FFMPEG directly to do all of my captures. I played around with various filters and codec settings like color formats, profiles, etc, but nothing seemed to make a noticeable difference.
So, I simply captured the ClearClick video exactly as it is provided (ffmpeg -c copy)...MJPEG, 1920x1080 at 60fps (not 59.94). Though I learned that even though the device reports as 60fps, the file it produces is actually only 30fps. Every other frame is invalid.
Then I used ffmpeg to downscale the captures back to 720x480 DAR 4:3. The resulting videos are not terrible, but not great. Good enough to share with the family, but I could tell a lot of quality had been lost.
Second attempt...
Then someone on Reddit suggested I get an I-O Data GV-USB2 since that would allow capturing the analog signal. So I ordered one from Amazon Japan and it just arrived yesterday.
I'm now trying to figure out what software, codec, settings, etc to use...I started off with plain FFMPEG and capturing the stream exactly as it is...but I wasn't sure if that was the proper way to go, and MPC-HC was complaining about playing the file, something about "pins"? But maybe that's because I captured to MKV instead of AVI.
Then I started playing around with OBS - was reminded why I didn't like it, so I found and moved onto VirtualDub2. I was playing with that for a while till I started seeing other forum posts recommending AmaRecTV...so now I'm trying to figure that out.
Then I started learning about deinterlacing...which I guess you can do at the capture device level, but that's bad, so then I learned about StaxRip for deinterlacing and that seems to work well...but the file it produces (based on the guide I followed) is 3x the size of the input file...not sure what I did wrong there.
And now after ALLLLL of that...I'm learning, I should probably buy a better VCR that has S-Video rather than just Composite because S-Video splits the video data up similar to how its stored on the VHS tape (brightness and chroma or something?), so it results in a better capture. So now I'm looking through Facebook Marketplace for an S-VHS player 🙄
+ Reply to Thread
Results 1 to 22 of 22
-
-
Yes, the key element for a good capture is the player (VCR), which should be a high-end S-VHS VCR with Y/C output and TBC.
A specific DVD Recorder in pass-through mode with a non optimal player can be sometimes a workaround.
IOData GV-USB2 is a nice and recommended capture card.
Capture 4:2:2 YUV lossless interlaced with AmarecTV (a guide here https://www.digitalfaq.com/forum/video-capture/12986-amarectv-frame-inserts.html) and HuffYUV (or other lossless codec) and do all the filtering (deinterlace, denoise, sharpening, upscale if needed, encoding) in post-processing. -
I don't really have anything to post/share mostly because I'm just spamming all the different combinations of settings to see which ones work well.
I'm now at the point where I have really no idea what to use for capture, what settings, what codecs, what the output format should be, etc, etc. I've reached information overload with all the options heh. -
Thank you! And yes...I have unfortunately learned the hard way. It didn't even occur to me to look for S-Video when I happened to come across this old electronics booth. Fortunately I didn't pay too much for the VCR, so maybe I'll get lucky in finding one with S-Video. It would be nice to find one with a TBC, but I don't know how important that really is? The cheap composite VCR I used to capture the first time seemed to produce pretty decent captures and I didn't notice any skewing a TBC would fix.
-
It sounds like you have a lot of info, but are trying to get context. I will try to help. The VCR and capture card are the two most important items. Other items can help, like a Line TBC passthrough device (eg, ES10 or ES15), and a frame TBC passthrough device (eg, Datavideo DVK100, DVK200, Datavideo TBC-1000).
Realistically because of the cost, most people will end up with: a Super-VHS VCR (either the basic kind, or the kind with the LineTBC/Noise Reduction feature), an ES10/15, and a good capture device.
Assuming you have a basic Super-VHS VCR, connect the devices with cables like this:
VCR --svideo/audiocables-- ES15 --svideo/audiocables-- GVUSB2 --usb-- computer running VDub 1.9.11 or Amarectv software
Make sure to install to your computer either the HuffYUV codec or the Lagarith codec. I prefer HuffYUV for reasons I have forgotten. I think it had to do with compatibility with Adobe Premiere.
Import the AVI file into Hybrid and at minimum deinterlace (Top-Field-First) with QTGMC. Upscale if you wish (with NNEDI3). Denoising and degrain a bit with one of the tools available for that (I don't have strong feelings about which is best). De-halo a bit. Add a tiny bit of grain to help avoid the people in the video looking too plastic due to overdoing it on the denoise and degrain. There are other tools in Hybrid that can be useful for specific artifacts like something called dot-crawl, or rainbowing, or color-bleed. Being able to recognize these artifacts was the single biggest question mark for me at the start. Because everyone was talking about these imperfections and I had no idea what to look for.
Output to ProRes422 and then bring into the free Davinci Resolve for color and brightness adjustments, if you wish.
Output to H.264 for publishing to YouTube, Vimeo, or sharing with family via Google Drive or similar.
My recommendation is to digitize one tape and practice on that one again and again is necessary before committing yourself to the final workflow.
Oh, and also come up with a good naming strategy for the folders andf subfolders. Like:
Tape001
-01_Raw
-02_Hybrid_enhanced
-03_Resolve_color
-04_Final
And for your file names, trying to keep track of your workflow. Like:
1999-02-10 Jed's 1st birthday - JVC HR29 - ES15 - GVUSB2 - HuffYUV.avi
1999-02-10 Jed's 1st birthday - JVC HR29 - ES15 - GVUSB2 - HuffYUV - Hybrid.mov
1999-02-10 Jed's 1st birthday - JVC HR29 - ES15 - GVUSB2 - HuffYUV - Hybrid - Resolve.mp4
While you are practicing, you may want to create little txt files that include your settings in Hybrid so that future you will know what generally worked best. Or you can copy and paste screen shots of the various setting screens into a Google Doc.
In fact, I recommend you keep an ongoing Google doc with what you learned along the way, links to forums and awesome posts (like this one!). I have 100+ page Google Doc will all sorts of info I learned along the way. -
Just some additional remarks on my side, most of your reply is sound.
The most important elements for a good capture are the VCR and the conditions of the tapes. Capture card, although important, comes later, and there are few quality cards available new in the market, so not an issue.
Not really. The recommended workflow is a high-end S-VHS VCR with TBC and Y/C output. If the conditions of the tapes require it, add an external TBC as you mentioned.
The ES10/15 is used only when the VCR does not have a TBC nor a Y/C output or for specific cases where the TBC inside the VCR does not solve all the issues (ES10/15 make stronger correction than VCR's TBC in that respect, but with drawbacks).
Hybrid is just an (excellent) GUI for AviSynth/VapourSynth. To use at its best, or to bypass it and work directly with scripts, you need to understand the nature of the video and the basics of AviSynth (at least). The tools in Hybrid you mentioned are AviSynth/VapourSynth filters.
As Selur says, Hybrid is NOT for beginners (and BTW the processing order you propose is not appropriate)
Or just upload to YouTube the lossless processed video, if size and time is not an issue -
-
-
My AmarecTV guide here.
Originally Posted by Chad
Originally Posted by Chad -
Ah okay, that makes sense...
Uploaded!
Now, just FYI, this is captured with VirtualDub2. For some reason, I can't get AmaRecTV to detect the Huffyuv codec, but VirtualDub2 sees it no problem. So I'm working on figuring that out now.
Details for the attached:
Captured using VirtualDub2
Video > Capture pin...
* No changes from default - NTSC_M, 59.94fps, YUY2, 720x480
Video > Capture filter...
* No changes from default - Input:Composite, Deinterlace:Weave (off), Scale:Stretch
Video > Compression
* Huffyuv v2.1.1 - Pixel format set to 4:2:2 YCbCr (YUYV, YUY2)
Video > Set custom format...
* 720x480 YUY2
Capture > Capture Settings...
* Frame rate: 59.94
No cropping, deinterlacing or any sort of post processing, just a raw capture from VirtualDub2. -
Thanks for the guide! That MSI installer for the huffyuv codec did the trick. AmaRecTV is able to pick it up now.
I followed your guide start to finish and matched everything exactly, including manually setting the FPS to 29.97 even though that capture option was not available. The only difference was I used huffyuv instead of Lagarith.
The video is attached exactly as it came out of AmaRecTV based on your guide. It's the same 16 second clip as my other upload from VirtualDub2.
I also included the recording report txt file. -
Well done. Looks good to me. I'm only 'average' though so the experts will have more to say, but you're well on the way now.
-
haha thanks!
The one thing that I'm still pretty confused about is the frame rate. Prior to your edit, I saw you mentioned NTSC should be 29.97. So I recorded the video twice...I followed your guide exactly, but in one recording I used 29.97 and in the other recording I used 59.94.
Then I loaded each video into separate instances of VLC and I manually stepped into the video frame by frame and confirmed their frame rates were ~30/~60fps.
By that I mean...when viewing the 59.94fps capture, each frame is different, no duplicating. So it seems like if I were to record at 29.97 I would be losing data, right? If instead I had found that each frame was duplicated, then that would make sense, but it definitely seems the capture device is capable of capturing at 59.94fps. -
-
The one thing that I'm still pretty confused about is the frame rate.
You should capture at the frame rate of the source tape ie NTSC is 29.97. If you step thru the first video with VDub (you can't step one-frame back with VLC), you'll see a motion reversal every 4th frame. The motion goes forward forward forward then back one, then forward again. I've never seen that before deinterlacing (if you get the field order wrong during the deinterlacing process, the reversal will occur). I surmise that that reversal problem was caused by the 59.94 capture frame rate (or perhaps a setting in VDub). At 29.97 in AmarecTV, the motion is consistently forward, as it should be. -
@chadbaldwin
Few comments on your AmarecTV-Test.avi:
The tape seems to be in very good condition. That's an important precondition.
The capture is interlaced, TFF, 720x480, 4:2:2, 29.97fps. Correct.
The capture quality is what one would expect from Composite and lack of TBC. Main points to be addressed (no critism, just hints):
- Rainbows (see the sky) due to the composite luma - chroma interference
- Clipped levels (both darks and brights, Y=0,255). You may adjust the proc-amp settings to stay preferably within 16...235 luma range.
- Line wiggle (see the poles!) due to lack of line TBC. Can be solved with a better VCR with TBC and/or an external device (e.g. DVD recorder in passthrough which will also reduce the typical Composite artefacts like rainbows and dotcrawl).
- Some halos (oversharpenig by the VCR?)
[Attachment 85448 - Click to enlarge]Last edited by Sharc; 13th Feb 2025 at 03:41. Reason: typos
-
-
Thank you for the analysis!
Though, one thing I'm still very confused about is the frame rate. I've brought it up a couple times, but it's just not making sense to me.
The clip that you analyzed, I had to manually set AmaRecTV to use 29.97 for the frame rate, even though it wasn't an option in the list, so that's why its frame rate is 29.97.
But if I use one of the options that has a frame rate of 59.94...When I analyze the capture frame by frame, it looks like it is actually 59.94. Because I can count ~60 unique frames per second. So it's not like the video is actually 29.97 and each frame is duplicated...the video appears to legitimately be 59.94, right?
Attached is a clip created using AmaRecTV where I've set the frame rate to 59.94. If you step through it, you'll see there are ~60 frames per second, each of them unique.
I also attached a clip of me loading that 59.94 clip into VirtualDub. I step through frame by frame to show each frame is unique. Then I use a deinterlacing filter to split the fields in each frame apart and I can see one of the two fields advances forward with each of the frames. Then I apply a normal deinterlacing filter that doubles the frame rate (to around 119.88) and I show the stuttering issue where every 4th frame skips back. And finally I apply an interpolate filter to reduce it back down to 59.94 and I show the stutter is gone, but I do have some ghosting (though I think that's due to the linear blending on the interpolate filter).
I keep getting advice to capture at 29.97...but it's just not making any sense to me how that would not result in loss of data when (to me) it's clearly there. -
Your amarec_59.94 is flawed. Out of 4 fields 2 are duplicates. You got 59.94 unique fields per second only.
You can try to "fix" that file by discarding 2 redundant fields, something like
Code:AVISource("amarec_59.94.avi") AssumeBFF() SeparateFields() SelectEvery(4,1,2) #keep fields 1 and 2 and drop fields 0 and 3 Weave()
Code:AVISource("amarec_59.94.avi") AssumeTFF() SeparateFields() SelectEvery(4,0,3) #keep fields 0 and 3 and drop fields 1 and 2 Weave()
No idea why it got messed up, storing simultaneously a TFF and BFF variant so to speak ..... double stitched.Last edited by Sharc; 14th Feb 2025 at 04:07.
-
@Chad, I think the point you are missing is that a 29.97i frame rate is actually 59.94 fields. Stepping through it in VDub gives you 29.97 frames, because each frame is the merging of two fields. That is why you must see interlaced jaggies. When you double rate deinterlace a 29.97i file, you end up with each field (all 59.94 of them) turned into a frame. Hence, the frame rate goes up to 59.94.
Now if you try to capture at 59.94, the VCR is only putting out 29.97 and things become a mess. BTW, I assume the lack of 29.97 in the AmarecTV menu is the same issue as the missing 25fps us PAL users have. I mention it on my site on this page. As you've found, it is simply a matter of typing in "29.97".
So, only capture at 29.97 and if you wish (and I recommend for tape captures to improve smoothness), Double-Rate deinterlace. This will result in a 59.94 frames/sec progressive file. If you don't DR deint, then you'll end up with a 29.97 progressive file. -
@Alwn, yup, I realized late last night what the issue was....it was due to my misunderstanding of how interlacing works. I know what I'm about to write is just going to be a mish-mash reexplanation of what you and @Sharc wrote, but it's just from my own understanding as of last night when it finally clicked for me.
I realized that because I'm capturing at 59.97, that means I'm actually capturing one field change at a time. So I was ending up with a video that looked like...
Code:Frames ------------------- 01 02 03 04 AAAA CCCC CCCC EEEE BBBB BBBB DDDD DDDD AAAA CCCC CCCC EEEE BBBB BBBB DDDD DDDD
But what I actually should have been getting is...
Code:Frames -------------- 01 02 03 AAAA CCCC EEEE BBBB DDDD FFFF AAAA CCCC EEEE BBBB DDDD FFFF
So that explains why when I split the 59.94 video by field and stepped through frame by frame only one field was updating with each frame, not both. But because of my lack of understanding regarding interlacing/deinterlacing, I thought this was normal. I didn't realize with interlacing that 2 fields are written per frame, first one, then the other. For some reason, I thought only 1 field was written per frame. So the whole 29.97fps vs 59.94Hz thing makes sense now.
So that explains the stutter issue and the frame rates.
It explains the stutter because after deinterlacing with doubling on the 59.94 video, you end up with this:
Code:Frames --------------------------------------- 01 02 03 04 05 06 07 08 AAAA BBBB CCCC BBBB CCCC DDDD EEEE DDDD AAAA BBBB CCCC BBBB CCCC DDDD EEEE DDDD AAAA BBBB CCCC BBBB CCCC DDDD EEEE DDDD AAAA BBBB CCCC BBBB CCCC DDDD EEEE DDDD >> >> >> << >> >> >> <<
I've now stepped through the 29.97 video and I can see when you split by field and step through frame by frame that both fields change with each frame. And then when you deinterlace normally, you end up with a 59.97 deinterlaced video where each field now has its own frame properly.Last edited by chadbaldwin; 14th Feb 2025 at 11:37.
Similar Threads
-
Newbie capturing Japanese VHS using Amarec with GV-USB2 (Deinterlace Issue)
By waxstone in forum Capturing and VCRReplies: 26Last Post: 23rd Sep 2024, 10:11 -
I-O Data GV-USB2 not working on new PC/Win 11
By Leanoric in forum Capturing and VCRReplies: 12Last Post: 27th Mar 2024, 18:00 -
IO-DATA GV-USB2 croaked
By bigbadben in forum Newbie / General discussionsReplies: 6Last Post: 19th Oct 2023, 21:46 -
IO Data GV-USB2 Drivers
By Alwyn in forum Capturing and VCRReplies: 1Last Post: 7th Aug 2023, 09:44 -
AVERMEDIA CE310B or IO DATA GV-USB2, which one and why?
By Joćo Alexandre in forum Capturing and VCRReplies: 1Last Post: 23rd May 2022, 13:29