I have several VHS tapes with my family records. Since the tapes tend to deteriorate with time, I decided to capture them three years ago. As these tapes are located in another town, I wasn't able to use my desktop PC and was forced to use a laptop together with an USB capture stick. Spent some time capturing and finally I made a bunch of video files containing my precious records. I don't have any plans to visit this town soon so I need to work with captures I already have. That's why I placed this topic in the conversion forum and not in the VHS capture one.
So, what's the problem? I have these files laying on my HDD and occupying 120+ GB of storage space. I haven't touched these files since I captured them. They are so massive that I'm not able to backup them anywhere. I clearly need to encode them and backup in a safe place (a cloud storage, another HDD, etc., more is better).
The source format is: HuffYUV video, interlaced, 4:2:2 color subsampling, WAV audio.
My aim is to make these videos smaller so I will be able to backup them. These records are really important for me so the strict requirement is not to make the video quality ever worse. Of course, any lossy codec has a quality impact, but there are ways to minimize it. In audio coding we have a term called transparency and this is what I'm targeting here. My plan is to deinterlace, denoise videos (to make them more compressible), crop them a little and encode. Still, the less space the result will occupy, the more options I will have for the backup location.
The first question is how to encode these files. Option number one is to make a lossless version (FFV1+FLAC) to store on the HDD and a medium-quality lossy backup version. Haven't seem anyone keeping a lossless VHS capture but it's still a case. Option number two is to make a single high-quality lossy version. This option is certainly preferred if it's possible to maintain visually unchanged quality.
The second question is a video codec. I don't have any compatibility requirements so any option will suit. This basically means choosing between AVC and HEVC codecs. Again, does using a more recent one (HEVC) will benefit in a case of a VHS record?
The third question is which encoding tool will suit the best. I've already tried the Handbrake tool. It has a pretty decent denoise filter called NLMeans. The documentation says that the filter has even a separate VHS preset, through I wasn't managed to find it in the interface. Still, the resulting video contains noticeable amount of noise which certainly affects codec efficiency. Another issue with Handbrake is that it uses a poor AAC encoder (faac). Also I've found some AviSynth scripts designed specially to clean up VHS, but I haven't tried them as I'm not sure I'll gain a better quality and compression ratio with them. Another option is the good old ffmpeg command line tool.
The fourth question is a tool to do an A/B testing to control the video quality. Such tool is really necessary for me to be calm about the resulting file.
+ Reply to Thread
Results 1 to 12 of 12
Short response to your very long first post.
First, you sound like someone who knows quite a bit about video and doesn't really need someone else to tell them what to do.
Second, I am not sure why, in this day and age of TB+ hard drives, 120 GB of video files would present a problem for archiving purposes. Those caps are your master files. Are you planning to nuke them? I would work to find a way to back those up as-is or just leave them where they are at. Why are they suddenly a problem?
Use Macrium Reflect Free to clone or image [or both] to other media.PLEASE read the manual first,even though Macrium is simple to use.
I believe compressing your material with x264 and CRF 6..12, maybe with a profile for fast decoding (shorter GOPs, few B frames, few references – like Blu-ray or DXVA compatibility), should produce a "semi-master" which will be easy enough to handle. AVC even still supports interlacing, you may not even have to process it all right now. If you ever decide to encode it as DVD Video, it can stay interlaced. Many TV sets have good interpolation techniques of old SD material.
AviSynth supporting tools, StaxRip x64 and MeGUI are probably among the most recommendable. MeGUI is more detailed, flexible, and technically oriented, IMHO.
ABX test tools for audio encoding; but some people have discussed this topic for video as well. I found some in the hydrogenaud.io and doom9 forum.
Thank you for the answers! You really help me.
Looks like StaxRip tool suits me the best.
I know there are several video studios in the town which can capture my tapes and write then on DVD. I asked them to make a cassette-to-cassette copy at the time when VHS was still relevant and the resulting quality was really disappointing.
I already witnessed a few of such ideas in the last 10 years, and I doubt the next 10 years will surprise me. Lost details stay lost. "Restoration" is guessing; as educated as it may be, it will never know.
Will try to encode several scenes with different options. Also I've decided to keep master copies on the HDD and reencode them using FFV1. 80 GB is not too much nowadays, and I will make a separate copy for cloud storage.
If you have a time-tested AviSynth script tuned for VHS denoise and deinterlace - I will be glad to see it
My favorite method of comparing videos is with AviSynth and VirtualDub, along with Windows' built in magnifier. I create a script like:
v1 = AviSource("original.avi") v2 = AviSource("encoded.avi") Interleave(v1,v2)
To compare the two video side by side use:
v1 = AviSource("original.avi") v2 = AviSource("encoded.avi") StackHorizontal(v1,v2)
Sometimes I need to compare two encoded videos to a source and use script like:
v0 = AviSource("original.avi") v1 = AviSource("encoded1.avi") v2 = AviSource("encoded2.avi") Interleave(v0,v1,v2,v0)
Another thing you can do is subtract one video from another, pixel by pixel:
v1 = AviSource("original.avi") v2 = AviSource("encoded.avi") Subtract(v1,v2) # really v1-v2+128
v1 = AviSource("original.avi") v2 = AviSource("encoded.avi") Subtract(v1,v2) Levels(120,1,136,0,255)
v1 = AviSource("original.avi") v2 = AviSource("encoded.avi") Interleave(v1, v2, Subtract(v1,v2).Levels(120,1,136,0,255))
Your total storage will decrease to around 80 GB if you re-encode to FFV1. Is that too big to back up?