非常自我解释。微软有DirectShow用于DirectX 9,但在DX11上使用DirectShow是一个超越语言的COM噩梦。是否有我没有听说过的视频渲染标准,或者为此目的可能有免费的第三方库?
编辑:感谢Mgetz,我知道微软试图找到解决方案Media Foundation。但是,它仅限于Windows 8+,我更愿意避免使用它。
答案 0 :(得分:3)
这可能与您的要求不完全相符,但对于您的目标,您可以查看ffmpeg,libx264和theora(用于ogg声音)或faad(解码aac)。
我已经完成了使用ffmpeg来打开容器(3gp / mp4很容易实现自己btw如果完全GPL许可证是一个问题),libx264解码到帧并上传到opengl纹理,性能很好(在mac pro它可以在没有优化的情况下为1080p渲染50 fps)并且通过弄脏手,你可以通过纹理和3D变换来做蠢事。
答案 1 :(得分:2)
有 DirectX视频加速2.0 ,它有一个神话般的API, DXVA-HD (之后见过VMR9的API,特别是那个自定义分配器/演示器用于无渲染绘图,每个其他API都很棒:))
查看:https://msdn.microsoft.com/en-us/library/windows/desktop/ee663586(v=vs.85).aspx
此外,还有一个示例:https://msdn.microsoft.com/en-us/library/windows/desktop/dd756740(v=vs.85).aspx
Windows 7 是受支持的最低Windows版本
您不会相信使用此API可以直接将视频解码为纹理。
答案 2 :(得分:1)
Media Foundation表示它可以开发用于在Windows Vista及更高版本上使用数字媒体的应用程序和组件。"
因此,它看起来应该适用于Vista,Windows 7和Windows 8。