DirectX Media Objects
From Wikipedia, the free encyclopedia
DirectX Media Objects (DMOs) are COM-based multimedia and data-streaming components. In some respects, DMOs are similar to DirectShow filters. Like DirectShow filters, DMOs take input data and use it to produce output data, essentially making them multimedia framework components. The APIs for DMOs are much simpler than the corresponding APIs for DirectShow. As a result, DMOs are easier to create, test, and use. For encoders & decoders (DMO-based compressor and decompressor codecs), and for DMO-based audio capture, audio processing and video processing effects, Microsoft encourages you to write a DMO instead of a DirectShow filter. DMOs can be used in many scenarios:
- Applications based on DirectShow can use DMOs through a DirectShow filter called the DMO Wrapper filter. The distinction between filters and DMOs is transparent to the application. The application does not directly call the DMO APIs.
- Applications based on DirectSound can use audio effect DMOs. Again, the application is shielded from the low-level DMO APIs by the higher-level DirectSound APIs.
- Applications can also use DMOs directly, such as DMOs for video effects, audio capture effects etc.
All Windows Media based encoding tools from Microsoft currently use DMOs through 'encoder profiles'. Windows Movie Maker can also use these encoder profiles when saving movies locally.
Windows Media Encoder 9 Series and Windows Media Encoder Studio Edition are probably the only DMO-based encoders. 3rd party codecs for DMOs unlike VfW codecs or ACM codecs are very rare or almost non-existent. The Leadtools , for example, install DMO-based versions of their H.264 codecs. Using the Windows Media Profile Editor, a profile which uses such 3rd party video codecs instead of the Windows Media codecs can be created. Thus, Windows Media Encoder and Windows Movie Maker would be able to create WMV files with 3rd party codecs.