Windows 增强型视频呈现器 (EVR):以透明方式分层多个 1080p 视频
Windows Enhanced Video Renderer (EVR): Layer multiple 1080p Videos with transparency?
我正在寻找在C++和DirectX或Opengl的Windows上分层多个具有透明度的1080p视频的方法。视频将在不同的时间点开始。理想情况下,视频可以与其他游戏内容的另一个呈现目标混合,因此生成的视频纹理应包含透明像素。
这可以通过 EVR 和硬件加速来完成吗?支持哪些编解码器?http://en.wikipedia.org/wiki/Media_Foundation 提到了透明度,但没有回答我的问题。听起来好像所有视频都必须同时开始,并且生成的视频纹理没有透明度。
蒂亚克里斯托夫
这是我在
03/14 左右的研究结果,对这个问题没有明确的答案。我没有在媒体基金会中尝试上述可能性,因为听起来结果好像没有透明度。
我能够使用第二个灰度视频来遮罩着色器中的 rgb 视频。这可以通过单独的视频流完成,但需要同步。此外,可以并排编码两个帧的视频,但许多硬件加速视频编解码器不允许这样做,WMF 是例外。性能不是很好,但我能够同时播放 3 个 1080p30 视频。
附带说明一下,令我惊讶的是,Flash能够同时播放5+ 1080p30透明视频。闪存视频编解码器允许alpha值,但我只在闪存内部管理使用它们。
相关文章:
- 如何在c++中为模板函数实例创建快捷方式
- 在c代码之间共享数据的最佳方式
- 在C++中将函数压缩为两种方式
- 以螺旋方式打印矩阵的程序.(工作不好)
- 为字符串中每 N 个字符插入空格的函数没有按照我认为的方式工作?
- 创建引用向量的优雅方式
- Constexpr替代了新的放置方式,可以让内存中的对象保持未初始化状态
- 如何在c++中录制具有精确帧时间戳的视频
- 使用QQuickFramebufferObject时同步数据的最佳方式是什么
- 不同/较旧的处理器运行c++代码的方式是否不同
- 从嵌套在std::映射中的std::列表中删除元素的最佳方式
- 如果条件为TRUE(最佳方式?),则在do while循环中后置增量
- 重载方法的方式会在使用临时调用时生成编译器错误
- Windows 增强型视频呈现器 (EVR):以透明方式分层多个 1080p 视频
- 使用 FFmpeg 库(不是 libav 分支)以编程方式捕获视频,在 C++ 中具有可变帧速率
- 使用c++从函数返回图像或视频文件的最佳方式是什么
- 使用Qt和OpenCV读取和处理视频文件的有效方式
- 视频写入后,以编程方式向Matroska (mkv)添加附件
- 使用 Qt 5.0 以编程方式创建视频
- 一个有效的方式来缓冲高清视频实时没有最大的内存