如何在WebRTC视频聊天中设置后置摄像头流

时间:2015-06-09 09:22:10

标签: angularjs webrtc

我是这个网站的新手,如果问题没有得到充分表达,请原谅我。 我正在实施基于WebRTCangular-rtcommWebSphere Liberty个人资料的视频聊天应用。

我从GitHub上的示例HelpDesk应用程序(https://github.com/WASdev/sample.rtcomm.helpdesk)开始。它工作正常,用户可以看到对方。

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

视频元素中使用的RtcommVideoController使用前置摄像头初始化流,如果可能,我没有找到更改此行为的位置。

提前致谢。

2 个答案:

答案 0 :(得分:1)

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

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

使用WebRTC MediaStreamTrack API看起来还有一种编程方式。我们需要研究通过angular-rtcomm和rtcomm client.js公开它。

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

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

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

答案 1 :(得分:1)

对于pathMap.size() - 具体帮助,请参阅其他答案。对于一般的WebRTC:

facingMode

specification答案是angular-rtcomm约束,但目前只有 Firefox for Android 支持它:

facingMode

这将使var constraints = { video: { facingMode: "environment" } }; 更喜欢后置摄像头(如果有),但不会将其故障转移。使用getUserMedia作为前一个。

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

"user"

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

如果var constraints = { video: { facingMode: { exact: "environment" } } }; 不可用,enumerateDevices会让您检测可用的相机数量,并允许您使用facingMode约束来选择它们。