我使用WPFMediaKit
来显示来自网络摄像头的直播。
我在Surface Pro 3上运行我的应用程序(它有2个集成的摄像头 - 前后)。
我试图从外部网络摄像头(Microsoft LifeCam Studio)获取实时信息,但是当我将VideoSource
更改为我的外部网络摄像头时,我会看到黑屏(相机)已开启,但没有供稿。)
其他内置摄像头运行良好,相机在其他应用程序(如Skype)上工作正常,所以我想这是WpfMediaKit
的一个问题。
这是我的代码:
<WPFMediaKit:VideoCaptureElement x:Name="videoCapElement"
DesiredPixelWidth="320"
DesiredPixelHeight="240"
Stretch="Fill"
HorizontalAlignment="Stretch"
VerticalAlignment="Stretch"
FPS="30" />
videoCapElement.VideoCaptureSource = "Microsoft LifeCam Studio";
videoCapElement.Play();
答案 0 :(得分:0)
此主题概述了WPFMediaKit和YUV-only相机的问题:
https://wpfmediakit.codeplex.com/discussions/272676
此主题概述了Windows Update从Lifecam Studio驱动程序中删除RGB24选项的问题:
DirectShow - Microsoft LifeCam Studio - RBG24 format lost
如果不复制您的设置,我很难对其进行测试,但我认为您的Lifecam Studio失去了RGB24选项是合理的。用户pc25在上面的codeplex线程中发布了一个响应(2014年5月9日下午10:10),该响应建议对WPF MediaKit的VideoCapturePlayer.cs进行更改,这应该可以解决问题。这些改动过于庞大,无法完全发布,但pc25总结了他的方法:
原来我的相机无法在rgb中流式传输(只有yuv2和 其他一些格式)。在我的情况下,SampleGrabber无法连接 相机的输出引脚,因为格式不匹配(SampleGrabber想要 RGB24)。我的修改检测输出引脚上是否有YUV2格式 并在渲染器和DirectShow之前自动添加样本抓取器 添加色彩空间转换块。