Log in

View Full Version : DirectShowSource & H.264 FLV


leoenc
7th March 2010, 15:43
I can't seem to open H.264 FLV's using DirectShowSource. VirtualDub thinks for about a minute, then displays a grey frame. When trying to skip - same behavior.

I have the the latest FLV Splitter installed + ffdshow, and the FLV renders and plays fine in GraphEdit.

Also, loading the GRF file DirectShowSource works fine.

DirectShowSource("sample.flv",convertfps=true, fps=29.97, audio=true)

Non-H.264 FLV's work well.

Any ideas?

In the log I noticed some timeouts, not sure why they are caused...

poisondeathray
7th March 2010, 15:50
you can try constructing a graph and use that for either audio & video, with the last render pin empty (not connected)

e.g.
vid = DirectShowSource("videograph.grf",audio=false)
aud = DirectShowSource("audiograph.grf",video=false)
AudioDub(vid,aud)

Or even better IMO, use a different source filter like ffms
FFMpegSource2("video.flv",atrack=-1)

leoenc
7th March 2010, 17:06
Thanks for the tip, poisondeathray, but how reliable is FFMpegSource2?

It worked but sometimes it generates an audio related error (something to do with audio frames not found).

poisondeathray
7th March 2010, 17:12
neither directshowsource or ffms2 are that reliable imo, but for linear straight encode, both should be adequate

ffms2 can be buggy with the framerate (you sometimes have to use assumefps() ), and sometimes you have to re-index it a few times or open/close the .avs

but at least ffms2 is frame accurate once it's indexed (dss not so much)

another option is to use flv extract, then index the file (e.g. use dgavcindex if it's avc), audiodub for the audio

BTW did you try another decoder for the directshow graph? maybe it's causing issues

leoenc
7th March 2010, 17:20
I didn't try anything besides ffdshow. What other H.264 decoder could I try?

poisondeathray
7th March 2010, 17:33
ffdshow should work. you could try divx h.264

which flv splitter? from mpchc project?

directshow can be very buggy as well; does the .avs open in mpc?

leoenc
7th March 2010, 17:43
ffdshow works in Graphedit, but not with DirectShowSource apparently.

FLV Splitter I'm using is the latest official one 1.0.0.5 from Guliverkli2 (dated 2009-08-04). Is there something better?

poisondeathray
7th March 2010, 17:48
Well I don't understand why it's not working if it's working in graphstudio/graphedit. You could try changing to mpchc splitter, or decoder

I'm using gabest mpc splitter, it's dated nov 2009, so it's a bit newer

If it was me, i would delete the index, and try ffms2 again.

leoenc
7th March 2010, 17:51
Ok, thanks for all your help.

Seems that the most trusted solution so far (even if it's lengthy) is to go the FLV Extract/DGAVCindex path.

poisondeathray
7th March 2010, 17:54
one added benefit of doing it that way, is that if your file is VFR, you can get a timecode sheet from flv extract (you can also get timecodes from ffms2, but not from dss)