对比Media Foundation 和DirectShow
我们已经跨入了对高清数字媒体时代。未来的数字高清将无处不在。但是他非常需要健壮的保护,而这是当前的数字媒体平台所不具备的。Media Fundation就是为了这个而存在。
让我们审视高清数字,这个平台需要很有弹性,便于从小故障下恢复。需要考虑大量的不同品质的video 和audio.Media Foundation就是为了这个而存在。比如,支持下一代的HD技术:
1:DirectX 视频加速(DXVA) 2.0提供了比DXVA1.0更高效率的视频加速,更稳定,最新的视频解码能力,和扩展的硬件视频加速。在DXVA2.0下,windows可以直接处理某些高清内容,并容易错误恢复。
2:Color-space能得以保存在整个视频处理流程中,所以中途可以无转换损失,用户可以享受到高逼真的画质。这个也能减少CPU等消耗。
3:增强的视频渲染器(enchanced video render EVR)增强了视频处理和时钟等。
让我们研究一下文件保护,在用户购买了一部电影之后,他可以把电影传到他的某个设备上(一些设备支持直接在播放的时候录制),这个过程中会有多种保护模式,购买后的使用保护,播放时防录制保护,复制保护,如果某一个保护没有正确完成,就会使整套保护没有了意义。所以这需要有一个无缝的平台去相互协作。Media Foundation就是为了这个而存在。
最后,让我们来总览一下DirectShow. DirectShow的API对这些数字高清媒体的应用程序确实是非常通用的,万能的,但是,DirectShow作为一个10多年的老技术而言已经力不从心了。比如:
1:流程是静态static的,所以实现动态的Graph和Major format change是非常困难的。
2:DirectShow filter的线程模型是非常复杂的,要完全理解并永不出错是太困难了。
3:DirectShow filter只能用于DirectShow。
4:DirectShow不支持文件保护。
作为DirectShow的接替者,Media Foundation出现了,他不会马上替代DirectShow,作为第一步,他将在vista上慢慢展露他的影响。
但是目前为止,Media Foundation只能在媒体保护(Proteced media process))方面大施手脚,还未向DirectShow进行足够的扩展和替代。
Appendix: Feature Comparisons
The following table compares the features of Media Foundation with those of DirectShow.
| Feature group | Feature | Media Foundation | DirectShow |
| Basic functionality | Audio and video rendering | Yes | Yes |
| Event notification | Yes | Yes | |
| Device enumeration | No | Yes | |
| Component enumeration | Yes | Yes | |
| Synchronization to reference clock | Yes | Yes | |
| Seeking | Yes | Yes | |
| Improved stress resilience | Yes | No | |
| Content protection | Component validation | Yes | No |
| Content protection policy negotiation | Yes | No | |
| Interoperability between content protection technologies | Yes | No | |
| Protection against kernel-mode and user-mode threats | Yes | No | |
| Component revocation and renewal | Yes | No | |
| Video output protection management | Yes | Yes | |
| Media tasks | Audio capture | No | Yes |
| Video capture | No | Yes | |
| Video editing | No | Yes | |
| DVD playback and navigation | No | Yes | |
| MPEG-2 support | No | Yes | |
| ASF support | No | Yes | |
| TV technologies | No | Yes | |
| Stream buffer engine | No | Yes | |
| Encoder API | No | Yes | |
| Video renderer | Substream mixing using per-pixel or planar alpha blending | Yes | Yes |
| Customizable video composition | No | Yes | |
| Support for custom presenters | Yes | Yes | |
| Windowless rendering | Yes | Yes | |
| Multimonitor support | Yes | Yes | |
| DXVA | Yes | Yes | |
| DirectDraw exclusive mode | Yes | Yes | |
| Backward compatibility with existing applications | Yes | Yes | |
| Accurate frame stepping | Yes | Yes | |
| Alpha blending of image data | Yes | Yes | |
| Glitch resilience | Yes | No | |
| Enhanced video fidelity | Yes | No | |
| Enhanced content protection robustness | Yes | No | |
| Standalone use | Yes | No | |
| Standalone mixing component | Yes | No | |
| Transforms (MFT or DMO) | Synchronous data processing | Yes | Yes |
| Simple programming model | Yes | Yes | |
| Standalone use | Yes | Yes | |
| Multiple inputs and multiple outputs | Yes | Yes | |
| Dynamic number of streams | Yes | No | |
| Access to sample-level metadata | Yes | No | |
| In-place processing | Yes | Yes | |
| Dynamic format changes | Yes | No | |
| Quality adjustment | Yes | No | |
| Rate change | Yes | No |
The following table compares the features of Media Foundation with those of the Windows Media Format SDK.
| Feature group | Feature | Media Foundation | Format SDK |
| ASF file features | Audio and video streams | Yes | Yes |
| Image streams | No | Yes | |
| Arbitrary streams (text, file, Web, custom data) | No | Yes | |
| Script commands | No | Yes | |
| Data unit extensions | Yes | Yes | |
| SMPTE time code support | No | Yes | |
| Mutual exclusion | Yes | Yes | |
| Stream prioritization | Yes | Yes | |
| Bandwidth sharing | No | Yes | |
| Indexes | Yes | Yes | |
| Markers | Yes | Yes | |
| Multiple bit rate stream | Yes | Yes | |
| Multiple language support | Yes | Yes | |
| Codec features | CBR encoding | Yes | Yes |
| VBR encoding | Yes | Yes | |
| Two-pass encoding | Yes | Yes | |
| High-resolution audio support | Yes | Yes | |
| Low delay audio | Yes | Yes | |
| S/PDIF audio output | Yes | Yes | |
| Video image | Yes | Yes | |
| Device conformance template | Yes | Yes | |
| Video complexity settings | Yes | Yes | |
| Frame interpolation | Yes | Yes | |
| DirectX Video Acceleration | Yes | Yes | |
| File writing | Video resizing | Yes | Yes |
| Color space conversion | Yes | Yes | |
| Audio resampling | Yes | Yes | |
| ASF file sink | Yes | Yes | |
| Network sinks | No | Yes | |
| Push sinks | No | Yes | |
| Watermarking support | No | Yes | |
| Input formats, input settings, and data unit extensions | Yes | Yes | |
| WMA smart recompression | No | Yes | |
| Multichannel audio | Yes | Yes | |
| File reading | User-allocated sample support | No | Yes |
| Synchronous reading | No | Yes | |
| Output format enumeration | Yes | Yes | |
| Multichannel audio | Yes | Yes | |
| MP3 support | Yes | Yes | |
| Network sources | Yes | Yes | |
| Metadata | ID3 support | No | Yes |
| Custom metadata | Yes | Yes | |
| Digital rights management | Live DRM | No | Yes |
| DRM Individualization | Yes | Yes | |
| Back up and restore DRM licenses | Yes | Yes | |
| View DRM attributes in the Metadata Editor | Yes | Yes | |
| Output protection levels | Yes | Yes | |
| License revocation | Yes | Yes | |
| Windows Media DRM for Network Devices | Yes | Yes | |
| Secure Audio Path | No | Yes | |
| Playlist burning | Yes | Yes | |
| Third-party transcription support | Yes | No | |
| Local license issuance | Yes | No | |
| Enhanced Windows Media DRM renewability | Yes | No |
本文来自 http://www.cnitblog.com/vcommon/archive/2007/04/29/26384.html
本文对比了MediaFoundation和DirectShow两大音视频处理框架。MediaFoundation针对高清数字媒体设计,支持DirectX视频加速2.0,提供更强的视频处理能力和内容保护功能。DirectShow则在设备枚举和支持多媒体任务方面更为全面。
984

被折叠的 条评论
为什么被折叠?



