I’ve recently started digitizing my mother-in-law’s collection of home movies. What I would love is some recommendations or tweaks I can do to improve the quality and remove any combing or minimize static. I am not particularly concerned with audio quality, but I’ll list it below as well.
And so far I’m enjoying the processes. It’s really fun to see old videos and to learn a bit about video formats and encoding. I’m an amateur when it comes to these kinds of things so I’m learning as I go along. Each tape I make the picture clearer and the file size smaller!
Recording
- Sony Handycam (DCR-TRV27)
- Various DV 60/90 cassette tapes
- Seemingly ran in standard recording mode (tapes are 60 minutes)
VCR
- Elgato USB Analog Video Capture Device
- Handycam’s VCR mode connected via S-Video Cable and 3.5mm audio jack*
* I have ordered a A/V to RCA cable which is the manufacturer’s recommended connection, but unsure about the effects on quality
Software
- OBS for recording the VCR feed
- Downscale Filter: Bicubic (Sharpened scaling, 16 samples)
- Deinterlace - Linear 2x
- 720x540 @ 29.97 FPS (NTSC) (upscaled from 720x480)
- “Indistinguishable Quality, Large File Size”
- .mkv format with H.264 encoder
- Audio Encoder AAC
- Audio 48khz steroe
- Handbrake for re-encoding
- 720x480 @ 29.97 FPS
- H.264 (x264) MKV format
- No additional deinterlacing
- "Constant Quality" set to 20
- Audio Encoder AAC
shundi82@sh.itjust.works 3 months ago
Professional here, who’s been doing it for 20 years as part of his job.
Use your cams DV in/out port (should be where you’d also find the svideo port according to your cam’s manual).
Install a FireWire card into your PC (or an addon card, if you’re using a laptop).
Connect both via a FireWire cable (usually 6 to 4).
If your tapes are HD, stick to Sony’s software.
If your tapes are SD, use ScenAlyzer Live (free and will even work on Windows 11): www.scenalyzer.com
If you want to transfer your tape as one single AVI file, set the Audio sample rate to 44.1 kHz within ScenAlyzer - that way the audio will match across every frame, no matter how it was recorded. Trust me, it’s the only way to not have audio run out of sync once you convert into anything but DV.
Alternatively you can automatically transfer scene by scene and convert each scene’s audio sample rate individually before editing/combining them. Just be aware, that in a scene to scene transfer you might end up with >200 scenes per tape. Which would make the next steps harder (or you’d need some batch preprocessing).
Short tldr for the following part, where I just go through my ideal setup without much of a “how to” explanation:
If you’re OK with not being up to date and “just” using QTGMC (without the +), here’s a tutorial on how to set it all up (only watched the first few minutes, but he sounds competent and the comments are very positive, too):
youtube.com/watch?v=C4PyyQoz6eo
End of the tldr.
Next is deinterlacing. And nothing compares to QTGMC+, if you have the patience to set it up:
github.com/Dogway/Avisynth-Scripts
Make sure to also download all the filters it depends on and, of course, setup AVISynth+:
github.com/AviSynth/AviSynthPlus/releases
That, in turn, will also allow you to deal with crappy DCT artifacts, if you have them (vertical lines, colors - especially red - “bleeding” and being blocky) by rotating the image by 90°, cleverly blending lines and rotating back 270°.
And really, AVISynth+ is great for every other step, you might want to add:
Denoising via SMDegrain + pre filter, getting more details out of highlights via gamma/levels manipulation, deshake, deflicker, sharpen, dehalo, deringing, crop, trim and of course resizing (there’s even more stuff like tossing bad frames and interpolating new clean ones, but you get the idea).
Regarding resizing within AVISynth+: I’m not a fan of artificial upres in videos unless I’m desperate (R-ESRGAN etc), so I mostly stick to Spline64Resize. It’s good, it’s fast, it’s reliable, it doesn’t introduce ringing.
Once you’ve set everything up and created your script, you just need to pipe the script into the converter of your choice. Most will prefer ffmpeg (I use python to pipe as a watchdog, but that might be too elaborate for your case):
www.ffmpeg.org/download.html
shundi82@sh.itjust.works 3 months ago
PS: Since AVIs don’t store the field order, QTGMC+ will fail at detecting the right field order.
AVISynth+ will assume BFF, which is correct for pretty much any DV (there are very few exceptions). But QTGMC+ will try to be clever and assume the field order on its own. And might determine your field order to be TFF (since that is its default).
If you need it, I’ll provide you with a script to change the field order to always be TFF.
shundi82@sh.itjust.works 3 months ago
OK, followup to my last “PS”. Even though no one asked, but I’ve got some upvotes:
Here’s a short function I didn’t test extensively (can’t post the one I use, because that one’s specific to our work and is intertwined with more of our functions like checking a file’s extension and properties to automatically determine its field order and if it needs to be deinterlaced):
It worked in a few short tests, so it should be OK, but if anyone notices a problem, feel free to add to that: