View Full Version : ffdshow and avisynth?
jarthel
21st October 2002, 10:53
Is it possible to use ffdshow within avisynth to encode .vobs? Thank you.
jayel
sh0dan
21st October 2002, 10:54
Can ffdshow encode vobs?
...Or what are you planning to do?
Boulder
21st October 2002, 11:44
I'll squeeze my question here as well as it's quite similar: is it possible to make ffdshow decode my DivX material instead of the DivX5 decoder when using Avisynth? I'm converting some old DivX clips to VCD for a friend, hence the question. And yes, he doesn't care about some extra blockiness:cool:
Metalazzo
21st October 2002, 12:25
well you can try to use DirectShowSource(string filename, int "fps")
but for some people it doesn't work at all :(
Boulder
21st October 2002, 13:29
No, it doesn't work for me either:(
jarthel
22nd October 2002, 01:12
Originally posted by sh0dan
Can ffdshow encode vobs?
...Or what are you planning to do?
I've seen people use ffdshow in their avisynth scripts. I'm confused as my little knowledge tells that ffdshow is a decoder not an encoder.
Can someone enlighten me? :)
jayel
Kb_cruncher
22nd October 2002, 11:57
In fact you can use it in avs scripts.
Use DirectShowSource in your script like so:
DirectShowSource("yourmovie.avi",fps=25)#or what ever your framerate.
DirectShowSource loads your source as it would if it where played back using the decoder for that source - e.g lets say you have a divx avi,it normally would get decoded with the divx decoder but if you have ffdshow checked for divx decoding then it will be used instead,so your source will be post processed before it is resized,encoded.You can also use any of the filtering option that ffdshow has.
The reason you need to tell avisynth the frame rate is because it can't determine it on its own.
Be aware that CCE does not like DirectShowSorce so you may have to create a vfapi avi first if you use it.Tmpeg likes it just fine.
Hope this is what you wanted to know:D
Boulder
23rd October 2002, 13:00
No, it just doesn't work. I get the error message "Unrecognized exception" when I try to load an DivX3 file in VirtualDub using DirectShowSource.
Kb_cruncher
23rd October 2002, 16:11
can you give me somemore info?can you post the script you used,are you using ffdshow to decode divx3,What version of avisynth are you using,What os are you running?ect
Don't give up too soon.Try other avi(xvid,div5).There has to be a solution somewhere.I'm sure if it works for me it should work for you too with a process of elimination to find that DARN unrecocnized exception.:mad:
Boulder
23rd October 2002, 16:58
Here's the basic script, filters added if needed:
LoadPlugin("c:\windows\system\convolution3d.dll")
DirectShowSource("e:\temp\blacks~1.avi",fps=25)
Convolution3d(0,8,16,8,16,3,0)
BicubicResize(352,288)
The file is DivX4 content. I've also tried DivX3 files but with no luck. I don't have any DivX5 or XViD content on my HD at the moment so I can't test it yet. Ffdshow is used to decode all DivX clips.
I'm using Avisynth v2.06 and WinXP SP1.
I'm at my wits end here, and also stealing jarthel's thread:devil:
Kb_cruncher
23rd October 2002, 22:24
Your script is good...Elimination#1
I can't give you a solution because i can't reproduce the error,but i can run some ideas past you.
1.try demultiplexing the file - DirectShowSource may not support audio(not sure as i only ever encode video only).
2.Try playing the source in a player that lets you look at the filter chain.Zoomplayer or mpc do this.Its possible something mabe amiss here.
I know theres a player that lets you look at the filter chain as it would look in graphedit too,but i can't remember which one.
3.Use only basic postprocessing in ffdshow,no other settings or filters.
thats about as far as my knowledge goes.I'm not sure how XP's directshow works.maybe someone else can help here.
When i playback the video file i get Video Renderer,Overlay mixer,ffdshow,Avi Splitter in the filter chain.
When i playback the AVS script i get Video Renderer,Avi Decompressor(YUY2) in the chain.
Mabe there's a clue in that somewhere.
You could try CovertToYUY2() inyour script....worth a shot.
vBulletin® v3.8.5, Copyright ©2000-2012, Jelsoft Enterprises Ltd.