Articles of webrtc

在VPS上托pipe网站,configurationTURN服务器

我开发了一个基于networking的video通话应用程序。 我打算在GoDaddy Linux VPS上托pipe它。 但技术支持不确定是否可以在同一个VPS上configurationTURN , STUN服务器。 有可能吗? 或者我应该去单独的商业TURN服务提供商? 有人可以帮我吗? 任何人谁做到了? 我第一次主持一个网站。 我的网站已经准备就绪,我只需要托pipe它。 它基于Node js平台。

这真的是P2P?

我在这里使用socket.io–p2p尝试发送图像文件。 由于它是p2p,我认为该文件没有被上传到服务器,并且直接发送到连接的对等端。 我设法用我有的代码传输一个文件,但我很不确定这是否是一个真正的P2P传输,因为在我看来,该文件是上传到我的服务器,然后发送到另一个对端,而不是一个实际的P2P两个设备之间的连接。 无论是在标签之间还是在不同networking上的两个不同设备之间发送文件,我都会在DU Meter中上传和下载尖峰。 我知道信号部分是在我的服务器上完成的,但是如果这是真正的p2p,那应该是关于它的。 当然,我可能是错的,所以我要求评估。 你们有什么感想? server.js var app = require("express")(); var express = require("express"); var server = require("http").Server(app); var p2pserver = require("socket.io-p2p-server").Server; var io = require("socket.io")(server); var ss = require("socket.io-stream"); var path = require("path"); app.use(express.static(__dirname)); io.use(p2pserver); var peerNum = 0; io.on("connection", function(socket) { console.log("Peer " + peerNum + " connected"); io.emit("peer-num", peerNum); […]

简单对等WebRTC错误:冰连接失败

我不能让Simple-Peer NPM库在浏览器中的两个不同networking中的两台计算机之间进行连接。 如果电脑在同一个本地networking,浏览器相互连接,否则,我不能让他们连接。 两个浏览器都返回这个错误: "Error: Ice connection failed. at Peer._onIceStateChange" at RTCPeerConnection.Peer.self._pc.oniceconnectionstatechange 信号看起来适合我: { type: 'offer', sdp: 'v=0\r\no=- 2275520429720515716 2 IN IP4 127.0.0.1\r\ns=-\r\nt=0 0\r\na=group:BUNDLE data\r\na=msid-semantic: WMS\r\nm=application 49523 DTLS/SCTP 5000\r\nc=IN IP4 5.12.206.160\r\na=candidate:2020300070 1 udp 2113937151 192.168.2.8 49523 typ host generation 0 network-cost 50\r\na=candidate:842163049 1 udp 1677729535 5.12.206.160 49523 typ srflx raddr 192.168.2.8 rport 49523 generation 0 […]

将getusermedia插入到基于node.js和socket.io的聊天引擎

我有这个代码运行 客户端: $(function(){ var iosocket = io.connect(); iosocket.on('connect', function () { $('#incomingChatMessages').append($('<li>Connected</li>')); iosocket.on('message', function(message) { $('#incomingChatMessages').append($('<li></li>').text(message)); }); iosocket.on('disconnect', function() { $('#incomingChatMessages').append('<li>Disconnected</li>'); }); }); $('#outgoingChatMessage').keypress(function(event) { if(event.which == 13) { event.preventDefault(); iosocket.send($('#outgoingChatMessage').val()); $('#incomingChatMessages').append($('<li></li>').text($('#outgoingChatMessage').val())); $('#outgoingChatMessage').val(''); } }); }); 服务器端 var fs = require('fs'), http = require('http'), socketio = require('socket.io'); var server = http.createServer(function(req, res) { res.writeHead(200, { […]

webRTC HTML5白板/video聊天

我正在探索使用webRTC,HTML5,socket.io和node.js构buildstream血的白板应用程序(很像Big Blue Button或Wimba)的选项。 这将是一对一的沟通……一次不能有两个以上的用户互相沟通。 我想使用数据通道在客户端之间传递白板数据,然后在服务器端有一些可以loggingvideo/audio/白板操作的监听器。 服务器监听器实际上可以轻松地进行白板/audio/video聊天。 换句话说,如果服务器到客户端的连接变得迟缓,它不会影响P2P(客户端到客户端)webRTC连接的质量。 通过这种方式,服务器可以以较低的优先级logging白板交互,从而尽可能保持一对一的聊天交互。 是否有任何图书馆或JavaScript框架可以很好地工作,我应该知道的共享白板?

我可以在我的Asp.net Web应用程序中使用Node.js吗?

我有一个Asp.net应用程序(表单)。 我想使用webrtc添加video聊天function! 这个video聊天应用程序正在Node.js上工作! 我怎样才能将这个webrtc应用程序集成到我的asp.net应用程序?

WebRTC服务器PeerJS获取数据stream

我想在Node.js中使用videostream进行服务器端工作的同时设置video通话服务。 兼容性不是我的项目的问题,所以WebRTC似乎是一个明显的select。 我发现PeerJS,它允许真正简单的使用WebRTC。 Wh服务器可以在Node.js脚本中启动。 我想采取这个videostream,并在服务器上使用OpenCV做一些计算。 我考虑使用类似Binary.js来传输video数据,但这会慢得多。 我怎样才能得到我的Node.js服务器上的WebRTCvideostream? 像下面这样 var PeerServer = require('peer').PeerServer; var server = new PeerServer({ port: 9000 }); server.on('data', function (data) { do_something_with_open_cv(data); }); 显然这需要video块是完整的帧。 我能以这种方式访问​​这个stream吗?

WebRTC:将多个监听器连接到一个客户端,一次一个

我一直在试图让WebRTC与广播器和多个监听器一起工作,但是当通过信号传输(使用nodejs&socket.io)传输描述和候选者时,我却陷入了困境。 我可以通过一个简单的nodejs套接字应用程序在两个浏览器之间工作,它只是将描述和候选人广播给其他已经连接的客户端,但是当我尝试存储描述并与新打开的浏览器连接时,什么都不会发生。 我基本上需要了解的是,我需要为一个浏览器提供什么,才能开始与另一个浏览器进行通信? 我正在进行的项目需要听众join会议室进行身份validation,并开始聆听正在发送的任何媒体。 以下是我的客户端代码: var audioContext = new webkitAudioContext() var client = null var configuration = { 'iceServers': [{ 'url': 'stun:stun.example.org' }] } $(function () { window.RTCPeerConnection = window.RTCPeerConnection || window.webkitRTCPeerConnection || window.mozRTCPeerConnection client = new RTCPeerConnection(configuration, { optional:[ { RtpDataChannels: true } ]}) client.onnegotiationneeded = function () { console.log('Negotiation needed') createOffer() } client.onicecandidate […]

WAV格式的差异(JS / NodeJS)

我正在尝试使用WebRTC来录制audio,然后将其存储在服务器端。 我的服务器是使用NodeJS制作的,而且我正在使用POST将数据从客户端传输到服务器。 在客户端上,我将数据从wav BLOB转换为base64,然后在服务器端读取数据,将其翻译为二进制数据,然后将其写入文件中。 应该没事吧? 只有一个问题:我从客户端下载的内容和发送到服务器的内容之间出现了一些非常不好的不一致之处。 有时它是增加的字节,有时候它只是被删除的数据块。 如果只是添加了字节,那就意味着一个字符集问题(从一个到另一个,然后是另一个等),但是在某些时候我增加了280个字节。 我在这里添加了一个hex diff的图片: http : //i.stack.imgur.com/psqf4.png (抱歉,我没有足够的声望直接发布图片) 另外,运行这些文件给我以下:(uuid.wav是服务器之一,而output(1).wav是客户端之一) 9F2B75D3-4C34-4C8F-935E-FC7637D7A054.wav: RIFF (little-endian) data, WAVE audio, Microsoft PCM, 4 bit, stereo 11321924 Hz output (1).wav: RIFF (little-endian) data, WAVE audio, Microsoft PCM, 16 bit, stereo 44100 Hz …显然这里有什么问题。 此外,试图修复头,或转换WAV给我一个错误沿线:无法find数据块/数据块大小为0。 任何想法可能是什么原因造成的?

为什么位于信令服务器上的webrtc blob地址?

我已经使用easyrtc工具包( http://easyrtc.com/ )(为nodejs编写)来在我的办公室networking中build立一个聊天系统。 我没有做太多的工作来实现这个设置,只是简单地使用了工具包提供的演示。 应用程序托pipe在办公室内的虚拟机上,而工具包的默认ICEconfiguration提到位于办公室防火墙之外的STUN和TURN服务器。 系统工作正常,但我有疑问。 在与我的同事坐在办公室的另一台计算机上开始webrtcvideo聊天之后,我在他的video中做了一个“检查元素”。 我期待的blob地址是在他的IP地址,因为我相信我们之间build立了一个点对点的连接。 但IP地址竟然是托pipe应用程序的虚拟机的IP地址。 为什么发生这种情况? <video autoplay="" id="callerVideo" src="blob:http%3A//10.30.23.56/e09742eb-941a-456f-88dc-addfb013c8e9"></video> 这里10.30.23.56是虚拟机的地址。 video来自我的同事的摄像头。