Hi everyone,
I’m attempting to improve the visual quality of a film that the only copy I could get came from a PAL VHS recording of an standard definition OTA transmission from a RAI broadcast (Italian TV channel), later transferred to DVD. Many years ago I received it from a contact from Italy, but couldn’t play it at the time due to the PAL/NTSC mismatch.
Recently, I extracted the DVD’s VOBs directly to MKV (no recompression) and ran it through HandBrake. As expected, quality was poor (for today standards), SD, analog noise, compression artifacts. I then tried AVSynth+ but still no perceptible improvement.
Motivated by the impressive online restorations I’ve seen of even worse looking material, I decided not to quit and spent weeks configuring a VapourSynth enviroment with all the plugins and filters and building a pipeline. Despite all that, the result is only slightly better. The improvement is so minimal it’s almost imperceptible. The footage still looks soft and degraded, even after all processing.
Here’s the core of what I’m doing:
Deinterlacing with QTGMC
Antialiasing with vsTAAmbk
RGB conversion and upscale with Real-ESRGAN
Color tweaks + neo_f3kdb for debanding
My questions:
Is this kind of minimal improvement expected from such a degraded source?
Am I missing a crucial step in the chain?
Can anything else be done to improve the visual quality, or is this the hard limit?
Any guidance or suggestions would be greatly appreciated.
+ Reply to Thread
Results 1 to 24 of 24
-
-
I suspect then that deinterlacing is not needed, because PAL movies are generally Progressive segmented Frame (even and odd fields are from the same moment in time).
For all the rest, you should post a sample of the video (I suspect upscaling won't improve anything as well). -
I agree, a sample is needed to assess whether the file can be improved,.. (upscaling a messed up source will only lead to an even more messed out upscaled version,..)
users currently on my ignore list: deadrats, Stears555, marcorocchini -
Make a 60 second VOB snippet with AVIDemux. Use the MPEG PS output format option.
-
-
Originally Posted by Cholla
-
-
if it's an unencrypted DVD using mkvtoolnix should work
users currently on my ignore list: deadrats, Stears555, marcorocchini -
I do not know if the OPs DVD was encrypted or not.
A Google search has several recommendations for MakeMKV.
They say MakeMKV does this.
I have used MakeMKV many times.
I just did not realize it was a direct copy.
I may give mkvtoolnix a try just to see what it does. -
Thanks so much for all your suggestions.
I want to apologize for the delay in my response to your comments.
Sadly, I had an issue with the files and lost most of the notes I took on how I configured HandBrake, and the AviSynth and VapourSynth scripts. I think that information is important for you to evaluate the results. Fortunately, I didn't lose the final videos that I obtained with HandBrake and AviSynth. I never created a full encoded version with Vapoursynth as I was still evaluating the script using VSEdit. I was able to retain one version of the VapourSynth script. There is not problem with the original VOB files because I have them in the DVD so I recreated a new lossless MKV file. I'm preparing a collage of representative images and will post them as soon as possible. In the meantime let me give you more information:
My Computer Specs:
Processor - 1x12th Gen. Intel Core i9-12900H vPro Processor
Memory - 1x32 GB DDR5-4800
Operating System - Windows 11 Pro 64
Hard Drive - 1x 512 GB SSD PCIe
Graphics - 1x NVIDIA RTX A2000 4GB
Video File Info:
The VHS tape was recorded in Standard Play (SP) mode.
Video: MPEG-2 Video 720x576 25fps [Video 1 [Default] (MPEG2, 4:2:2, 0, 720x576, 25.000 fps)]
Audio: AC-3 48000Hz 2.0 chn 256 kbit/s [Audio 1 [Default] (AC-3, 48.0 kHz, 2.0 chn, 256 kbit/s)]
Format profile : Main@Main
Format settings : CustomMatrix
Format settings, BVOP : No
Format settings, Matrix : Custom
Format settings, GOP : N=10
Format settings, picture struc : Frame
Codec ID : V_MPEG2
Codec ID/Info : MPEG 1 or 2 Video
Duration : 1 h 38 min
Bit rate mode : Variable
Bit rate : 4 622 kb/s
Maximum bit rate : 7 500 kb/s
Display aspect ratio : 4:3
Frame rate mode : Constant
Standard : PAL
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Interlaced
Scan order : Top Field First
Compression mode : Lossy
Bits/(Pixel*Frame) : 0.446
Time code of first frame : 00:00:05:05
Time code source : Group of pictures header
GOP, Open/Closed : Closed
Stream size : 3.19 GiB (93%)
Default : Yes
Forced : No -
Thanks so much for all your suggestions.
I want to apologize for the delay in my response to your comments.
Sadly, I had an issue with the files and lost most of the notes I took on how I configured HandBrake, and the AviSynth and VapourSynth scripts. I think that information is important for you to evaluate the results. Fortunately, I didn't lose the final videos that I obtained with HandBrake and AviSynth. I never created a full encoded version with Vapoursynth as I was still evaluating the script using VSEdit. I was able to retain one version of the VapourSynth script. There is not problem with the original VOB files because I have them in the DVD so I recreated a new lossless MKV file. I'm preparing a collage of representative images and will post them as soon as possible. In the meantime let me give you more information:
My Computer Specs:
Processor - 1x12th Gen. Intel Core i9-12900H vPro Processor
Memory - 1x32 GB DDR5-4800
Operating System - Windows 11 Pro 64
Hard Drive - 1x 512 GB SSD PCIe
Graphics - 1x NVIDIA RTX A2000 4GB
Video File Info:
The VHS tape was recorded in Standard Play (SP) mode.
Video: MPEG-2 Video 720x576 25fps [Video 1 [Default] (MPEG2, 4:2:2, 0, 720x576, 25.000 fps)]
Audio: AC-3 48000Hz 2.0 chn 256 kbit/s [Audio 1 [Default] (AC-3, 48.0 kHz, 2.0 chn, 256 kbit/s)]
Format profile : Main@Main
Format settings : CustomMatrix
Format settings, BVOP : No
Format settings, Matrix : Custom
Format settings, GOP : N=10
Format settings, picture struc : Frame
Codec ID : V_MPEG2
Codec ID/Info : MPEG 1 or 2 Video
Duration : 1 h 38 min
Bit rate mode : Variable
Bit rate : 4 622 kb/s
Maximum bit rate : 7 500 kb/s
Display aspect ratio : 4:3
Frame rate mode : Constant
Standard : PAL
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 8 bits
Scan type : Interlaced
Scan order : Top Field First
Compression mode : Lossy
Bits/(Pixel*Frame) : 0.446
Time code of first frame : 00:00:05:05
Time code source : Group of pictures header
GOP, Open/Closed : Closed
Stream size : 3.19 GiB (93%)
Default : Yes
Forced : NoLast edited by 3d1l; 7th Jun 2025 at 23:05.
-
Thanks lollo. Actually, the video specs show "Scan type: Interlaced, Top Field First" so deinterlacing is needed in this case. You're right about the sample and upscaling concerns though - working on the images as mentioned in my update above.
Agreed on both points, Selur. Sample images coming as mentioned above, and you're probably right about upscaling making things worse rather than better with this level of degradation.
The DVD wasn't encrypted since it was a homemade VHS-to-DVD transfer. I used FFmpeg to extract the VOBs directly to MKV without recompression.
You are correct is just a container without recompression. But I'll work on that after posting the image samples... just in case.Last edited by 3d1l; 7th Jun 2025 at 23:03.
-
"Scan type: Interlaced, Top Field First
Like mentioned before, you need to share a sample of the clip (not images) if you need further help/suggestions.users currently on my ignore list: deadrats, Stears555, marcorocchini -
Got it, I will work on the sample. Your suggestion is to submit a one minute sample but I think that won't capture all the artifacts and defects from all the scenes. So I will try to create a collage in one video file consisting of 3 samples 20 seconds each or even better 6 samples consisting of 10 seconds each.
-
you can simply share multiple samples,..
users currently on my ignore list: deadrats, Stears555, marcorocchini -
Originally Posted by 3d1l
As Selur says, just give us small samples of each artifact in separate files that have not been recoded. -
I followed your instructions and created lots of different video snippets, none of them longer than 1 minute (most of them even shorter), where I tried to capture everything: bright & dark scenes, moving & static scenes, scenes with lots of geometric shapes, scenes with basic & complex colors, scenes with lots of pan & zoom, interior & exterior lighting scenes, scenes with & without faces... you name it.
I think I overdid it just a little, sorry, you ask for few I'm giving you 15 😯 but at least you can't say I can't deliver and I'm a newbie after all 😁
[1], [2], [3], [4], [5], [6], [7], [8], [9], [10], [11], [12], [13], [14], [15] -
looking at clip1:
For combing handling, I would use TFM().QTGMC(InputType=3)
Cropping seems to be different in the clips.
Luma range is messed up, whites are blown out.
Some clips have Frozen frames, some have chroma bleeding.
Only had time to playing around and applied the same script to all files, maybe it gives some ideas.
Cu Selurusers currently on my ignore list: deadrats, Stears555, marcorocchini -
I didn't check all, but as a simple basic "fix" you may want to try
Code:assumeTFF() qtgmc().selecteven() #<crop as needed here> levels(16,1.0,255,0,235,coring=false)
Last edited by Sharc; 11th Jun 2025 at 03:57.
-
selur & Sharc, Thanks! - Working on my Vapoursynth scripts with the suggestions you gave me. Will report on progress later.
-
Oops, forgot to add selecteven() in my post#21. Post#21 and attachment edited.
-
My contribution as well, with sample 002.mpg.
The fields are PsF, but with a phase-shift. I fixed them with TFM(order=1, mode=0, PP=0, slow=2, field=1), no post-processing of residual combed frames of needed. I did not check all frame in details, so if you find some you can adjuste the TFM parameters or use QTGCM as Selur properly suggested:
The capture suffers of line time errors, because probably no TBC has been used:
The capture suffers of clipping in the whites, because probably no level control has been used:
Without addressing other issues (bad levels, chroma noise, chroma bleeding, etc), after the TFM filtering a basic restoration improves a little bit the overall look: https://imgsli.com/Mzg3NzA2
Code:video_org=FFmpegSource2("002.mpg", atrack=-1) # trimming trim_start=800 trim_end=0 video_org_trim=video_org.trim(trim_start,trim_end) # cropping crop_left=14 # | rimozione esatta delle bande nere sinistra, sopra, destra e del disturbo sotto crop_top=62 # | 720-(14+12)x576-(62+74)=694x440 crop_right=12 crop_bottom=74 video_org_trim_crop=video_org_trim.crop(crop_left,crop_top,-crop_right,-crop_bottom) # TFM video_org_tfm=video_org_trim_crop.AssumeTFF().TFM(order=1, mode=0, PP=0, slow=2, field=1) #.TFM(order=1, mode=0, PP=0, slow=2, field=1, display=true) #eval("video_org_tfm") #stackhorizontal(\ #subtitle(video_org,"video_org",size=28,align=2),\ #subtitle(video_org_tfm,"video_org_tfm",size=28,align=2)\ #) ### denoising denoised=video_org_tfm.TemporalDegrain2(degrainTR=3) ### sharpening sharpened=denoised.LSFmod(defaults="slow") ### adding borders restored=sharpened.addborders(crop_left,crop_top,crop_right,crop_bottom) return(restored)
Similar Threads
-
Help Improve VHS-C Video Quality
By Lioned in forum RestorationReplies: 10Last Post: 15th Jan 2024, 08:23 -
improve audio recorded with Wireless mic hollyland
By alain.roger in forum AudioReplies: 2Last Post: 4th Dec 2023, 16:31 -
How to improve the appearance of this VHS video
By Marcio.ciconne in forum RestorationReplies: 23Last Post: 22nd Nov 2023, 15:21 -
Audio problems during recorded vhs playback/capture
By monks19 in forum AudioReplies: 8Last Post: 25th Mar 2021, 17:31 -
Removing Blue Frames from Recorded VHS tapes.
By Vei in forum Video ConversionReplies: 9Last Post: 8th Feb 2021, 19:29