I'm in the process of ripping my Seinfeld DVDs, but noticed a very strange telecine pattern on some episodes. Most of the time a standard 3 progressive 2 interlaced pattern is visible, but usually on camera cuts the pattern is cut short and gets out of sync, so it can be 3-2-3-2-2-3-2-3-2 for instance. Needless to say the usual inverse telecine filters do not work properly and I'd really like to avoid having to resort to decomb. What would be the best way to tackle this case?
I tried cutting a sample but it resulted in a few extra duplicate frames... until I used -vsync 2 with ffmpeg. So I assume there are some weird timestamps in the source. Anyways, here is the sample https://mega.nz/#!spBR0ATR!zvZQ9VUoEcj5b_pEO1U4jByggZ6Y0MNFvsaJwCKMRfg
+ Reply to Thread
Results 1 to 30 of 40
-
-
I did not check your file, but isn't your pattern a regular 2-2-3-2-3 (or cyclic shift of it like 3-2-3-2-2) which used for 25fps to 30 (29.97, NTSC) fps telecining?
If it is soft telecined you can just ignore the flags and should get 25fps progressive video.Last edited by Sharc; 25th May 2019 at 07:18.
-
3:2:3:2:2 pulldown is one method used to create 59.94 fields per second (29.97 frames per second) from 25 fps progressive sources. 5 progressive frames are converted to 12 fields, 25 frames to 60 fields per second. Then one duplicate is dropped every 1001 frames to create 59.94 fields per second (29.97 fps). The usual restoration method is to field match then discard duplicates, leaving 25 fps.
-
For simple 3:2:3:2:2 pulldown it's usually TFM().TDecimate(cycle=6, cycleR=1), leaving 24.975 fps. Since it's usually a film source some people like to AssumeFPS(24) or AssumeFPS(24000,1001) to restore the original running time.
Last edited by jagabo; 25th May 2019 at 10:34.
-
A simple TFM().TDecimate() does the job.
As is common with these things, it was edited as video and there's nothing PAL about it. You wind up with duplicate frames at scene changes sometimes but otherwise it IVTC's well.
And next time please upload an M2V from the DVD, and not a useless MKV. -
Weird. Somehow I missed the link to mega.nz in the first post. Yes, the video is normal 3:2 pulldown with discontinuities at shot changes.
-
Alas, none of these solutions are working. TFM + TDecimate result in some jumps in the video, in the very beginning. After that it's okay.
TFM().TDecimate() was the worst, frames looping all over. TFM().TDecimate(cycle=6, cycleR=1) was better, but a noticeable jump remains.
And next time please upload an M2V from the DVD, and not a useless MKV. -
The video can't be perfectly restored because it was edited as video after being hard telecined. So you will end up with occasional duplicate or missing frames at shot changes.
Code:Mpeg2Source("sample_track1_eng.d2v", CPU2="ooooxx", Info=3) # extracted with mkvextractgui, indexed with DgIndex TFM(d2v="sample_track1_eng.d2v") TDecimate()
-
Nonsense. At the beginning of the sample or the beginning of that particular episode? All we have to go on is the sample and, as jagabo mentioned, no one in NTSC land and in their right mind works with MKVs made from DVDs. You're just inviting trouble, as perhaps you've discovered.
The only problem with the sample is orphaned fields caused by editing it as video. The result is dupe frames at scene changes sometimes and perhaps some missing frames at scene changes as well. But the result after IVTC plays smoothly.
Now, if you mean the beginning of the episode then, yes, sometimes the intros are done differently. But we'd need to see a sample to be sure.
Get and use the DGMPGDec package to learn how to work with DVDs. Read the included docs carefully. jagabo showed a possible sample script.
I have no tools to convert vob to m2v. -
Nonsense. At the beginning of the sample or the beginning of that particular episode? All we have to go on is the sample and, as jagabo mentioned, no one in NTSC land and in their right mind works with MKVs made from DVDs. You're just inviting trouble, as perhaps you've discovered.
The only problem with the sample is orphaned fields caused by editing it as video. The result is dupe frames at scene changes sometimes and perhaps some missing frames at scene changes as well. But the result after IVTC plays smoothly.
Can also use Avidemux to re-multiplex directly to mpeg program stream - seems to work well -
You're contradicting yourself. You repackaged the VOBs in such a way that whatever you used to perform the IVTC failed. Next time use a proper decrypter on your DVDs first followed by MPEG2Source (and DGDecode and the D2V project file made using DGIndex).
...this is the first time I'm seeing this issue...
But why this container causing an issue, it has always seemed to me that MKV was the de facto container.Last edited by manono; 25th May 2019 at 21:38.
-
That's a lot to wrap your head around, but I've tried to follow jagabo's provided example but I'm getting a video that consists of a single green frame. Obviously I'm doing something wrong.
I extracted the m2v using mkvextract and indexed it using DGIndex. Now I'm running the following script and sending it to ffmpeg
Code:Mpeg2Source(".\Seinfeld - Season 8 (Disc 4)_t02_Track01.d2v", CPU2="ooooxx", Info=3) TFM(d2v=".\Seinfeld - Season 8 (Disc 4)_t02_Track01.d2v", slow=2) TDecimate() Prefetch(6)
-
He couldn't use the VOB because he didn't have it. Save yourself some time and effort by using the DVD source.
Can you open the script in Virtual Dub without the green? If not, what's the error message? Did you test the script at all before doing the encoding? Are you using plain AviSynth or AviSynth +? If regular AviSynth, try leaving off the Prefetch line. Comment it out (don't use it) by putting a '#' in front of it like so:
Mpeg2Source(".\Seinfeld - Season 8 (Disc 4)_t02_Track01.d2v", CPU2="ooooxx", Info=3)
TFM(d2v=".\Seinfeld - Season 8 (Disc 4)_t02_Track01.d2v", slow=2)
TDecimate()
#Prefetch(6)
If that doesn't work, try simplifying the script even more:
Mpeg2Source("Seinfeld - Season 8 (Disc 4)_t02_Track01.d2v")
#TFM(d2v="Seinfeld - Season 8 (Disc 4)_t02_Track01.d2v")
#TDecimate()
#Prefetch(6)
Open it with just the MPEG2Source line and if that looks normal, remove the '#' one at a time, save and and reload the script (F2) until the reason for the error is discovered. You could also try simplifying the names as well, such as 'S1E2.d2v'
If the script shows as normal in VDub but only becomes green after being encoded in ffmpeg, then the problem lies there. You can open it in Virtual Dub2, choose and configure your codec there and also encode it.Last edited by manono; 26th May 2019 at 18:19.
-
Even when I only leave the Mpeg2Source line VirtualDub gives me filter error 80040154. I don't know why it cannot see my plugins. I'm using AviSynth+ by the way. Even a working script cannot be imported, is it only compatible with regular AviSynth?
-
You may have a 32 bit vs. 64 bit problem. Did you "install" the correct DgMpegDec.dll file?
https://forum.doom9.org/showthread.php?t=149764
32 bit programs will use 32 bit AviSynth and 32 bit filters. 64 bit programs will use 64 bit AviSynth and 64 bit filters. You can't use 32 bit filters in 64 bit AviSynth. You can't use 64 bit filters in 32 bit AviSynth. -
I'm using all x64 avisynth+ and plugins. And I used the DGMPGDec found here http://avisynth.nl/index.php/AviSynth%2B_x64_plugins so no idea why it isn't working
-
Explicitly load the plugin in your script to see of loading the plugin succeeds. You'll get an error message if the plugin fails to load.
LoadPlugin("C:\path\to\DGDecode.dll")
Also, do not move/delete/rename the VOB files after creating the d2v. The d2v file is only an index. The VOB files must remain in place to get the actual video. -
Still no luck. I must have done something wrong when creating the d2v because the plugin loads correctly (ffmpeg does not give me an error, only VirtualDub). To be sure I also tried VirtualDub2 but same thing.
-
Then have you already tried making a fresh D2V file?
Did you change anything in DGIndex, such as, perhaps, using its cropping tool? Ordinarily you'd leave everything at default except maybe changing the Field Operation when you have pure soft telecine. -
Sorry for the delay, I had some internet issues.
I loaded up the VOB directly into DGIndex and demuxed it, but the result is the same. I don't understand, the demuxed m2v looks good, so I suppose DGIndex is working correctly, but VirtualDub still cannot open the script even if simplified to the Mpeg2Source line, and encoding with ffmpeg still results in a single green frame.
I've also tried using Vob2Mpg but I'm stuck, the program is giving me error 0xD0000135 (I'm on Windows 10). I've tried compatibility mode and such but can't get it running. -
What's the complete script, again? And with just using the MPEG2Source line, the name in the line matches exactly the name of the D2V file? Attach the D2V file here.
You don't need to demux the VOB, only create the D2V project file. File->Save Project. But I suspect the problem lies either with AviSynth+ or with 32/64bit for which someone else can help. Maybe. -
The script is very simple
Code:Mpeg2Source("VIDEO_TS.d2v")
By the way I had to try a different DVD as the OP one was borrowed from a friend. It makes no matter, since the result is the same. The d2v file is filed with "92 b2 a2 b2 b2 a2 b2 b2 a2 b2 b2 a2 b2 b2 a2" I have no idea how this format works but I assume it has to be related to frame data, and it does explain why the only thing I get is a green frame.
I will try a DGIndex x86. EDIT: Actually it seems there is only one version of DGIndex, welp.Last edited by ZetaStax; 31st May 2019 at 14:52.
-
That looks normal for a d2v file. The file is plain text and contains no video. It's only an index to the VOB/MPG files. The VOB/MPG files must still be available because the video will be taken from there. Here's a random d2v from my computer:
Code:DGIndexProjectFile16 5 L:\VIDEO_TS\VTS_01_1.VOB L:\VIDEO_TS\VTS_01_2.VOB L:\VIDEO_TS\VTS_01_3.VOB L:\VIDEO_TS\VTS_01_4.VOB L:\VIDEO_TS\VTS_01_5.VOB Stream_Type=1 MPEG_Type=2 iDCT_Algorithm=6 YUVRGB_Scale=1 Luminance_Filter=0,0 Clipping=0,0,0,0 Aspect_Ratio=4:3 Picture_Size=720x576 Field_Operation=0 Frame_Rate=25000 (25/1) Location=0,0,4,2a49a d00 5 0 2048 0 1 1 b0 b0 90 b0 b0 a0 b0 b0 a0 b0 b0 a0 d00 5 0 407552 0 1 1 b0 b0 90 b0 b0 a0 b0 b0 a0 b0 b0 a0 d00 5 0 870400 0 1 1 b0 b0 90 b0 b0 a0 b0 b0 a0 b0 b0 a0 d00 5 0 1331200 0 1 1 b0 b0 90 b0 b0 a0 b0 b0 a0 b0 b0 a0 ... (about 10000 more lines like these) ... d00 5 4 353662976 0 1 20 b0 b0 90 b0 b0 a0 b0 b0 a0 b0 b0 a0 d00 5 4 354123776 0 1 20 b0 b0 90 b0 b0 a0 b0 b0 a0 b0 b0 a0 d00 5 4 354590720 0 1 20 b0 b0 90 a1 d00 6 4 354725888 0 2 1 d2 ff FINISHED 100.00% VIDEO
-
Well then I don't know what's the issue. I've installed avisynth+ x86, x86 plugins including DgDecode and now the script can be opened by VirtualDub, and ffmpeg x86 manages to encode it. So the issue probably lies with the DGDecode x64 build. This one http://avisynth.nl/index.php/AviSynth%2B_x64_plugins precisely.
Similar Threads
-
Interlaced or telecine?
By gamjerr in forum Newbie / General discussionsReplies: 15Last Post: 9th Apr 2018, 19:11 -
how to Telecine in handbreak
By jamespoo in forum DVD RippingReplies: 9Last Post: 23rd Jun 2016, 10:37 -
Telecine vs De-Telecine (Handbreak)
By rdeffley in forum DVD RippingReplies: 12Last Post: 5th Jan 2015, 01:58 -
Weird weird issues - remux blu-ray m2ts to TS/MKV
By qweqwe in forum Newbie / General discussionsReplies: 2Last Post: 4th Jul 2014, 05:40 -
Unable to remove pulldown - weird VOB format?
By bergqvistjl in forum DVD RippingReplies: 84Last Post: 19th Jun 2014, 04:19