praks411
praks411

Reputation: 1992

Encoding with DirectShow filters

I'm working on encoding raw images into avi file on windows possibly using directshow filter. The type of codec used will be selected by user. I've already done a similar thing using video for windows (VFW) which was pretty as it provide simple api to compress the data and write it to a file. This time i want to do this using directshow framework to provide directshow support.

However while checking on MSDN I found there different types of filters for different codecs, so there is no single interface. http://msdn.microsoft.com/en-us/library/windows/desktop/dd375464(v=vs.85).aspx Do I need to switch between different filters each time I switch codec.

Also how DMO is different from Directshow as per MSDN they too can be used for encoding. http://msdn.microsoft.com/en-us/library/windows/desktop/ff819088(v=vs.85).aspx

So which should I use to support maximum number of codecs?

Please share you thoughts.

Upvotes: 1

Views: 1685

Answers (1)

Roman Ryltsov
Roman Ryltsov

Reputation: 69642

Different codecs are available with different interfaces because over the course of API developments where have been several APIs.

  • there are Video for Windows VCM video encoders
  • there are video encoding DMOs
  • there are video encoding MFTs (some are possibly dual DMO/MFT objects)
  • there are video encoding DirectShow filters

So the math is that in DirectShow you have most encoders available out of the box.

Other factors like codec specificity and applicability, encoding/container constraints, and the fact decent encoders are not typically freely available - this all seriously limits the use and value of approach when you design an app in a way that it can work with various video encoders of user choice, through standard well known interface/API.

Upvotes: 3

Related Questions