Windows 增强型视频呈现器 (EVR):以透明方式分层多个 1080p 视频

Windows Enhanced Video Renderer (EVR): Layer multiple 1080p Videos with transparency?

本文关键字:视频 方式 透明 分层 1080p 增强型 EVR Windows      更新时间:2023-10-16

我正在寻找在C++和DirectX或Opengl的Windows上分层多个具有透明度的1080p视频的方法。视频将在不同的时间点开始。理想情况下,视频可以与其他游戏内容的另一个呈现目标混合,因此生成的视频纹理应包含透明像素。

这可以通过 EVR 和硬件加速来完成吗?支持哪些编解码器?http://en.wikipedia.org/wiki/Media_Foundation 提到了透明度,但没有回答我的问题。听起来好像所有视频都必须同时开始,并且生成的视频纹理没有透明度。

蒂亚克里斯托夫

这是我在

03/14 左右的研究结果,对这个问题没有明确的答案。我没有在媒体基金会中尝试上述可能性,因为听起来结果好像没有透明度。

我能够使用第二个灰度视频来遮罩着色器中的 rgb 视频。这可以通过单独的视频流完成,但需要同步。此外,可以并排编码两个帧的视频,但许多硬件加速视频编解码器不允许这样做,WMF 是例外。性能不是很好,但我能够同时播放 3 个 1080p30 视频。

附带说明一下,令我惊讶的是,Flash能够同时播放5+ 1080p30透明视频。闪存视频编解码器允许alpha值,但我只在闪存内部管理使用它们。