PDA

View Full Version : DirectShowSource() problems: 1st frame shows only


jimbobuk
17th August 2003, 21:24
I usually use MPEG2Dec3.dll with MPEG2Source() to load my MPEG2 tv capture files.. I've recently discovered the whole pal phase shift/alignment issues with progressive video interlaced to PAL and being captured mid frame.. Donald Graft's decomb/Telecine plugin works brilliantly for this but its obviously only of use when transcoding via VirtualDub say..

Anyways i was suggested to try it in realtime via

DirectShowSource()

i changed my script to be


DirectShowSource("futurama interlacing (small).mpg")
return last


and loaded it in.. i was trying it with the telecide option but the frames were still interlaced... I did a splitfield and the fields too were still interlaced, I assumed the MPEG2 filter in the default directshow graph was deinterlacing it before it had a chance to be processed.. anyways i was using the elecard mpeg2 decoders as they enable me to use dscaler with SageTV (my PVR program) .. I could see their nag icon in the top right corner of my video so i decided to uninstall it.. since doing this files loaded in virtual dub report a stupidly high number of frames like 100,000 (its only a 4 second clip) .. you drag with the mouse rapidly through and eventually the clip starts to move but normal playback just sticks on the first frame..

I've tried this on a 2nd PC with WindowsXP and it has the same behaviour without any filter uninstalling (never had elecard installed on it)

So in short its only really worked when elecard was installed but it was already deinterlaced so wasn't workable... anyone got any ideas!?

Thanks

jimbobuk
18th August 2003, 11:13
please can someone help, I've tried everything i can think of with this... what can go wrong when using DirectShowSource()... what does it look like when it does work, does it report a stupidly high number of frames!?

The video is there i just have to drag for ages, and it never plays properly, only will advance frames as i drag... in a normal player loading the avs file it just sticks at the 1st frame plays till the end of the file...

Si
18th August 2003, 18:11
Check out this (http://forum.doom9.org/showthread.php?s=&threadid=57357&highlight=directshowsource) thread and note that you can't jump around in the timeline (As neuron2 already pointed out in the other discussion :) )

jimbobuk
18th August 2003, 21:35
Thanks siwalters :) good to see you "around" :)

jimbobuk
18th August 2003, 21:56
Ok i downloaded the latest beta and tried it out..

I added the FPS parameter.. this seems to help a little bit.. it takes till frame 7 to start and then it seems to do 3 frames for each frame, and then a pause of a frame or two, then a frame etc..

The mpeg2 file still seems to update strangely... but when i close the file in virtualdub i get

"An out-of-bounds memory access (access violation) occurred in module 'AviSynth'."

Every time... I loaded an AVI (which then requested i set the FPS as it couldn't get it.. it never said this for the MPEG2 file but as i reported it was saying really silly stuff about the frames) and it worked ok but had the same error upon closing the file...

Anyways some of the frames seem to take 5 or 6 frames, others following one after the other, at least its not completely broken :) which is a relief..

It crashes BSPlay as well..

Can anyone get this to work on their setup.. avs script


DirectShowSource("futurama interlacing (small).mpg", 25)
return last


File.. http://www.btinternet.com/~jimtreats/tvcard/interlacingTest.zip

If no one else can get it to work fine then thats fine.. its something that doesn't work yet, if others can then obviously there is still something wrong with my setup/system..

Thanks

Si
18th August 2003, 22:08
Can anyone get this to work on their setup.. avs script
Apart from me you mean :)
(for others - I suggested this script as a method of using Avisynth .avs files in realtime using Telecide or PFR over in neuron2s forum but jimbobuk seems to having problems with it:( )

regards
Simon

jimbobuk
19th August 2003, 00:28
yeah sorry... of course yours works.. :(

and you didn't need to use the fps parameter to get it working.. does yours work in virtualdub!? being careful to just do frame advance with arrow keys!??

Si
19th August 2003, 21:23
No is doesn't work in VirtualDub - very unpredictable behaviour that then leads to it freezing. :)

I couldn't even just let it run and produce an avi. :(

I've used Graphedit to check to see what the difference is between using your clip as a source and my ex-SVCD one that I tried in the thread I mentioned.

The difference is on your clip my MatroxG400 DSFilter called DivX400 and another filter called Overlay Mixer2 are being inserted between the output of my elecard decoder and the Video Renderer.

(The matrox filter kicks in on my system if a clip is of a certain horizontal size in order to correct other problems)

I apologise for saying it was working on mine -in hindsight what I should have said is that the method works on my computer with 2 of my MPEG-2 files :o

I didn't bother trying it on your clip because it was so short!

Do a Render Media File in Graphedit and see what filter 's your getting - on my working one MPEG I'm getting
MPEG-2 Spliter -> Elecard MPEG-2 Video Decoder -> Video Renderer
-> Cyberlink Audio Decoder -> Default DirectSound Device

regards
Simon

jimbobuk
20th August 2003, 21:02
is that filter graph that works the MPEG2 files straight or parsed through an avisynth script ?!?

mine via the avs script is

avs -> avi decompressor -> video renderer
|
..---> default directsound device

same mpeg file directly


MPEG2 -> MPEG2 demultiplexer -> intervideo audio -> dsounddevice
.............................|
.............................|
..............................--> intervideo video -> overlay mixer -> video renderer 0008

playback is VERY VERY jerky with this MPEG2 file...

Si
21st August 2003, 09:08
Straight MPEG-2 Files

regards
Simon