kuchikirukia
30th October 2014, 18:49
I'm starting a rather large project on a source that needs some cleaning. Since I'm new to this x.264/Avisynth stuff and a month of study and trial and error still hasn't gotten me to the point where I really know what half of this stuff is doing, I'd like someone to double-check that I'm not doing anything stupid or pointless -- especially the whole "extract to mpeg2 and run DGIndex" part, since I really have no idea if the d2v file is adding anything to what TFM and TDecimate are doing, and it saves me a ton of work if I can skip steps 3, 4, and 5 and just run everything from the mkv file using ffms2.
Here's what I'm preparing to use:
1. Use MakeMKV to extract whole disc to MKV so I have something I can work on.
2. Use mkvmerge GUI chapter splitting to extract the episodes.
3. gMKVExtract GUI to extract the video and audio.
4. Play .mpg through in DGIndex, IEEE-1180 reference, honoring pulldown flags (no idea what that does), maximum speed. *(I have no idea if this playthrough step does anything for me -- I just noticed it puts Field Repeats in the log file, which you don't get that if you skip right to Save Project. I don't know if Field Repeats is useful or even being used anywhere.)
5. Save DGIndex project.
6. Open first pass AviSynth script in VirtualDub and Run Video Analysis Pass:
#load plugins
DGDecode_mpeg2source("E:\Video\source.d2v", cpu=0, idct=5)
tfm(d2v="E:\Video\source.d2v",output="E:\Video\tfm.txt"), .tdecimate(mode=4, output="E:\Video\stuff.txt")
(VirtualDub is significantly faster than MeGUI's analysis pass in this. 4:10 vs 6:00)
7. Run encoding script in MeGUI:
#load plugins
DGDecode_mpeg2source("E:\Video\source.d2v", cpu=0, idct=5)
edeintted = SeparateFields().SelectEven().EEDI2(field=-1)
tdeintted = TDeint(edeint=edeintted)
tfm(d2v="E:\Video\source.d2v", input="E:\Video\tfm.txt")
tdecimate(mode=5, hybrid=2, tcfv1=false,vfrDec=1,input="E:\Video\stuff.txt",tfmIn="E:\Video\tfm.txt",mkvOut="E:\Video\mkv-timecodesfile.txt")
RemoveGrain(mode=1)
crop(4, 0, -4, 0)
bicubicresize(640,480,0,0.5) # Bicubic (Neutral)
lsfmod(ss_x=2.0, strength=100, edgemode=1, soft=0, soothe=false, overshoot=0,smode=5)
lsfmod(ss_x=3.0, strength=120, soft=0, soothe=false, overshoot=0,smode=5)
Edgecleaner(strength=22, smode=1)
"C:\Program Files\MeGUI_2507_x86\tools\x264_10b\x264-10b.exe" --preset veryslow --tune animation --crf 13.5 --keyint 240 --qcomp 0.7 --aq-strength 0.7 --nr 100 --no-fast-pskip --sar 1:1 --output "E:\Video\encoding vfr.264" "E:\Video\encoding vfr.avs"
8. Encode audio.
9. Mux audio with video+timecodes with mkvmerge.
--------------------------------------------------------------------------------------------------------------------------------------
So, questions:
1. Does the DGIndex playthrough do anything for me? (If I can skip that and only that it saves me 4 minutes of waiting)
2. Does the d2v + DGDecode give me a more accurate IVTC (or anything), or am I wasting my time with those steps. If they're a waste, should I use ffms2 or is there something better?
3. Is there a better way to do sharpening/antialiasing than LSFMod's supersampling? I tried MAA2 to smooth out a lower-AA LSFMod, but it was unbearably slow and it Dr. Watson'd MeGUI every time it started. (though the encode would still go through to finish.)
4. Am I using LSFMod stupidly? Since max sharpening=200 at 3.0 supersampling doesn't give me all the sharpening the source needs I added another instance of sharpening. But I see there are different kernels to LSFMod's sharpening, but I have no idea what those are or do.
5. Is the edeintted/tdeintted being in there going to help/hurt anything? After a week of banging my head trying to get VFR to work I ran MeGUI's AVS Script Creator, picked the TIVTC+ TDeint(EDI) option, and tweaking the script it gave me with TIVTC's VFR options somehow gave me working VFR over what I had been doing earlier (even though I see absolutely no difference over what I gave TFM and TDecimate before), so since it's working I haven't wanted to mess with it.
6. Avisynth 2.6 MT. I've read some places that it doesn't play well with TIVTC. Is this still true, or can I use it? I did play around with it back when I was doing CFR and it seemed to be working (LSFMod was having a problem until I disabled the post-processing, after which it was good to go with setmtmode(2)), though I noticed a frame jump here and there, I'm not sure if it was the multithreaded or just my settings were wrong.
And general question: What does the period do in Avisynth? I see TFM().TDecimate() a lot. Is that just the same thing as a new line or does it say, "Hey, we're using the same DLL here!" On the chance of the latter I went LSFMod().LSFMod(), though I have no idea if it does anything.
Here's what I'm preparing to use:
1. Use MakeMKV to extract whole disc to MKV so I have something I can work on.
2. Use mkvmerge GUI chapter splitting to extract the episodes.
3. gMKVExtract GUI to extract the video and audio.
4. Play .mpg through in DGIndex, IEEE-1180 reference, honoring pulldown flags (no idea what that does), maximum speed. *(I have no idea if this playthrough step does anything for me -- I just noticed it puts Field Repeats in the log file, which you don't get that if you skip right to Save Project. I don't know if Field Repeats is useful or even being used anywhere.)
5. Save DGIndex project.
6. Open first pass AviSynth script in VirtualDub and Run Video Analysis Pass:
#load plugins
DGDecode_mpeg2source("E:\Video\source.d2v", cpu=0, idct=5)
tfm(d2v="E:\Video\source.d2v",output="E:\Video\tfm.txt"), .tdecimate(mode=4, output="E:\Video\stuff.txt")
(VirtualDub is significantly faster than MeGUI's analysis pass in this. 4:10 vs 6:00)
7. Run encoding script in MeGUI:
#load plugins
DGDecode_mpeg2source("E:\Video\source.d2v", cpu=0, idct=5)
edeintted = SeparateFields().SelectEven().EEDI2(field=-1)
tdeintted = TDeint(edeint=edeintted)
tfm(d2v="E:\Video\source.d2v", input="E:\Video\tfm.txt")
tdecimate(mode=5, hybrid=2, tcfv1=false,vfrDec=1,input="E:\Video\stuff.txt",tfmIn="E:\Video\tfm.txt",mkvOut="E:\Video\mkv-timecodesfile.txt")
RemoveGrain(mode=1)
crop(4, 0, -4, 0)
bicubicresize(640,480,0,0.5) # Bicubic (Neutral)
lsfmod(ss_x=2.0, strength=100, edgemode=1, soft=0, soothe=false, overshoot=0,smode=5)
lsfmod(ss_x=3.0, strength=120, soft=0, soothe=false, overshoot=0,smode=5)
Edgecleaner(strength=22, smode=1)
"C:\Program Files\MeGUI_2507_x86\tools\x264_10b\x264-10b.exe" --preset veryslow --tune animation --crf 13.5 --keyint 240 --qcomp 0.7 --aq-strength 0.7 --nr 100 --no-fast-pskip --sar 1:1 --output "E:\Video\encoding vfr.264" "E:\Video\encoding vfr.avs"
8. Encode audio.
9. Mux audio with video+timecodes with mkvmerge.
--------------------------------------------------------------------------------------------------------------------------------------
So, questions:
1. Does the DGIndex playthrough do anything for me? (If I can skip that and only that it saves me 4 minutes of waiting)
2. Does the d2v + DGDecode give me a more accurate IVTC (or anything), or am I wasting my time with those steps. If they're a waste, should I use ffms2 or is there something better?
3. Is there a better way to do sharpening/antialiasing than LSFMod's supersampling? I tried MAA2 to smooth out a lower-AA LSFMod, but it was unbearably slow and it Dr. Watson'd MeGUI every time it started. (though the encode would still go through to finish.)
4. Am I using LSFMod stupidly? Since max sharpening=200 at 3.0 supersampling doesn't give me all the sharpening the source needs I added another instance of sharpening. But I see there are different kernels to LSFMod's sharpening, but I have no idea what those are or do.
5. Is the edeintted/tdeintted being in there going to help/hurt anything? After a week of banging my head trying to get VFR to work I ran MeGUI's AVS Script Creator, picked the TIVTC+ TDeint(EDI) option, and tweaking the script it gave me with TIVTC's VFR options somehow gave me working VFR over what I had been doing earlier (even though I see absolutely no difference over what I gave TFM and TDecimate before), so since it's working I haven't wanted to mess with it.
6. Avisynth 2.6 MT. I've read some places that it doesn't play well with TIVTC. Is this still true, or can I use it? I did play around with it back when I was doing CFR and it seemed to be working (LSFMod was having a problem until I disabled the post-processing, after which it was good to go with setmtmode(2)), though I noticed a frame jump here and there, I'm not sure if it was the multithreaded or just my settings were wrong.
And general question: What does the period do in Avisynth? I see TFM().TDecimate() a lot. Is that just the same thing as a new line or does it say, "Hey, we're using the same DLL here!" On the chance of the latter I went LSFMod().LSFMod(), though I have no idea if it does anything.