Log in

View Full Version : Avisynth Source Filter comparison?


randomshinichi
18th April 2011, 01:50
So far I've only been using DirectShowSource(). But I've read about ones like DGDecNV(), and FFMS(). What are the possible advantages of using these over DirectShowSource()? I don't think my transcoding process is particularly limited by the decoding of the input file at all.

I would really appreciate a source filter that would automatically provide the subtitle stream to use with TextSub directly from the mkv, because currently I always have to use mkvextract to extract the subtitles from the mkv before using TextSub. Right now the only way I know how to do that is to download VSFilter, put it in the Windows Path, and run "regsvr32 vsfilter.dll". There's got to be a more elegant way to do this, right?

EDIT: For instance: DirectShowSource("file.mkv", audio=true,subtitles=track3,engsubs(this is the handle!))
TextSub(engsubs)

StainlessS
18th April 2011, 02:03
Well, Directshowsource is renowned for oddities.
Best avoided really. Frame rates are, sort of guessed,
Also you have to put up with background reverse pulldown,
de-interlacing, etc that you do not know is happening.
Best to avoid altogether really.

Perhaps others can give better advise, I dont like directshow.

EDIT: The background stuff mentiioned above, is mainly by
whatever mpeg decoder is in use on your system.

-TiLT-
18th April 2011, 07:42
Directshowsource decodes by using Directshow-filters (whatever filter is merited hat highest position). Unless you got good knowledge about your system, it is a black-box.
Directshow-filters are optimized for playback, not for proper decoding. They are allowed to drop frames, ignore necessary deblocking and do everything to keep up with time.
That's why the output is unpredictable.

For a simple 0 to eof decoding on a well tuned system, directshowsource is ok.

If you need to cut your output at various positions, directshowsource will likely jump in at the wrong frame, because frame accuracy is not mandatory for Directshow.

If you need to simplify your workflow to reduce manual approach, simply use a GUI like Staxrip or mencoder. They do all the dirty work for you, including demuxing, indexing and calculations. Embedding subs is easy with these as well. Currently I am not aware of any container to subtitle reader for avisynth.

kenpachi
20th April 2011, 00:01
It is said DSS2() by Haali is more frame accurate but I also do not recommend using DirectShow source filters as I've experienced myself some problems while e.g. trimming in scripts. But there are containers and codecs used within videos you're not left a choice. mov, cooker somewhat, weird Apple or RealMedia stuff (!). All that gives you an excuse for using it.