Log in

View Full Version : Problem with DirectShowSource and MPEG-2 files length


MaeWanto
11th November 2004, 22:22
When I open a VOB ( PAL ) into VirtualDubMod, it indicates 222860 frames.
When I open the same VOB with the following AVS script, VDMod indicates only 150124 frames :
DirectShowSource("Test.vob", fps=25)

When I try to encode the movie with XviD into VDMod, I only get the 150124 first frames and the end is truncated ...

I've read that DirectShow can't know the exact length of MPEG-2 files, and that's maybe where my problem comes from !!??
Any confirmation ?

What is the best way to handle MPEG-2 files in VDMod in order to encode them ?
BTW, I also need to handle MPEG-2 4:2:2P@ML files up to 50 Mbps ...
Thanks.

ObiKenobi
11th November 2004, 23:27
Use DGIndex to create a d2v file and the DGDecode filter to import this file into your avisynth script. These can be downloaded from http://neuron2.net

MaeWanto
12th November 2004, 12:42
Hi ObiKenobi,

Thanks a lot for your feedback.
Actually, it works great for VOB ( MP@ML ), but it fails with the 4:2:2P@ML MPEG-2 files I've tested so far ...
When I open a 4:2:2P@ML MPEG-2 file into DGIndex, the video is visually perfect. I then save the .d2v file, but when I open the following AVS script into VirtualDubMod, the result is bad ( luma and chroma informations don't match and seem to be moved from each other ... ) :

loadplugin("E:\Program Files\AviSynth 2.5\plugins\DGDecode.dll")
mpeg2source("Test.d2v")

Would you know where the problem is coming from and how to solve it ?
Thanks.

Wilbert
12th November 2004, 15:09
but it fails with the 4:2:2P@ML MPEG-2 files
Could you upload such a sample (~ 20 frames)? Then I can mail it to Neuron when he gets back.

btw, pb problem is that only YV12 is supported in DGIndex (and not YUY2 = 4:2:2).

MaeWanto
13th November 2004, 09:34
Here is a sample MPEG-2 4:2:2P@ML file at 18 Mbps ( encoded with a Vela board from a Digital Betacam PAL Tape ) :
http://perso.wanadoo.fr/maewanto/Rambo_PAL_0720x0608.mpg

Which workflow could I use to handle such files with AviSynth ?
Thanks.

Wilbert
5th January 2005, 22:55
It's possible now :)

Use DGIndex.exe (which is the new version of dvd2avi) to create the d2v. It can be found here:

http://nic.dnsalias.com/dgmpgdec1012.zip

Use dgdecode.dll (which is the new version of mpeg2dec3.dll) to create the d2v. It can be found here:

http://bengal.missouri.edu/~kes25c/dgdecode_tritical.zip

Note the one in the package dgmpgdec1012.zip is too old, it doesn't support 4:2:2.

Script:

mpeg2source("F:\t3\rambo_422.d2v")

Boulder
6th January 2005, 10:05
Originally posted by Wilbert
http://bengal.missouri.edu/~kes25c/dgdecode_tritical.zip


The link's broken:(

tritical
10th January 2005, 02:45
EDIT: you can find a version that supports this in this thread: http://forum.doom9.org/showthread.php?threadid=88167 or for any future updates this site: http://neuron2.net/fixd2v/decodefix.html