允许一个房间中的两个客户进行视频聊天(webRTC)

时间:2016-05-09 04:09:01

标签: node.js socket.io webrtc

网上似乎缺乏关于如何实现这一目标的信息。如果有人能为我提供很好的参考或教程。

目前,我使用套接字IO为登录我网站的每两个用户创建一个房间。所以每个房间都包含两个用户

我实施了一个聊天系统,允许每两个用户互相交谈。

现在,我想在这两个用户之间启用视频。我一直在看教程并想出如何启用网络摄像头......

window.URL = window.URL || window.webkitURL;
    navigator.getUserMedia = navigator.getUserMedia ||
    navigator.webkitGetUserMedia ||
    navigator.mozGetUserMedia ||
    navigator.msGetUserMedia;

var video = document.getElementById("video");
var cameraStream = "";

if(navigator.getUserMedia){
    navigator.getUserMedia(
        {audio:false, video:true},
        function(stream){
            cameraStream = stream;
            video.src = window.URL.createObjectURL(stream);
            video.play();
        },function(error){
            console.log(error);
        }
    );
}
else
    alert("getUserMedia not supported!");

如何在一个房间内的两个用户之间启用视频?我可以使用房间的ID吗?

我知道这是一个广泛的问题,但我正在寻找任何可以帮助我实现这一目标的指导。

2 个答案:

答案 0 :(得分:0)

现在有两个用于视频聊天的Node.js项目。两者都是实验性的,但我听说如果能让它们运转,它们的效果会很好。

  1. https://github.com/webRTC-io/webrtc.io-client
  2. https://github.com/kdomagal/Web-RTC演示应用。
  3. 我还发现了一个博客,其中包含Demo项目和工作示例。

    How to create Video Chat application using node.js and socket.io

    希望这对你有用。

答案 1 :(得分:0)

如果您愿意使用WebRTC,请查看此HTML5 Rocks' blog post。您需要阅读的两个要点是:

  
      
  1. 掌握RTCPeerConnection API
  2.   
  3. 详细了解WebRTC如何使用服务器发送信号
  4.   

official page of WebRTC也是另一个很好的知识资源。他们有30多个链接,其中包含有关流程每个部分的信息。

注意:您可以继续使用(UDP)套接字在浏览器之间发送视频流。 WebRTC是问题的另一种解决方案(在我看来更好)