相关疑难解决方法(0)

如何为webrtc选择输入视频设备?

我正在学习webRTC申请.

我的参考是这个软件

apprtc https://code.google.com/p/webrtc/source/browse/trunk/samples/js/apprtc/

演示 https://apprtc.appspot.com/

我的电脑有bult-in视频设备,apprtc使用这个视频设备.不过我想用USB摄像机代替.

我正在寻找改变输入视频设备的方法.但我在源文件中找不到任何线索.

有没有人有信息?

webrtc

20
推荐指数
2
解决办法
4万
查看次数

WebRTC firefox约束

我目前在个人开发中使用WebRTC,一切正常.我从网络摄像头获取流,但现在我想使用约束getUserMedia().

var constraints = {
           audio: false,
           video: {
               mandatory : {
                     minWidth: 1280,
                     minHeight: 720 
               }
           }
};
Run Code Online (Sandbox Code Playgroud)

当我在Firefox中测试它时,它似乎忽略了约束.当我在Chrome或Opera上测试时,我的约束工作正常并且我的质量很好,有谁知道为什么?问题是Firefox?

谢谢你的建议

javascript firefox webrtc

10
推荐指数
2
解决办法
7770
查看次数

在Android设备上选择后置摄像头 - jsartoolkit5

我建立类似项目的这个例子jsartoolkit5,我想能够选择我的设备的背面摄像头,而不是让的ChromeAndroid选择前一个为默认值.

根据本演示中的示例,如果设备有后置摄像头,我已添加以下代码自动切换摄像头.

var videoElement = document.querySelector('canvas');
function successCallback(stream) {
  window.stream = stream; // make stream available to console
  videoElement.src = window.URL.createObjectURL(stream);
  videoElement.play();
}

function errorCallback(error) {
  console.log('navigator.getUserMedia error: ', error);
}

navigator.mediaDevices.enumerateDevices().then(
  function(devices) {
    for (var i = 0; i < devices.length; i++) {
      if (devices[i].kind == 'videoinput' && devices[i].label.indexOf('back') !== -1) {
        if (window.stream) {
          videoElement.src = null;
          window.stream.stop();
        }
        var constraints = {
          video: {
            optional: [{
              sourceId: …
Run Code Online (Sandbox Code Playgroud)

javascript html5 android canvas jsartoolkit

7
推荐指数
1
解决办法
3372
查看次数

使用webrtc中的MediaDevices.getUserMedia()切换摄像头

我正在尝试navigator.MediaDevices.getUserMedia()webrtc在通话期间切换设备摄像头.这个功能在桌面浏览器上工作正常,但在mozilla android上它无法正常工作.这是我正在使用的代码.

var front=false;

var myConstraints = {  video: { facingMode: (front? "user" : "environment")} }; 
navigator.mediaDevices.getUserMedia(myConstraints).then(function(stream) {

}
Run Code Online (Sandbox Code Playgroud)

对此有何看法?

camera android mozilla webrtc getusermedia

6
推荐指数
1
解决办法
4558
查看次数

为了获得两个视频mediaStreamTracks,我应该向getUserMedia()传递什么约束?

我可以通过navigator.mediaDevices.enumerateDevices()承诺获得'videoinput'类型的mediaDevices .

我可以通过navigator.mediaDevices.getUserMedia(constraints)承诺获得mediaStream .

constraints在userMedia中有两个视频轨道应该是什么样的?

constraints webrtc getusermedia

5
推荐指数
1
解决办法
7863
查看次数

MediaDevices.getUserMedia 中的 facesMode 在最新的 Android Chrome 中似乎不起作用?(v53)

我有一个功能可以让用户选择相机并在页面上显示捕获的视频[像这样]。我的代码在 Android Google Chrome 版本 52 之前工作,但不知道为什么它现在坏了。

首先,我检查我可以使用哪些设备。

navigator.mediaDevices.enumerateDevices()
.then(function(devices) {
  devices.forEach(function(device) {
    console.log(device.kind + ": " + device.label +
                " id = " + device.deviceId);
  });
})
.catch(function(err) {
  console.log(err.name + ": " + err.message);
});
Run Code Online (Sandbox Code Playgroud)

它像我期望的那样返回两个摄像头(一个前面,一个后面)。

videoinput:照相机1中,面向前的id = ef5f41259c805a533261c2d91c274fdbfa8a6c8d629231cb484845032f90e61a凸轮:19 videoinput:相机0,朝后的id = 81448a117b2569ba9af905d01384b32179b9d32fe6a3fbabddf03868f36e4750

然后我按照示例代码进行操作,下面是我使用的内容:

<video id="video" autoplay></video>
<script>
    var p = navigator.mediaDevices.getUserMedia({ video: {facingMode: "environment", width: 480, height: 800} });

    p.then(function(mediaStream) {
      var video = document.querySelector('video');
      video.src = window.URL.createObjectURL(mediaStream);
      video.onloadedmetadata = function(e) {
          // Do …
Run Code Online (Sandbox Code Playgroud)

javascript camera android google-chrome getusermedia

5
推荐指数
0
解决办法
5366
查看次数

如何在通话中交换 webrtc 中的相机源(javascript API)

在 iOS 上我可以这样做:

// set a new camera id
cameraId = ([cameraId isEqualToString:frontCameraId]) ? backCameraId : frontCameraId;

// determine if the stream has a video track
BOOL hasActiveVideoTrack = ([self.localMediaStream.videoTracks count] > 0);

// remove video track from the stream
if (hasActiveVideoTrack) {
    [self.localMediaStream removeVideoTrack:self.localVideoTrack];
}

// remove renderer from the video track
[self.localVideoTrack removeRenderer:self.localVideoView];

// re init the capturer, video source and video track
localVideoCapturer = nil;
localVideoSource = nil;
localVideoCapturer = [RTCVideoCapturer capturerWithDeviceName:cameraId];
localVideoSource = [peerConnectionFactory videoSourceWithCapturer:localVideoCapturer constraints:mediaConstraints]; …
Run Code Online (Sandbox Code Playgroud)

javascript webrtc

0
推荐指数
1
解决办法
6586
查看次数