Tag: webrtc

如何解决以下easyrtc问题?

我写了下面的代码: var http = require("http"); // http server core module var express = require("express"); // web framework external module var io = require("socket.io"); // web socket external module var easyrtc = require("easyrtc"); // EasyRTC external module var app = express(); var server = http.createServer(app).listen(app.get('port')); io= io.listen(server,{"log level":1}); var rtc = easyrtc.listen(server, io); 这是给出以下错误: $节点服务器信息 – […]

在NodeJS中将一系列图像编码到MediaStream中

我有多个NodeJS同伴捕获一系列图像。 有时需要通过WebRTC将数据发送给某些浏览器对端。 我目前正在通过Base64编码处理这个问题,通过DataChannel发送它们,并快速(大约20-30帧/秒)在<img>标签上显示它们。 但是看起来有些混乱,有没有办法将这些图像序列编码成MediaStream这样我就可以利用一些浏览器上的原生支持了? 我知道node-webrtc目前不支持MediaStream ,我需要分析构build它有多难。 但首先,我必须知道是否有办法做到这一点。 此应用程序必须仅通过WebRTC传输此数据,因为它正在处理对等点之间的空洞 。

点对点videostream使用webrt和节点js和soket io远程video不呈现

我使用这个代码https://bitbucket.org/webrtc/codelab 。 当我尝试连接远程系统时,它会在远程video框中显示我的networking摄像机video。 任何人都可以帮助如何RTCPeerConnection工作? 这是代码。 var localStream, localPeerConnection, remotePeerConnection; var localVideo = document.getElementById("localVideo"); var remoteVideo = document.getElementById("remoteVideo"); var startButton = document.getElementById("startButton"); var callButton = document.getElementById("callButton"); var hangupButton = document.getElementById("hangupButton"); startButton.disabled = false; callButton.disabled = true; hangupButton.disabled = true; startButton.onclick = start; callButton.onclick = call; hangupButton.onclick = hangup; function trace(text) { console.log((performance.now() / 1000).toFixed(3) + ": […]

OniceCandidate不会在第二台电脑上启动

我的webrtc聊天代码有问题。 我不能在同伴之间build立联系。 PC1通过信号服务器发送报价请求sucessfull,pc2添加候选人,但pc2不能发送候选人和答复pc1,为什么? 我几个小时都找不到错误,请帮我build立webrtc连接。 app.js var app = require('express')(); var server = require('http').createServer(app); var virtualDirPath = process.env.virtualDirPath || ''; var io = require('socket.io')(server)//(server, { path: virtualDirPath + '/socket.io' }); var users = {}; server.listen(process.env.PORT || 8080, function () { console.log('Подняли сервер на *:8080'); }); app.get('/', function (req, res) { res.sendFile(__dirname + '/index.html'); }); app.get('/style.css', function […]

如何处理webRTC多对多系统上的socket.io多个连接?

我已经build立了一个webrtc多对多系统(几个月前: WebRTCvideo会议(多对多) ),使用socket.io作为信令通道。 它工作正常,但我没有处理许多用户的许多房间,我只是把所有的用户放在一个单一的房间(服务器端的用户数组,node.js)。 首先,当我构build系统时,我意识到当新参与者到达时,我不能调用io.sockets.emit(“房间”),然后创build优惠和答案。 用户(已经在房间中)不能同时向新参与者发送报价,新参与者不能同时向这些用户发送答案。 它必须是一对一的连接过程,所以一个用户(已经在房间里)把这个提议发送给新的参与者,最后一个用户返回每个用户的答案。 我通过将新的参与者socket_id传递给用户来做到这一点,所以当第一个用户钓鱼与新参与者的进程连接时,他调用服务器并发送新的参与者socket_id,然后服务器调用(io.sockets.socket(“目标“)。发出(…))用户号码二等等。 我想知道我是否正确,我不能同时在用户(已经在房间里)和新参与者之间进行提供/回答协商。 另一方面,我知道socket.io处理多路复用,并且许多套接字可以同时连接,但是如果我使用全局variables来pipe理报价/响应协商,例如一个索引variables随着用户已经增加在房间里与新参与者有联系,我的意思是: users[index];//let's say we have 5 users and currentuser is the new guy io.sockets.socket(users[index]).emit('user incoming', currentuser); 并突然其他新的参与者到达currentuser仍然连接到其余的用户,比方说,用户数4,所以索引值将3(以编程方式)。 在这种情况下会发生什么?因为这个突然的新参与者将成为新的当前用户,并且以前的当前用户还没有完成连接到所有用户,我的意思是,他们使用相同的variables,相同的variables实例,我对此感到困惑点。 我想要为许多用户创build许多房间的代码,但我需要了解这一点。 我testing了我的应用程序,一切工作正常,但我没有与并发用户连接testing。 我应该使用Socket.io函数(发出,客户等),而不是使用全局variables? 最后我的代码,关注socket.on('user incoming',function(room){…} 我从Simon Pietro Romano的webRTC实时通信中获得了这个信息,Sam Dutton也是这个话题中的一个硬汉: var users = []; var currentuser; var index = -1; io.sockets.on('connection', function (socket){ // Handle 'message' messages socket.on('message', function […]

