【问题标题】:Allow two clients in a room to video chat (webRTC)允许房间中的两个客户端进行视频聊天 (webRTC)
【发布时间】:2016-05-09 04:09:00
【问题描述】:

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

目前,我使用套接字 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 来执行此操作吗?

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

【问题讨论】:

  • 聊天系统是通过socket.io实现的,还是使用WebRTC DataChannel实现的??

标签: node.js socket.io webrtc


【解决方案1】:

如果你愿意使用 WebRTC,你应该检查一下这个HTML5 Rocks' blog post。您需要阅读的两个要点是:

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

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

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

【讨论】:

    【解决方案2】:

    目前有两个用于视频聊天的 Node.js 项目。两者都是实验性的,但我听说如果你能让它们运行起来,它们会很好地工作。

    1. https://github.com/webRTC-io/webrtc.io-client
    2. https://github.com/kdomagal/Web-RTC 一个演示应用。

    我还找到了一篇博客,其中包含 Demo 项目和工作示例的参考。

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

    希望这对你有用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-05-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多