I have a DVD that plays awfully on TV from players, the edges have combs. The situation is a bit better in VLC player, but still not perfect. I decrypted the DVD with DVDDecrypter, and imported the DVD library to Vegas, and was experimenting with rendering it though Frameserver doing a QTGMC deinterlace. At the moment I am checking the outcome with AvsPmod.
The problem is, after applying QTGMC, there are still combs at certain places. You can see it on the photo below, I marked the problematic fields:
The script is:
Code:AviSource("C:\Users\Documents\video.avi") ConvertToYV12() AssumeTFF() QTGMC(Preset="Slower",FPSDivisor=2)
[Attachment 51326 - Click to enlarge]
In case I use the following script, the combs disappear from the places marked, but the image of course becomes very very blurry:
Code:AviSource("C:\Users\Documents\video.avi") ConvertToYV12() AssumeTFF() BilinearResize(310,240) QTGMC(Preset="Slower",FPSDivisor=2) Spline64Resize(720,480)
[Attachment 51327 - Click to enlarge]
Any ideas to improve this?
I wonder if this results from an improper install of OTGMC? I read that I need the "NNEDI3" plugin for it, but the most recent one comes in various versions, I did not know which one to choose, so I chose the one that came in the W7 directory. My system is Win7 anyway, with Intel core i5 CPU. Maybe I should have chosen a different version of the plugin? Or maybe I chose the wrong version from another plugin? I have avisynth 2.6 32 bit installed, and I added the latest from all the required plugins listed in the QTGMC Wiki.
Here is the original video attached, too. This is an mpg2 file. I did not know how to cut the decrypted vob, so I used a software to export the mpeg2 stream from it unchanged, at least this is what the software reported willing to do. But it seems to me it is the unmodified stream that was saved, indeed.
Try StreamFab Downloader and download from Netflix, Amazon, Youtube! Or Try DVDFab and copy Blu-rays!
+ Reply to Thread
Results 1 to 28 of 28
Thread
-
-
Those are dot crawl artifacts, not interlace combing. There are ways to reduce them:
http://avisynth.nl/index.php/External_filters#Rainbow_.26_Dot_Crawl_Removal
But they look a little unusual. I'll take a closer look later today. -
Yes, I was going to mention that earlier. The video should not be deinterlaced (QTGMC) but rather inverse telecined. Here's what I came up with:
Code:Mpeg2Source("video.d2v", CPU2="ooooxx", Info=3) Crop(8,0,-8,-0, align=true) CheckMate(thr=10, max=20, tthr2=0) SeparateFields() VInverse() Weave() TFM(d2v="video.d2v") TDecimate() Santiag() aWarpSharp2(depth=10)
Last edited by jagabo; 3rd Jan 2020 at 20:29.
-
Thanks a lot! This looks good. I will test this myself with your script. But I don't understand, what is this .d2v? Do I need to open the file in DVD2AVI, and export in .d2v, and load that with the script?
What software did you use to convert? I am surprised the mkv is only 433kbps, but the quality is still very good.Last edited by Bencuri; 3rd Jan 2020 at 21:16.
-
Get the DGMPGDec package and read the docs. They'll explain everything. And it includes everything you'll need to open the video. If you're missing any of the filters, you can find them at the AviSynth site.
You open DGIndex and then open the VOBs, all at once. You save the project and it gives you the audio and the D2V project file. You use the DGDecode.dll and MPEG2Source to open the script in VDub. Again, it's explained in the docs. Once you get it open then add in the other filters. Check them out in VDub and make sure everything is okay. DVD2AVI is way too old and hasn't been used in probably more than a decade.
What you use to encode depends on what you want to do. I use RipBot264, which opens AviSynth scripts, and make MP4s. Or HC-Enc if you're making another DVD. You might want to resize as well, if converting to a different format. And there are many other encoders.Last edited by manono; 3rd Jan 2020 at 21:57.
-
But would this script work in case I would open a .avi with it? So that I replace every video.d2v in it to my video.avi? Or those particular plugins only work with the d2v extension? I know I need avisource then, not mpegsource.
-
AviSource("filename.avi"). You may need to add AssumeTFF() right after it.
You don't need DgMpgDec if you don't use Mpeg2Source(). Nothing else in the script uses DgMpgDec. Note that I used the de-ringing filter in Mpeg2Source(). Without it you'll have a little more DCT ringing noise. -
On the other hand, if the source is a DVD - as yours is - then you should almost certainly be using MPEG2Source.
-
I had to break this project, but recently I returned to it and tried to convert the videos according to your directions using the code jagabo suggested above. The outcome is in the attached file. The results are good, but there are a few oddities that I would like to solve if possible.
One is that when I play the file from USB drive on TV, the image is almost always streched to widecreen, thus sharpness is lost and the shapes become odd as usual. Is it possible to save a tag or something like that in the code that forces the TV to leave this in 4:3? When I play back from USB drive, the TV doesn't let me modify the image properties. If there is no tag like that, is it possible to make avisynth turn the video into 16:9 by adding letterboxes to the sides?
The other problem is, that when I watch the video from the media player or right on the PC, the aspect ratio is fine, however, the shapes are still improper. Everything looks a bit elongated vertically. I guess this is because the resulting file is 704x480. How to overcome this problem?
And finally, just something I do not understand about the last filer: aWarpSharp2(depth=10). In my case, the source, that is attached to the first post as well, is interlaced. aWarpSharp2 manual says only progressive input is accepted. Are you sure no separating of fields is needed before using this plugin?
Here is jagabos's code again that I used:
Code:Mpeg2Source("video.d2v", CPU2="ooooxx", Info=3) Crop(8,0,-8,-0, align=true) CheckMate(thr=10, max=20, tthr2=0) SeparateFields() VInverse() Weave() TFM(d2v="video.d2v") TDecimate() Santiag() aWarpSharp2(depth=10)
-
The 4:3 DAR flag is already set in your M2V file. If your TV plays it as 16:9 it's the TV's fault. Some workarounds you can try: resize the video to a 4:3 frame size like 640x480 -- e.g. Spline36Resize(640,480). Try a different codec or container. Does your TV play the h.264 MKV file I uploaded? Does it play MP4 files?
The character is sligtly stretched in your source video. Is the character supposed to be perfectly round? You can always crop/resize to adjust for that.
After TFM your video is no longer interlaced. So aWarpSharp2 has no problems with it. -
In the meantime, I experimented with adding letterbox to the video with AddBorder in avisynth. It makes the image kind of okay. Cannot test the mkv, because the TV doesn't recognise that format. However it plays the 4:3 mp4 fine.
The octopus in the resulting video is a bit elongated, though. I would modify that a bit. So you mean if I add different values to the Crop command in your script, I could improve that, for example by cropping some px from the top and bottom? In case of choosing resizing as solution instead, you mean using one of those resize methods like Spline...or others and simply resizing it to the desired value?
I have exported the video in interlaced, now I see it was a mistake for the reasons you mention.Last edited by Bencuri; 24th Jan 2020 at 09:31.
-
I wouldn't use MPEG 2. It's much less efficient (quality per bitrate) than h.264. I'd recommend h.264 in MP4 since your TV can play that. See if your TV plays the attached video, with the correct 4:3 aspect ratio (still with the slightly too tall character, we can deal with that later). It's the video from the MKV file I posted along with the AC3 audio from your original MPG file. It might be necessary to convert the audio to ACC (some devices don't support AC3 in MP4).
-
Your file has very good quality, but my TV stretches it. What it doesn't stretch are the mp4s made by Sony Vegas. I attached them here. However when using this software the output has bad quality of course due to the artifacts.
By the way, I noticed how the image shapes will be correct on TV. The source pixel aspect ratio is 1,0926 (PAL DV), but in case I export it in 1,0000 it will be fine. The image is only elongated in case I leave it on the original value. Among the attached files, "otest" is 1,0926 (PAL DV), "otest2" is in 1,0000. -
So my MP4 file is stretched to 16:9 just like my earlier MKV file?
I'll grant the character is more circular in otest2.mp4. But the source video you provided is NTSC 720x480 29.97 fps 4:3 DAR. Why would the sampling aspect ratio be 1.0926? That's for PAL video, 704x576 25 fps 4:3 DAR. -
Yes, your test.mp4 appears stretched to 16:9.
What resulted in the confusion here is that one of the DVDs from this series is PAL. Recently I was working on that, and in the rush, I forgot to open the NTSC project in Vegas, so I just test rendered from the PAL version. But the essence is the same in both cases: the TV stretches the video to 16;9 in case it is left in 704 x 480 or 576. The project needs to be rendered in FullHD so that the TV leaves the video in 4:3.
Now regarding shapes elongation: no matter what the resolution is, FullHD or DVD, in case the video from the rendered project is left in the DVD pixel aspect ratio value, the shapes will appear elongated on TV. That is, the mpegs I created with running your script and rendering from the NTSC source with HCEnc, those mpegs appear with elongated shapes on TV, too. I know this from that when you play the rendered files from a mediaplayer on TV, the fact that the mediaplayer is the source makes the TV respect the 4:3 aspect ratio, but still, the shapes are elongated, in case the display option on TV is set to 'original'. However in that case, the TV allows for image format adjustment, and you can select a display option that compensates it. This option is not available when you play the files directly from USB drive plugged into the TV. Moreover when playing back on PC, the shapes are also elongated, in case the videos are in DVD pixel aspect ratio. So I think this should be rendered in FullHD with 1,0000 pixel aspect ratio, or in 704x480 or 576 with an appropriate letterbox (in this case you can leave the original pixel aspect ratio). In case of the NTSC version, I experimented with AddBorder and found by adding about 88px as border on both sides makes the video appear kind of okay, in case you render the file as 16:9. In this file the image is 704px wide, and the extra is meant over that.
So what I would be interested in: how to tell the x264 cli to render the stuff with 1,0000 pixel aspect ratio? ...Or HCEnc. Though, seeing what the TV does I think it would be better starting over and render the stuff again in FullHD mp4, omitting HCEnc. That would only be useful in case I would play the videos back from DVD disc from the player, not directly from USB.Last edited by Bencuri; 25th Jan 2020 at 15:38.
-
No it doesn't. Just resize the final version to 640x480 or whatever 1.33:1 ratio you like.
Is your defective television going to stretch that as well? Are you sure you have the aspect ratio settings correctly configured for the television? Have you tried fooling around with them? -
You can tweak the display settings on TV except for the case when you plug a USB drive into it and play the files from that. The TV won't allow you modify those settings in that case, only color settigs. I have two TVs, this is the same on both. You can also set 4:3 display in the setup, but it will be omitted as well in case of USB playback. I would like to show these cartoons to kids in my family, everyone have panel TV but no media player. In case they would have, all this would not be an issue, but as they don't have, I have to tweak the files instead.
I might render in 640x480, but in that case quality will degrade, won't it? I would like the image to be as sharp as possible. -
Even if everyone's fat?
Me, I have no problem at all enjoying videos resized to 640x480 from 704x480. If 640x480 isn't stretched (and it probably will be stretched), then I'd resize in a heartbeat. Otherwise you might wind up resizing to 640x480 and then using the AddBorders command to turn it into a 'widescreen' video. Something like:
Spline36Resize(640,480)
AddBorders(108,0,106,0)Last edited by manono; 25th Jan 2020 at 19:56.
-
Not really. The analog source didn't even have 640 pixels of resolution horizontally.
Here's what I came up with:
Code:Mpeg2Source("video.d2v", CPU2="ooooxx", Info=3) Crop(8,0,-8,-0, align=true) ColorMatrix(mode="rec.601->rec.709") SeparateFields() VInverse() Weave() TFM(d2v="video.d2v") TDecimate() Spline36Resize(400,360) Santiag() TemporalDegrain2() # omit this if the processing is too slow for you MergeChroma(aWarpSharp2(depth=5), aWarpSharp(depth=15)) # upscale and correct aspect ratio nnedi3_rpow2(2, cshift="Spline36Resize", fwidth=800, fheight=720) aWarpSharp2(depth=10) Sharpen(0.5) nnedi3_rpow2(2, cshift="Spline36Resize", fwidth=1488, fheight=1080) aWarpSharp2(depth=5) Sharpen(0.3) ChromaShiftSP(x=-1, y=1) AddBorders(216,0,216,0)
Last edited by jagabo; 25th Jan 2020 at 19:40.
-
Here's another variation:
Code:Mpeg2Source("video.d2v", CPU2="ooooxx", Info=3) Crop(8,0,-8,-0, align=true) ColorMatrix(mode="rec.601->rec.709") SeparateFields() VInverse() Weave() TFM(d2v="video.d2v") TDecimate() Santiag() MergeChroma(aWarpSharp2(depth=5), aWarpSharp(depth=15)) dehalo_alpha(rx=3.0, ry=2.0) nnedi3_rpow2(2, cshift="Spline36Resize", fwidth=800, fheight=720) aWarpSharp2(depth=10) Sharpen(0.5) nnedi3_rpow2(2, cshift="Spline36Resize", fwidth=1488, fheight=1080) aWarpSharp2(depth=5) Sharpen(0.3) ChromaShiftSP(x=-1, y=1) AddBorders(216,0,216,0)
-
I have just tested the last one: dehalo.mkv on TV and WOW the quality is amazingly superb! I never wondered it can be improved that much from this source. Moreover this way the TV doesn't stretch it, and the shapes are fine, no elongations. Thanks a lot!
Did you use the same commands that you added here earlier to convert?
Code:x264 --preset=slow --tune=animation --crf=18 --keyint=50 --sar=8:9 --colormatrix=smpte170m --stitchable --output "output.mkv" "input.avs"
And about the avisynth script: do you add both upscaling command at the same time, or I pick either one, leave that in the script and omit the other:
Code:nnedi3_rpow2(2, cshift="Spline36Resize", fwidth=800, fheight=720) aWarpSharp2(depth=10) Sharpen(0.5)
Code:nnedi3_rpow2(2, cshift="Spline36Resize", fwidth=1488, fheight=1080) aWarpSharp2(depth=5) Sharpen(0.3)
-
No. I used something like:
Code:x264 --preset="slow" --tune="animation" --crf=20 --ref 4 --bframes 3 --keyint=50 --sar=1:1 --colormatrix=bt709 --output "output.mkv" "input.avs"
-
Well, I managed to complete the steps and make a file similar to yours. Here is it attached. Now my only questions are: would it have any use converting with the 10-bit depth variant of the encoder in case of this source? And would it make sense to raise encoding bitrate to ensure the best possible display quality on TV, or it won't look better than the default bitrate I got?
-
That type of animation doesn't have much in the way of gradients so 10 bit encoding probably won't make much difference. CRF 20 is a moderate quality level for 1080p video. But you will be able to see small differences, say with CRF 15, if you look at still frames with a magnifier. I suggest you try it and see if you think it's worth the extra bits. Adding a temporal NR filter (like I did in earlier scripts with TD2) after Santiag will reduce a lot of the remaining edge artifacts -- if you can stand the extra encoding time.
-
Unfortunately I couldn't load the newest version of TemporalDegrain2 with the script, but I managed to complete it with the 2.1.2 version, and I do see the difference. A bit better image overally. I will consider using it later depending on how much time I can devote to this. I only have Intel HD4000 GPU, so it is not lightning fast. Not that seriously long conversion time though, either.
All in all, many thanks for the help, now this level of quality will surely be suitable for enjoying from the HDTV screen!
Similar Threads
-
Resizing after deinterlace PAL DVD w/ QTGMC
By rilopes64 in forum DVD RippingReplies: 11Last Post: 3rd Dec 2019, 10:01 -
When I use QTGMC to deinterlace 1080i60 content to 1080p60...
By Asterra in forum Video ConversionReplies: 5Last Post: 5th Feb 2019, 20:45 -
newbie to AVISynth & VirtualDub-need help with IVTC & deinterlace via QTGMC
By clashradio in forum CapturingReplies: 79Last Post: 14th Nov 2018, 20:05 -
What is the difference between Virtualdub's deinterlace filter and QTGMC
By ricardoRF10 in forum EditingReplies: 12Last Post: 20th Jan 2018, 06:32 -
strange QTGMC deinterlace error
By Srivas in forum RestorationReplies: 7Last Post: 30th Jan 2016, 22:36