我可以通过选择网络摄像机直接播放来播放实况视频。以下是我使用的代码。 现在,我不想选择视频输入设备,而是想将屏幕捕获为视频。如何将屏幕定义为主过滤器?请帮忙建议
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);
}
答案 0 :(得分:1)
DirectShow不具备将屏幕捕获为视频供稿的功能。
出于超出此问题范围的原因,DirectShow屏幕捕获解决方案(至少其中大多数)将表现出受限的性能。
一个典型的解决方案是查看Windows SDK 7.x示例,然后从中提取PushSourceDesktop filter。这是一个示例项目,实现了视频源过滤器,该过滤器产生从桌面捕获的帧。可以将过滤器插入DirectShow过滤器图形中,然后与网络摄像头过滤器类似地使用。 PushSourceDesktop有一个mention on MSDN,您还将在此处和MSDN论坛上找到一些讨论线程。