View Full Version : Betamax to NTCS DVD problem.
lych_necross
15th January 2007, 09:32
For Christmas I bought my Dad a copy of the movie House of GOD. It is an out of print movie that was last seen on Betamax. Someone on Ebay found a copy and transferred it to DVD; so I decided to buy a copy of it. My problem is that the original copy is very degraded. When I try to use TMPGEnc+ and Avisynth to clean up the copy I end up with a movie that looks good; however, it stutters. The original movie was encoded at 29.97fps interlaced. I Tried deinterlacing the movie and re-encoding at 23.976fps with 3:2 pulldown and the movie still stutters and does not look right. I am new this and I admit it; however, why is it that whenever I try to clean up the original movie the frame rate stutters? All I want is to provide my Dad with a copy of the movie he loves and I cannot seem to clean it up correctly. I would have provided a clip of the movie; however, I do not khow to make a short movie clip with my software.
lych_necross
15th January 2007, 09:36
What I really want to know is how to deblock, deinterlace, and denoise this movie so that I can give it to my Dad.
foxyshadis
15th January 2007, 12:56
It's possible very bad things may have happened to it in the transfer (especially if it was unprofessionally shot in the first place), and no one can say without a sample. Is it possible to use DGIndex (http://neuron2.net/dgmpgdec/dgmpgdec.html) to chop out a small representative piece to post up?
Most likely if it's bad you'll need to use avisynth to fix it up.
lych_necross
16th January 2007, 07:17
I am new at posting images on forums, so bear with me. Here is a representative sample (http://savefile.com/files/419891) of the unwanted artifacts
I tried using the following avisynth script, but the result is very choppy:
LoadPlugin("C:\PROGRA~1\AutoGK\DGMPGDec\DGDecode.dll")
LoadPlugin("C:\Program Files\AutoGK\filters\LeakKernelDeint.dll")
LoadPlugin("C:\Program Files\AutoGK\filters\RemoveGrainSSE3.dll")
mpeg2source("D:\New Folder\VTS_01_1.d2v")
AssumeTFF()
LeakKernelDeint(order=1)
RemoveGrain(mode=2)
LanczosResize(720,480)
foxyshadis
16th January 2007, 10:38
It would actually have to be a video clip. DGIndex (as well as ChopperXP and Cutteraman) can chop out a 10-second segment that we can analyse. A single picture isn't enough to go on, nor will pre-processed video work. Especially since the problem is temporal in nature.
If you don't have a webhost, see the sticky: Uploading pictures, clips or other files to a webserver (http://forum.doom9.org/showthread.php?t=96362)
Moved
---------------->
to Avisynth.
lych_necross
16th January 2007, 11:21
I'm sorry. I am new to mpeg 2 files. My specialty is psychoacoustic audio compression and LP re-mastering. DVD re-authoring is completely new to me. My biggest accomplishment was converting Spiral (The Ring sequel on DVD) from PAL to NTSC. How do I make a short clip using DGIndex? I really appreciate your help on this. I know my English is not the best but thanks in advanced for your hard work.
foxyshadis
16th January 2007, 11:30
Pretty simple: You load the video in like you would to get the d2v. Drag the slider somewhere appropriate, use the [ button to mark the start, use the > button or arrow keys to navigate a few seconds over (15-20 notches should be good), and the ] button to mark the end of the segment. Once you've done that, use "save project and demux video" to get it out, and upload the .m2v you get. You don't have to include the d2v.
Check to make sure video->field operation is on honor pulldown, and not forced film, beforehand.
zilog jones
16th January 2007, 16:37
I tried using the following avisynth script, but the result is very choppy:
LoadPlugin("C:\PROGRA~1\AutoGK\DGMPGDec\DGDecode.dll")
LoadPlugin("C:\Program Files\AutoGK\filters\LeakKernelDeint.dll")
LoadPlugin("C:\Program Files\AutoGK\filters\RemoveGrainSSE3.dll")
mpeg2source("D:\New Folder\VTS_01_1.d2v")
AssumeTFF()
LeakKernelDeint(order=1)
RemoveGrain(mode=2)
LanczosResize(720,480)
The choppyness is probably because of the highlighted line, if the source is film. LeakKernelDeint is for deinterlacing full interlaced video, i.e. (in NTSC) 59.94i to 29.97 progressive. You need to do IVTC to get to 23.976 fps - I don't know what filters are good for this these days (don't usually have to deal with NTSC).
But is the source even film? We'd know from a sample ;)
lych_necross
17th January 2007, 10:31
First of all, thanks guys for helping me :thanks:. Here is a link to the video clip. (http://savefile.com/files/419891). Just download and view. I know the aspect ratio is messed up; however, that is easy to fix. I have tried to reverse the field order and I get the same results. I know this clip must be hybrid . I hate dealing with hybrid movies. I tried to IVTC the clip to 23.976 but the result was horrible. The clip stuttered like crazy (know matter the field order). I suck at avisynth scripting. Maybe I should get a beta player and get a copy of this movie in beta and encode it myself (or maybe not). :) I have added an alternative download site for the clip (http://members.cox.net/ejensen16/VTS_01_1.demuxed.m2v). Be nice and only download if you want to help me as this site has limited bandwidth.
2Bdecided
18th January 2007, 15:08
On the small parts where there is sufficient movement to be sure, it seems to have normal 3-2 pattern. Nothing clever.
352x480 (yuk!) TFF (strange).
There's so little movement that the noise itself (of which there is a lot!) could be confusing the IVTC process.
It should stutter no more than any other film. If the ~24fps version stutters, either the player is wrong, or the IVTC went wrong.
Another possibility: if you get progressive frames (e.g. correctly IVTC it), process it, and them need to re-apply 3-2 pulldown for display, I think you'll have to change the field order to BFF - put an assumebff() in anywhere after IVTC, before you re-apply 3-2 pulldown.
Hope this helps.
Cheers,
David.
lych_necross
20th January 2007, 10:55
Okay. I have modified my script to this:
LoadPlugin("C:\PROGRA~1\AutoGK\DGMPGDec\DGDecode.dll")
LoadPlugin("C:\Program Files\AutoGK\filters\LeakKernelDeint.dll")
LoadPlugin("C:\Program Files\AutoGK\filters\RemoveGrainSSE3.dll")
LoadPlugin("C:\Program Files\AutoGK\filters\Decomb.dll")
movie = mpeg2source("D:\VIDEO_TS\VTS_01_1.d2v")
Telecide(movie,guide=1,post=5)
AssumeBFF()
LanczosResize(720,480)
RemoveGrain(mode=2)
The image quality is greatly improved and with some tweaks in TMGPEnc+, I also removed more artifacts. The problem now is that there seems to be a field order issue. The original source is top field encoded?!? So, I tried to assumebff(). Would it be possible to use seperate fields and weave to correct this? If so, what would be the proper coding?
Mr_Odwin
20th January 2007, 11:01
Okay. I have modified my script to this:
LoadPlugin("C:\PROGRA~1\AutoGK\DGMPGDec\DGDecode.dll")
LoadPlugin("C:\Program Files\AutoGK\filters\LeakKernelDeint.dll")
LoadPlugin("C:\Program Files\AutoGK\filters\RemoveGrainSSE3.dll")
LoadPlugin("C:\Program Files\AutoGK\filters\Decomb.dll")
movie = mpeg2source("D:\VIDEO_TS\VTS_01_1.d2v")
Telecide(movie,guide=1,post=5)
AssumeBFF()
LanczosResize(720,480)
RemoveGrain(mode=2)
The image quality is greatly improved and with some tweaks in TMGPEnc+, I also removed more artifacts. The problem now is that there seems to be a field order issue. The original source is top field encoded?!? So, I tried to assumebff(). Would it be possible to use seperate fields and weave to correct this? If so, what would be the proper coding?
Try this:
LoadPlugin("C:\PROGRA~1\AutoGK\DGMPGDec\DGDecode.dll")
LoadPlugin("C:\Program Files\AutoGK\filters\LeakKernelDeint.dll")
LoadPlugin("C:\Program Files\AutoGK\filters\RemoveGrainSSE3.dll")
LoadPlugin("C:\Program Files\AutoGK\filters\Decomb.dll")
movie = mpeg2source("D:\VIDEO_TS\VTS_01_1.d2v")
AssumeTFF()
Telecide(movie,guide=1,post=5)
Decimate()
LanczosResize(720,480)
RemoveGrain(mode=2)
I'm not sure why you would need to put AssumeBFF. Maybe there is something beyond my Avisynth skills though. :confused:
lych_necross
21st January 2007, 10:07
I'll try that and see what happens. I had encoded a sample clip successfully; however, I had to encode it interlaced at 29.97fps :(. I hate dealing with poor DV transfers.
foxyshadis
21st January 2007, 11:44
I don't know if you're in the mood for re-encoding again already, but I thought you might like to see this. As soon as I saw it I knew it needed a defreq. That interference is brutal.
LoadPlugin(avsplugins+"vinverse.dll")
LoadPlugin(avsplugins+"defreq.dll")
MPEG2Source("D:\video\VTS_01_1_demuxed.d2v", cpu=0)
TFM()
TDecimate(cycle=4)
Defreq(fx=2.3,fy=-41.7,sharp=20)
Vinverse() # totally optional; fast, just removes a bit of residual combing
fft3dfilter(sharpen=.3,plane=4) # slow but effective.
#ChangeFPS(60000,1001).SeparateFields().SelectEvery(4,0,3).Weave()
I left the last line commented because I suggest doing the pulldown in dgpulldown instead. However, I think you incorrectly force filmed this thing, which is why the IVTC count is weird, and with honor pulldown flags (or ignore, should give the same result) you might be able to get a normal progressive video out of it. That may also cause the slightly jerky motion.
Also, 352x480 is a perfectly legal DVD resolution, so if it's going on one it might not be a bad idea to just leave it. (Set to 4:3 AR of course.) Up to you though.
lych_necross
22nd January 2007, 09:37
Thanks for the advice foxyshadis. I followed Mr_Odwin advice and I achieved excellent results. I configured TMPGEnc+ to reduce noise and correct the color and the result was very nice. There are still some artifacts but I think that this is pretty good (click here) (http://members.cox.net/ejensen16/cleaned_version.m2v). Let me know what you think of it. foxyshadis, I will try your method as well just to compare and yes, I am getting tired of encoding; however, I simply let it encode while I sleep and in the morning, bam... done. Thank you everyone for your help. I really appreciate it. :)
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.