【问题标题】:Extrenal webcam show black screen with WPFMediaKit使用 WPFMediaKit 的外部网络摄像头显示黑屏
【发布时间】:2015-06-07 12:31:03
【问题描述】:

我正在使用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();

【问题讨论】:

  • 前后摄像头的设备名称是什么?
  • Microsoft LifeCam 后置和 Microsoft LifeCam 前置

标签: c# wpf webcam directshow wpf-mediakit


【解决方案1】:

此线程概述了 WPFMediaKit 和仅 YUV 相机的问题:

https://wpfmediakit.codeplex.com/discussions/272676

此线程概述了 Windows 更新从 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 之前自动添加示例抓取器 添加色彩空间转换块。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-13
    • 1970-01-01
    • 1970-01-01
    • 2020-03-06
    • 2020-10-15
    • 1970-01-01
    相关资源
    最近更新 更多