8

我正在尝试测试 WebRTC 并希望显示我自己的流以及对等方的流。我目前有一个简单的垫片来获取相机的流并将其传输到视频元素中,但是帧速率非常低。难得的是,我可以尝试WebRTC网站上的示例,它们可以完美运行。视频流畅,没有问题。我去控制台,我的代码类似于他们的.. 会发生什么?我试图创建一个小提琴并在括号内运行该代码,但它仍然执行得很糟糕。

video = document.getElementById('usr-cam');

  navigator.mediaDevices.getUserMedia({video : {
      width : {exact : 320},
      height : {exact: 240}
  }})
  .then(function(stream){


      if(navigator.mozGetUserMedia)
      {
        video.mozSrcObject = stream;
      }
      else
      { 
         video.srcObject = stream;
      }



  })
  .catch(function(e){
      alert(e);
  });

几乎我所做的一切。考虑到我使用的是新的navigator.mediaDevices()API 而不是,navigator.getUserMedia()但我不明白这有什么关系,因为 1.我使用的是 WebRTC 组提供的垫片adapter.js,他们自己使用的命名为 WebRTC 组。2.我不认为你如何获得视频流会影响性能。

4

1 回答 1

19

好吧,我觉得这个很愚蠢......我有点被这样一个事实所欺骗,即视频元素将更新显示的图像而无需您执行任何操作,只需通过管道输出流,这意味着图像将更新,但只是在非常长的间隔,使视频看起来好像滞后了。我忘记做的实际上play()是视频或添加autoplay为它的属性......它现在运行良好。

于 2016-04-17T01:40:59.060 回答