无法在控制台中看到MediaStream属性值

我完全是新的WebRTC和Node.js我试图构build示例webRTC应用程序使用教程http://www.tutorialspoint.com/webrtc/webrtc_media_stream_apis.htm我已经遵循完全相同的步骤,除了我已经创build了自己的Nodejs服务器使用来自同一站点的nodejs教程。 正如在webrtc教程中所提到的,我无法在控制台中看到MediaStream的属性值。 在我的情况下,它完全空白。 我做错了什么 我的文件正在运行http://127.0.0.1:8081/index.html ,我能够看到我的本地video。

如何将移动启动的video通话与基于networking的video通话相集成?

我需要使用node.js和支持此function的第三方api来将移动video通话[android / ios]通过networking进行video通话? 我对这一切都不太了解。 请亲切的解释。

设置NodeJs WebRTCvideo通话,Turn / ICE失败,CORS被阻塞

我实际上已经遵循这个WebRTC codelab( https://codelabs.developers.google.com/codelabs/webrtc-web/#7 ),但是当需要连接到ICE服务器时卡住了。 基本代码在这里: main.js var pcConfig = { 'iceServers': [{ 'url': 'stun:stun.l.google.com:19302' } […] if (location.hostname !== 'localhost') { requestTurn( 'https://computeengineondemand.appspot.com/turn?username=41784574&key=4080218913');} 通常,我得到以下错误:“ICE失败”或“跨源请求被阻止:同源策略不允许通过https://computeengineondemand.appspot.com/turn?username=41784574&key=4080218913阅读远程资源。 (原因:缺lessCORS头'Access-Control-Allow-Origin')。“ 根据后者,我已经启用了“A2enmod标题”,并将其设置为apache.conf“标题始终设置Access-Control-Allow-Origin”*“” 问题依然存在。 我的STUN服务器是“'url':'stun:stun.l.google.com:19302'”据我所知,STUN应该工作80%的时间。 但是这从来没有工作。 因此,即使TURN服务器不再工作,它应该有时与STUN连接?

WebRTC mediaserver的解决scheme

我想咨询什么是可以满足我的需求的媒体stream服务器(WebRTC)的最佳解决scheme。 我需要的: 轻松pipe理50多个连接。 能够切换谁在听谁,谁在跟谁讲话。 客户端应该只有一个WebRTC连接。 哪个去服务器。 服务器再次,控制他正在听到什么,他正在与谁交谈.. 这基本上是我的需求。 我更喜欢C#和NodeJS等语言。 我看着kurento,这似乎有一个不好的文档,它使用我不熟悉的Java。 任何替代scheme,build议? 谢谢。

如何使用webRTC启动videostream?

我正在编写下面的代码来启动我的相机,并使用技术webRTC在Google Chrome浏览器上观看我的video。 有两个文件我创build了index.html和client.js。 我附上了两者的代码。 Node.js服务器安装在我的电脑上。 问题是我的相机正在打开,但我无法看到videostream。 client.js function hasUserMedia() { //check if the browser supports the WebRTC return !!(navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia); } if (hasUserMedia()) { navigator.getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia; //enabling video and audio channels navigator.getUserMedia({ video: true, audio: true }, function (stream) { var video = document.querySelector('video'); //inserting our stream […]