【问题标题】:How set rear camera stream in WebRTC video chat如何在 WebRTC 视频聊天中设置后置摄像头流
【发布时间】:2015-08-24 00:47:39
【问题描述】:

我是这个网站的新手,如果问题没有很好地表达,请原谅我。 我正在实现一个基于WebRTC、angular-rtcomm 和WebSphere Liberty Profile 的视频聊天应用程序。

我从 GitHub (https://github.com/WASdev/sample.rtcomm.helpdesk) 上的示例 HelpDesk 应用程序开始。它运行良好,用户可以互相看到。

我的问题:是否可以选择后置摄像头流而不是前置摄像头(当后置摄像头可用时)?

视频元素中使用的RtcommVideoController 使用前置摄像头初始化流,如果可能的话,我没有找到改变这种行为的地方。

提前致谢。

【问题讨论】:

    标签: angularjs webrtc


    【解决方案1】:

    我在 StackOverflow 上找到了这个答案:How to choose input video device for webrtc?。

    如果您需要快速解决方案,您可以从浏览器配置中选择输入设备。

    看起来还有一种使用 WebRTC MediaStreamTrack API 的编程方式来执行此操作。我们需要考虑通过 angular-rtcomm 和 rtcomm client.js 来公开它。

    我在下面列出的 rtcomm GitHub 存储库中为此打开了一个问题。如果您想自己尝试一下,请 fork 我们并在您自己的分支中修改开源,我们可以在您完成后将其合并回 master。

    https://github.com/WASdev/lib.angular-rtcomm

    https://github.com/WASdev/lib.rtcomm.clientjs

    【讨论】:

      【解决方案2】:

      有关angular-rtcomm 的特定帮助,请参阅其他答案。对于一般 WebRTC:

      面对模式

      specification 的答案是 facingMode 约束,但目前只有 Firefox for Android 支持它:

      var constraints = { video: { facingMode: "environment" } };
      

      如果有后置摄像头,这将使getUserMedia 更喜欢后置摄像头,但不会故障转移。使用"user" 作为前面的。

      要需要后置摄像头,请使用:

      var constraints = { video: { facingMode: { exact: "environment" } } };
      

      有关约束语法的帮助,请参阅MDN。

      如果facingMode 不可用,enumerateDevices 将让您检测有多少摄像头可用,并让您使用deviceId 约束在它们之间进行选择。

      【讨论】:

      • 感谢您的回复。我认为这是一个angular-rtcomm 问题。我还尝试使用此处建议的代码 (simpl.info/getusermedia/sources)。我可以检索后置摄像头的视频流,但无法在视频聊天中使用此视频流。无法在视频聊天中设置此流。我看到了@bpulito 的答案,现在我等待他的任何更新。
      • 有道理。我希望这些信息对他们实施修复有所帮助。
      猜你喜欢
      • 1970-01-01
      • 2021-09-05
      • 2018-02-14
      • 1970-01-01
      • 1970-01-01
      • 2021-04-06
      • 2017-07-31
      • 2019-09-28
      • 1970-01-01
      相关资源
      最近更新 更多