C#-屏幕捕获源过滤器-直接显示

时间:2019-05-02 08:39:42

标签: c# video directshow directshow.net

我可以通过选择网络摄像机直接播放来播放实况视频。以下是我使用的代码。 现在,我不想选择视频输入设备,而是想将屏幕捕获为视频。如何将屏幕定义为主过滤器?请帮忙建议

string tab = "";
string someString = a;
for (int i = 0; i<5 ; i++)
{
   //add space before string code
   tab += "\t";
   string.Format("{0}{1}", tab, someString);
}

1 个答案:

答案 0 :(得分:1)

DirectShow不具备将屏幕捕获为视频供稿的功能。

出于超出此问题范围的原因,DirectShow屏幕捕获解决方案(至少其中大多数)将表现出受限的性能。

一个典型的解决方案是查看Windows SDK 7.x示例,然后从中提取PushSourceDesktop filter。这是一个示例项目,实现了视频源过滤器,该过滤器产生从桌面捕获的帧。可以将过滤器插入DirectShow过滤器图形中,然后与网络摄像头过滤器类似地使用。 PushSourceDesktop有一个mention on MSDN,您还将在此处和MSDN论坛上找到一些讨论线程。