2009-12-11, 08:36 | Link #462 |
Fansubber
|
I'm trying my hand at DVD ripping, and would like to get the best possible results that I can manage.
My source has a problem with noisy edges. The picture isn't really obvious, but zooming it to full on MPC really shows the problem if you watch the area encircled in blue. Here is a 10MB snippet from the VOB, which I cut using MKVmerge. I did no re-encoding: http://upload.jetsam.org/movies/cmb01.mkv Currently, my meGUI-generated Avisynth script I have consists of: Code:
# Set DAR in encoder to 22 : 15. The following line is for automatic signalling global MeGUI_darx = 22 global MeGUI_dary = 15 DGDecode_mpeg2source("F:\!DVD Images\!Cooking Master Boy\Disc 1\01\VTS_01_1.d2v", info=3) ColorMatrix(hints=true, interlaced=true, threads=0) tfm(order=1).tdecimate(hybrid=1) #deinterlace crop( 8, 0, -8, 0) #denoise TextSub("F:\!DVD Images\!Cooking Master Boy\Disc 1\01\Episode 1 - Hardsub.ass") |
2009-12-20, 12:34 | Link #464 |
Wanderers
Fansubber
|
I'm having trouble fixing this:
At every scene change(?), the last 2-3 frames of the previous scene or the next scene and are always blocky. The problem is the source itself. Is there an Avisynth filter can fix this? Example: EDIT: Also getting the same errors on 2 other DVD sources. |
2009-12-20, 13:32 | Link #465 |
Member
Join Date: Jul 2007
|
Try DeBlock or DeBlockQED. If you have a non rencoded DVD Source u could use the intern deblocking of MPEG2Source(CPU=/CPU2=).
Deblocking will smooth the Source. So if you use DeBlock or DeBlock QED and the Anime is realy worth you time, you could work with trim to filter the framechanges stronger.
__________________
Last edited by max2k; 2009-12-20 at 13:50. |
2009-12-20, 17:58 | Link #466 |
Amateur translator
Join Date: Apr 2009
Location: Prague
Age: 33
|
Or you could try applying the deblocking filter via mask, imagine MSCDetection.TemporalSoften. This would apply the deblocking both before the cut and after it, so it might be a better idea to duplicate the original mask and shift it by 1, 2, 3, 4 frames and then merge it into final mask with decreasing weight. I think it’s worth a try because trimming manually is only good for experienced YATTA freaks
(Not sure if MVTools’ scenechange detection is reliable enough with anime, though. It could just randomly deblock = blur things there and there.)
__________________
|
2009-12-20, 23:10 | Link #467 | |
Wanderers
Fansubber
|
@max2k:
Setting the CPU made little difference and will try Deblock_QED() in a little why and... Quote:
@TiGR: TemporalSoften did the trick but it killed most of the details. Used lower settings but still to no avail. MSC Detection... searched that on Doom9 and it led me to RemoveDirt and led me to RemoveNoiseMC_HQ() and stopped using it because its requirements are conflicting with AnimeIVTC(). Tried DeDup() and on the default settings, it's not really helping. |
|
2009-12-21, 10:27 | Link #468 | |
Amateur translator
Join Date: Apr 2009
Location: Prague
Age: 33
|
Quote:
MSCDetection is an MVTools2 function that outputs a mask: scenecut frames get white, all other frames are black. This is good, but you wanted to do the filtering on more than just one frame, which means you have to (temporally) smooth the mask first, hence the dumb TemporalSoften. Imagine the luma values of the mask: 0 0 0 255 0 0 0; after softening you will get something like: 20 100 160 255 160 100 20. This means that the deblocked original clip (ie. “deblocking itself”) will fade in and out at scenecut rather than blink in for one frame. Code:
original = last deblocked = original.deblock() super = original.msuper() vectors = super.manalyse() scenecut_mask = MSCDetection(original, vectors).temporalsoften(3,255,255,255,2) mt_merge(original,deblocked,scenecut_mask)
__________________
|
|
2009-12-23, 02:44 | Link #469 |
Member
Join Date: Jul 2007
|
Simple Version and this should be enough when you only need to change one filter. In your filter chain you insert something like this, instead the filter: Code:
trim(0,278). Deblock_QED(quant1=16, quant2=14)+trim(279,286).Deblock_QED(quant1=30, quant2=28)+trim(287,334). Deblock_QED(quant1=16, quant2=14)+trim(335,342).Deblock_QED(quant1=30, quant2=28)+trim(343,0). Deblock_QED(quant1=16, quant2=14) And so on ... At the end "trim(343,0)" with filter and settings from frame 343 to the last frame(0)! of you video stream avisynth will using this settings. The second way, would be making "functions" out of different filter chains, naming them and call them in the trims... Even more complicated... If you don't use Yatta, there is still AvsP: http://avisynth.org/qwerpoi/ . A very nice Tool to edit and compare your scripts. Should be very helpful. I now think I really suck at making sentence in English. But I think I understand it very good so I should better shut up and read only. p.s: At the moment I cannot call myself “YATTA-mad”, but hope to get my ass down this holiday season and do some manual IVTC and decimating to get a nice vfr encode out of some OAD that I planed to encode for a long time. Yes I am that ignorant that I really think I could teach my self YATTA, thers no one who would tutor me anyway.
__________________
Last edited by max2k; 2009-12-23 at 03:10. |
2009-12-23, 11:24 | Link #470 |
Amateur translator
Join Date: Apr 2009
Location: Prague
Age: 33
|
I’d suggest using a script like this:
Code:
q1weak=16 q1strong=30 q2weak=14 q2strong=28 trim(0,279-1).Deblock_QED(quant1=q1weak, quant2=q2weak)+\ trim(279,287-1).Deblock_QED(quant1=q1strong, quant2=q2strong)+\ trim(287,335-1).Deblock_QED(quant1=q1weak, quant2=q2weak)+\ trim(335,343-1).Deblock_QED(quant1=q1strong, quant2=q2strong)+\ trim(343,0).Deblock_QED(quant1=q1weak, quant2=q2weak)
__________________
|
2010-01-13, 15:18 | Link #471 |
For fans, by fans!
Fansubber
|
Hey,
Im having a bit of a problem. I've extracted the VOB files from a DVDISO and then merged them into 1 VOB file with VOBMerge, to use it in MeGUI and encode it into an mp4 video. But the result is that the picture gets "scanlines" over the entire picture when its in motion, but when its still or not moving very fast, picture is as its supposed to. Is there anyway of fixing this with some Avisynth filter? And does anyone know what causes this phenonomen? Will attach these screenshots so youll get what I mean: Spoiler for Screens:
__________________
|
2010-01-13, 15:29 | Link #472 |
Aegisub dev
Join Date: Sep 2004
Location: Stockholm, Sweden
Age: 39
|
The video is telecined and you need an inverse telecine (IVTC) filter to make it progressive.
Figure out the rest for yourself. (And if you don't want to spend some days learning about video theory, don't go into DVD ripping territory.)
__________________
|
2010-01-13, 16:29 | Link #473 |
~Buri Buri!~
Fansubber
Join Date: Aug 2008
|
Open the VOB with DGIndex first..., save the project, and from there create an AviSynth script loading the Yadif plugin (remember to load it with LoadCPlugin instead of LoadPlugin), then load also the DGIndex's dll file as prescribed at it's site and load it's project file with MPEG2Source("") then place .Yadif(mode=2, order=1) if the source is frame based and TFF (Top Field First, just make sure when you preview the video that you don't get jerky motion, if that happens switch to order=2 for BFF - Bottom Field First - or 0 to be automatically detected tho this isn't suggested for most cases), mode=1 is for field based (you have a double framerate than the vob's original). Basically you have to tinker with the settings until the source is properly deinterlaced. This is a clean and easy method that I prefer to use, and gets the job nicely done.
@ jfs: You always forget that there will be always a beginer needing for help, saying that doesn't help much.
__________________
|
2010-01-14, 13:49 | Link #475 | |
Excessively jovial fellow
Join Date: Dec 2005
Location: ISDB-T
Age: 37
|
Quote:
needless to say, don't do this, do what jfs said instead
__________________
|
|
2010-01-15, 01:55 | Link #476 |
3D MAXEEER
Join Date: Sep 2009
Location: Island Of Salt
|
andy, i think all of your encodes are failure if you have used yadif on telecine videos. this is what jfs and fluff were referring to when they said ivtc filters. check tivtc first because its the one that most people use when they do ivtc.
|
2010-01-15, 15:24 | Link #477 | |
For fans, by fans!
Fansubber
|
Quote:
Fixed the problem with Donald Graft's Decomb filter. Slow process (took about 29 hours encode), but worth it. Again, thanks!
__________________
|
|
2010-03-09, 20:42 | Link #478 |
Fansubber
|
I'm running into some signs of overfiltering, and would like to get some feedback whether this is the case.
This scene is from the DVD: I added a few basic de-interlace and cropping: ColorMatrix(hints=true, interlaced=true, threads=0) tfm(order=1).tdecimate(hybrid=1) crop( 6, 0, -10, 0) To make it look like this: There is an annoying dot crawl that occurs, so as per advice from here, I added a few more filters: tcomb(mode=2) MCTemporalDenoise(settings="high",edgeclean=true,G PU=false) Giving me this: The script normally works very well. It's just this particular episode that's giving me a bit of problems, with the rainbowing and visible vertical blocks. How best to proceed? Sample snippet from the DVD: Download Last edited by Zergrinch; 2010-03-09 at 23:46. |
2010-03-10, 03:05 | Link #479 |
Excessively jovial fellow
Join Date: Dec 2005
Location: ISDB-T
Age: 37
|
That's not dotcrawl, that's deinterlacing artifacts, and they're most likely caused by tfm failing to find a good match for that frame, so it's falling back on its postprocessing mode, which means deinterlacing the frame. Try with other tfm settings (use a mode that lets it try more matches) or drop it into yatta and find out why it's failing. If that fails too just use a better deinterlacer as postprocessor, like nnedi2.
You do however have a lot of rainbowing there, try bifrost if you want to get rid of it. this is dotcrawl, by the way: e: also, don't use colormatrix
__________________
Last edited by TheFluff; 2010-03-10 at 05:03. |
|
|