View Full Version : AVS 2.55 - Bug on Direct Show Video Duration?


3ngel
7th April 2005, 14:54
Hi,
I use the latest AviSynth build 255, with this script:

-----
DirectShowSource("D:\Test.GRF")
....
....
-----

In VirtualDub the duration is 1:23.00 and the right is 2:03:00

with this :

-----
DirectShowSource("Test.VOB")
....
....
-----

In VirtualDub the duration is 1:20.00 and the right is 2:03:00

LOL
Obviously, when converting the convertion is incomplete 'cause the FrameNumbers are wrong (less).

What's the problem? :)

Wilbert
7th April 2005, 15:47
You need to add the framerate (see docs).

DirectShowSource("Test.VOB",fps=...)

sh0dan
7th April 2005, 16:27
Most (if not all) MPEG2 DS filters are not capable of getting correct time, and only delivers a guess. Use DGIndex.

3ngel
7th April 2005, 16:28
With

DirectShowSource("Test.VOB",fps=25)

the problem remains.

In VirtualDub (even without fps=25) the samplerate is right, it's the TotalNumber of frames (and conseguently duration) that are wrong.

EDIT :

@Shodan
So it's a filter problem? It reports to avisynth the wrong number of frames?

sh0dan
7th April 2005, 16:33
To be able to deliver the correct duration it would need to scan the entire file, so most filters just scan the first frames and estimate the length based on compression of these frames. With CBR this works, but it will fail on VBR (which is the case on 95% of all DVD's).

3ngel
7th April 2005, 16:36
But, here it's not a matter of duration, but a frame count.
That is, what is reported is 50.000 frames lesser, it's a huge difference.
I understand about duration, that filter guess, but frame number?
It would not to be written somewhere?

EDIT:
Or even in case of frame counts is a matter of CBR and VBR?

vinetu
7th April 2005, 17:43
3ngel,
The wrong thing in your system is the "mpeg2 splitter".
the default windows splitter is a "no go" if the mpeg file is large.
A splitter wich will work is inside Elecard Mpeg2 decoder or player bundle.
However if you install that bundle and something other go wrong - don't blame me! :) i.e. you need only the splitter... which on the
the other hand may refuse to work with some decoders -it's your turn!

Regards!

3ngel
7th April 2005, 20:02
@vinetu
Well, i'm already using the couple Moonlight Elecard Splitter + Moonlight Decoder, but the situation is the same.. :(

vinetu
7th April 2005, 21:37
What's the size of the VOB? - in my case was 5-6 Gb and Elecard splitter was able to handle that correctly.(1-2 years ago)
Are you sure it's Elecard filter in the chain and not another one?

Regards!

3ngel
7th April 2005, 23:52
The VOB is about 6Gig, and yes the Elecard is in the chain.
I think that pheraps as Shodan said, it depends by the VBR nature of the Mpeg2 in the vob, so even the frame count can't be exact (without scanning the entire vob), but i would like a confirm from shodan, so i can be sure about this :)

Wilbert
8th April 2005, 00:10
I forgot the exact reason. Was it because the total number of frames isn't stored in the header (contrary to avi)? It has something to do with that mpeg is streamable and avi not.