So I'm trying to run some ntsc dvds which I made into mkv with makemkv, thru an avisynth+ script, which is for reference:
The filters work pretty good on the video but the audio goes out of sync. After the filters have done the work obviously the video's actually shorter than it was by a long way so the audio ends up overrunning it. Being a beginner at all this I'm in way over my head at this point as my previous usage of avisynth have all been pure interlaced pal sources so really easy to dinterlace with QTGMC. Do I need a timecode file or something?Code:v=FFVideoSource("D:\1.mkv") a=FFAudioSource("D:\1.mkv") AudioDub(v,a) AssumeTFF() TFM(Chroma=False,PP=0) AssumeBFF() Interleave(TFM(Mode=1,PP=0,Field=1),TFM(Mode=1,PP=0,Field=0)) TFM(Field=0,CThresh=23) Vinverse() SRestore(23.976)
+ Reply to Thread
Results 1 to 4 of 4
I don't know what you're trying to do but nothing in that script changes the running time. Maybe the source filters are losing sync. If you delete everything except the first three lines is the audio in sync?
For NTSC DVD sources, you should set RFF=1 when using ffms2 to honor pulldown flags . Also, certain versions of ffms2 have problems with mpeg2 sources even with rff=1 . It can unreliable
Mpeg2Source using DGIndex is more reliable, but you need to extract the mkv first . DGSource using DGIndexNV is also reliable and can be used in mkv container, but requires a compatible Nvidia card and a license
I tried removing all but first three lines but still went out of sync. So I tried DGIndex, demuxed the mpeg2 video stream and ac3 audio with mkvextract. Created d2v index with DGIndex with the honor pulldown flags setting, then loaded the d2v as the video source and the ac3 track as audio. Worked pretty good!
a=FFAudioSource("D:\audio.ac3") v=D2VSource("D:\video.d2v") AudioDub(a,v) AssumeTFF() TFM(Chroma=False,PP=0) AssumeBFF() Interleave(TFM(Mode=1,PP=0,Field=1),TFM(Mode=1,PP=0,Field=0)) TFM(Field=0,CThresh=23) Vinverse() SRestore(23.976)