非常不言自明。微软在DirectX 9上有DirectShow,但在DX11上使用DirectShow是一场无法言喻的COM噩梦。有没有一个我没听说过的视频渲染标准,或者是一个用于此目的的免费第三方库?
编辑:多亏了Mgetz,我知道微软正在尝试一个解决方案,Media Foundation。然而,它仅限于Windows 8+,这是我更希望避免的。
发布于 2014-02-08 00:50:28
这可能不完全符合你的要求,但为了你的目标,你可以看看ffmpeg,libx264和theora(用于ogg声音)或faad(解码aac)。
我已经做过使用ffmpeg来打开容器(3gp/mp4很容易实现自己,如果完整的GPL许可证是一个问题),libx264解码到帧和上传到opengl纹理,性能很好(在mac pro上它可以渲染1080p的50fps而没有优化),通过弄脏你的手,你可以享受做纹理和3d转换的愚蠢事情的乐趣。
发布于 2014-06-30 23:40:31
Media Foundation说,它“使得在Windows Vista和更高版本上使用数字媒体的应用程序和组件的开发成为可能”。
因此,它看起来应该可以在Vista、Windows 7和Windows 8上运行。
发布于 2016-02-01 07:29:56
还有DirectX视频加速2.0API,它有一个非常棒的接口,VMR9Dxva-HD(在看过VMR9API之后,特别是用于无渲染绘制的自定义分配器/演示器,其他的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将视频解码成你的纹理是多么的直接。
https://stackoverflow.com/questions/21002554
复制相似问题