DirectShow/WinForms中的硬件加速视频

The*_*man 6 hardware directshow wmv h.264 winforms

目前正在为需要播放高清WMV和H264视频的Windows .NET应用程序进行原型设计.我的测试文件是完整的1080p.

目标硬件具有弱Atom处理器但强大的NVidia 9400显卡.我知道图形是集成的,但我的理解是它们适合于视频播放.

在Windows 7上测试,如果我使用MediaElement控件在WPF中播放我的测试文件,我的CPU使用率为0.

但是,目标操作系统是Windows XP,我们可能没有.NET 3.0.因此,应用程序需要在WinForms中运行.由于各种原因,Windows Media Player ActiveX不是一个选项.所以我们正在研究DirectShow.

我使用DirectShow.NET组合了一个播放器,使用VMR9全屏播放视频.使用这种方法,我的WMV文件占用了20-30%的CPU.我不得不安装一个mp4 muxer/demuxer甚至可以播放H264文件,然后它们消耗了40-50%的CPU.

  • 我知道Windows 7支持H264.但是,它似乎不是DirectShow过滤器?
  • 为什么我的视频使用WPF加速,但在使用DirectShow时却没有?我的理解是DirectShow支持DXvA.

tldr:如何在WinForms中实现硬件加速的WMV和H264视频播放?

谢谢!

Jer*_*ill 2

我们无法为您提供直接答案,但 DXVA 检查实用程序过去曾帮助我调试 DXVA 问题。这是下载链接: http://bluesky23.hp.infoseek.co.jp/en/index.html