Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 使用rails webrtc和HTML5构建视频会议_Ruby On Rails_Html_Webrtc_Video Conferencing - Fatal编程技术网

Ruby on rails 使用rails webrtc和HTML5构建视频会议

Ruby on rails 使用rails webrtc和HTML5构建视频会议,ruby-on-rails,html,webrtc,video-conferencing,Ruby On Rails,Html,Webrtc,Video Conferencing,我需要为我的RubyonRails应用程序构建一个视频会议功能。我遇到了一个html5教程,它让你可以通过浏览器访问你的相机。一旦相机打开,你就可以看到实时摄像机的馈送并拍摄快照。代码如下 javascript代码: // Put event listeners into place window.addEventListener("DOMContentLoaded", function() { // Grab elements, create settings, etc. var

我需要为我的RubyonRails应用程序构建一个视频会议功能。我遇到了一个html5教程,它让你可以通过浏览器访问你的相机。一旦相机打开,你就可以看到实时摄像机的馈送并拍摄快照。代码如下

javascript代码:

  // Put event listeners into place
window.addEventListener("DOMContentLoaded", function() {
  // Grab elements, create settings, etc.
  var canvas = document.getElementById("canvas"),
    context = canvas.getContext("2d"),
    video = document.getElementById("video"),
    videoObj = { "video": true },
    errBack = function(error) {
      console.log("Video capture error: ", error.code); 
    };

  // Put video listeners into place
  if(navigator.getUserMedia) { // Standard
    navigator.getUserMedia(videoObj, function(stream) {
      video.src = stream;
      video.play();
    }, errBack);
  } else if(navigator.webkitGetUserMedia) { // WebKit-prefixed
    navigator.webkitGetUserMedia(videoObj, function(stream){
      video.src = window.webkitURL.createObjectURL(stream);
      video.play();
    }, errBack);
  }
  else if(navigator.mozGetUserMedia) { // Firefox-prefixed
    navigator.mozGetUserMedia(videoObj, function(stream){
      video.src = window.URL.createObjectURL(stream);
      video.play();
    }, errBack);

  }

// Trigger photo take
document.getElementById("snap").addEventListener("click", function(e) {
  context.drawImage(video, 0, 0, 640, 480);
});

}, false);
html代码:

<h1>New video</h1>

<!--<%= render 'form' %>-->
 <video id="video" width="640" height="480" autoplay></video>
   <button id="snap">Snap Photo</button>
   <canvas id="canvas" width="640" height="480"></canvas>
  <div class="actions">
新视频
快照

我需要一种方式,以流式的实时视频饲料,我看到的另一个用户在我的服务器。我怎么能这样做?web套接字能让我做到这一点吗?如果是,怎么做

你绝对可以做到

首先,您需要了解WebRTC是如何工作的以及它需要什么。您需要一个信令服务器(现有的,或者您自己编写的)。如果您决定编写自己的,则需要任何类型的客户机-服务器-客户机体系结构和传输方法(其中之一是WebSocket)

通过WebSocket(或任何其他传输),您需要交换会话描述(一个对等方提供,其他对等方回答)以建立连接。实际上,信令服务器只是客户端和服务器端的几个侦听器,在建立WebRTC连接之前,它们只是将信号(相当小的文本数据块)从一个对等方传递到另一个对等方

正道 我建议调查这个应用程序的主代码(我在这里保存了主代码)。了解它是如何工作的将是非常好的为你

捷径 您也可以使用库进行调用,如(www.talky.io在此库中工作),但您仍然需要一个信令服务器


祝你好运

答案对你有帮助吗?是的,帮助很大。谢谢你的回答和图书馆。