Log in

View Full Version : Using GraphEdit Source into Avisynth with Demultiplexer


chiklit
9th May 2009, 14:43
Hi. I'm trying to open a GraphEdit graph in Avisynth so that I can use my Hauppauge HD-PVR as an input source. I've built the graph in GraphEdit and it renders and works fine in there. However when I remove the renderer and try to open it in Avisynth it says "DirectShowSource: GRF file does not have a compatible video pin."

I have a feeling this is because the Push Demultiplexer doesn't have output pins until the graph is run once first. Because when I reopen the graph in GraphEdit, the video decoder is disconnected and the demultiplexer no longer has output pins. I've attached the graph and here's what the avisynth code looks like:


DirectShowSource("video.grf", fps=29.97, audio=false)


Does anybody know of a way to get this working? Basically I'm trying to stream the output of the HD-PVR with VLC, I got that working without avisynth but because the source is 720p at 60fps it's overwhelming the encoder and it can't encode in realtime. I was hoping to be able to use avisynth's SelectEven() filter to reduce the framerate to something more manageable.

Thanks.

http://lastedit.com/vidgraph.png

Leak
9th May 2009, 18:15
Try adding "framecount=<some value>" to your DirectShowSource call, but even if it works I'm pretty sure you won't be happy with that either - AviSynth needs to know the number of frames you're feeding it beforehand since it's made for VfW where you have the same limitation, and each clip used in AviSynth (like the one returned by DirectShowSource) also needs to know it's FrameCount property when it's being created.

So the best you could hope for is using it for a certain pre-set length of video. Or you could try using ffdshow's AviSynth filter where I simply tell AviSynth it's getting a frickin' huge clip from ffdshow_source, which at 30 FPS should be good for around 92 hours, with the added bonus of AviSynth being more or less decoupled from the rest of the graph...

np: Dakota Suite - The End Of Trying II (The End Of Trying)