【问题标题】:Using a 4k Logitech webcam with WebRTC/getUserMedia使用带有 WebRTC/getUserMedia 的 4k Logitech 网络摄像头
【发布时间】:2018-09-05 15:07:33
【问题描述】:

我有一个 4k 罗技 brio 网络摄像头,我可以使用 WebRTC/getUserMedia 从中提取实时视频。遗憾的是只有高清 1920x1080 ......有没有办法在浏览器/电子应用程序中使用相机的 4k 功能?

我正在处理单实例媒体安装,因此跨浏览器支持不是问题。我的目标是任何 webkit electron-builder 将打包。

谢谢!

【问题讨论】:

    标签: webrtc electron webcam getusermedia


    【解决方案1】:

    getUserMedia 目前在大多数浏览器中可能非常...特别,包括电子。

    首先,确保您正确使用了约束。要获得 4k,您应该尝试类似的方法:

    {
      audio: false,
      video: {
        width: { exact: 3840 },
        height: { exact: 2160 }
      }
    }
    

    如果可行,请从那里开始减少限制,让其他非 UHD 网络摄像头正常工作。确保您read up on the constraints and what is possible here,并始终包含WebRTC adapter.js,即使在最新版本的电子中仍然需要它(主要用于将错误名称转换为正确的“标准”名称)。

    您很可能最终会得到类似于以下的约束设置:

    {
      audio: false,
      video: {
        width: {
          min: 1280,
          ideal: 3840,
          max: 3840
        },
        height: {
          min: 720,
          ideal: 2160,
          max: 2160
        }
      }
    }
    

    这将使浏览器尝试获得 4k 分辨率,但如果需要,则会降低到最低 720p。

    另外,如果您想检查您的浏览器/相机是否正确支持 UHD,您可以随时尝试this website,它将运行测试以获取 getUserMedia 在您的系统上支持的分辨率。

    最后,请确保您选择了正确的相机。许多新设备都包含多个面向环境的摄像头,如果你没有定义你想要使用的deviceId,useragent 会为你挑选,而且他们经常选择不佳(例如,我最近使用的京瓷手机)除非另有说明,否则默认使用广角镜头,并且广角镜头不支持任何“正常”分辨率,使其回退到非常低的分辨率和非常奇怪的纵横比。

    【讨论】:

    • 非常感谢您的解释!只是为了澄清,我现在开始工作了:video: { width: { min: 1920, ideal: 3840, max: 3840 }, height: { min: 1080, ideal: 2160, max: 2160 } } 它现在给了我一个高清摄像头。所以 4k 可用是设置的电子/操作系统方面的支持问题吗?
    • 我刚刚在 Windows 10 上运行了相同的代码,现在它是 4k 的!哇哦!
    • @moritzjacobs 请注意,如果您对它们支持的内容有“理想”限制,某些平台(我知道一些京瓷 Android 手机会专门执行此操作,但可能还有其他)会抛出错误。这违反了规范,但它仍然会发生,所以一定要捕获可能从这里抛出的任何错误,并在某些情况下重试。但最重要的主要规则是测试测试测试。
    • {video: {width: 3840, height: 2160}} 就足够了。
    • @jib 虽然规范说应该可以,但我发现一些用户代理(主要是旧的 Android 设备)会默认为最低分辨率(通常是方形纵横比) '不提供最小/最大/理想,并且无法获取给定的宽度/高度。
    猜你喜欢
    • 1970-01-01
    • 2015-03-24
    • 2014-10-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-21
    • 2010-12-07
    相关资源
    最近更新 更多