使用DirectX重新创建剧院模式

5

我需要同时在一个更大的显示器上全屏播放我的应用程序中正在播放的视频。在某些显卡上,这被称为剧院模式,并使用卡制造商提供的工具进行配置。

我想只使用软件来实现这个功能。我能用DirectX做到吗?

我的想法是使用DirectShow获取当前活动的视频,并在第二个显示器(由用户配置)上以全屏模式重新绘制它。

我需要使用哪些技术或方法来实现这个功能?

1个回答

2
直接的方法是将已编码的视频分成两个分支,并使用两个视频渲染器来在不同的监视器上呈现视频。一个渲染器可以成为应用程序UI的一部分,另一个则可以在大型辅助监视器上全屏扩展。
将编码的视频分割,可以让您仍然利用硬件辅助解码(DXVA)(如果可用)。您可能更喜欢使用仅软件解码器并拆分已解码的视频——这也可以工作。
您还可以实现过滤器,该过滤器可以单独临时禁用其中一个或另一个渲染器,例如通过停止通过媒体样本传递。
另一件事情是使用桥接甚至更加灵活地控制渲染器,并能够将它们从媒体源中分离出来。

感谢您的回复。我给您发了一封电子邮件,希望能够向您提出一些问题。 - Jason

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接