Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/37.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
Node.js WebRTC客户端_Webrtc_Node.js - Fatal编程技术网

Node.js WebRTC客户端

Node.js WebRTC客户端,webrtc,node.js,Webrtc,Node.js,我正在寻找 将数据从一个节点JS客户端传输到另一个webRTC对等方 因此,在我的例子中,nodejs应用程序不是服务器而是客户端。 这样的节点模块存在吗?您应该签出。他们的开源webrtc多点视频会议桥运行在node.js之上。他们的服务器充当webrtc客户端,然后将音频/视频连接到其他webrtc客户端。您可能可以重用一些使用LBGRADE(ICE协议)和LBSRTP(SRTP堆栈)的C++代码,然后将其封装在自己的NoDE.js模块中,以创建一个成功的WebRTC客户端。 显然,他们的大

我正在寻找
将数据从一个节点JS客户端传输到另一个webRTC对等方

因此,在我的例子中,nodejs应用程序不是服务器而是客户端。
这样的节点模块存在吗?

您应该签出。他们的开源webrtc多点视频会议桥运行在node.js之上。他们的服务器充当webrtc客户端,然后将音频/视频连接到其他webrtc客户端。您可能可以重用一些使用LBGRADE(ICE协议)和LBSRTP(SRTP堆栈)的C++代码,然后将其封装在自己的NoDE.js模块中,以创建一个成功的WebRTC客户端。
显然,他们的大部分代码您不需要,但我认为他们的服务器提供了一个很好的示例,说明您需要将SDP发送回浏览器以建立成功的webrtc连接。

更新:下面的解决方案实际上并不向服务器提供视频。我不确定最好的(节点)解决方案是什么。在C++中,尝试LBGILE。 听起来webrtc.io将允许您创建一个对等节点应用程序。请在此处查看github项目:

目前项目上似乎没有超活跃的开发,但有100个分支,节点模块现在每月下载500次,所以人们似乎很关心

来自项目的示例代码--客户端
我遇到了同样的问题,偶然发现了这两个宝石:

遗憾的是,它缺少任何文档

然而
对我来说似乎更可靠。

可以建立从node.js到使用as WebRTC实现的浏览器的WebRTC数据连接


不幸的是,当我尝试将wrtc模块与PeerJS或EasyRTC等信令库一起使用时,连接未建立(错误消息为“ICE失败”)。如果有人成功地使用了wrtc之上的任何高级库,我将不胜感激。

还有一个用于node的WebRTC包装器

支持数据通道和媒体流

支持linux、mac和windows

WebRTC代码库经常同步

更新: 有一个只支持轻数据通道的实现,支持linux/mac/windows

那么
简单对等
rtc everywhere

这提供了从本机到web的视频流。i、 e.无需浏览器捕获视频,将视频广播到客户端浏览器。有一个很好用的方法


实际上,您面临的挑战是构建和链接webrtc.node,上面的链接对此进行了解释。

您可能希望使用以下实现:

我已经在我的项目中使用了它,而且它很容易集成。

也可以查看这个

Node.js的WebRTC数据通道
https://github.com/nodertc

我不确定我是否理解这个问题。是否要将数据从某种非WebRTC客户端(在节点上运行)传输到WebRTC应用程序?有关使用在Node上运行的WebRTC客户端进行视频聊天的一个简单示例,使用Socket.io发送信号,请查看.Excatly上的codelab-我编写了一个安装在多个设备上的Chrome扩展。这些扩展实例与WebRTC通信(连接代理使用PeerJ完成)。现在,我正在尝试将通知从多个nodejs应用程序传输到浏览器扩展。您找到方法使其工作了吗?我也在试着这么做,有什么后续行动吗?还想知道您是否为webrtc客户端找到了一个有效的解决方案。@jantimon您是否了解了任何新的开发?我正在寻找相同的解决方案。问题是,对于Node.js,licode是一个MUC而不是一个WebRTC模块/包装器,所以他们使用自己的API…:-((几天前我问了他们这个问题,因为我认识他们)是的,但他们确实实现了SRTP层和ICE协议;并且他们通过一个模块将其公开在node.js中。因此我认为@jantimon可能需要一些有趣的代码来签出并构建自己的node.js webrtc模块,以便与其他webrtc端点(即Chrome扩展)通信因此,正如Licode的家伙们所评论/建议的那样,在他们的API上创建WebRTC API兼容的Node.js模块应该很容易,或者重新粘贴他们实现的代码片段(反正是免费软件),你是这么说的吗?是的,我认为这是一个很好的开始。为了更精确,我对我的评论做了一些调整。但我认为licode是一个很好的例子,因为它已经作为一个简单的webrtc客户端(通过ICE)接收SRTP流量从另一个webrtc客户端,它将它桥接到任何其他有兴趣接收此流量的webrtc连接。有趣的是…我想尝试一下,但目前没有时间:-(这看起来像是从服务器(nodejs)到客户端(浏览器)的典型websocket连接)。没什么特别的!尝试过。上面的设置创建了一个视频会议室,因此没有浏览器到服务器的视频!有人在服务器上使用此库进行过测试吗?服务器代码似乎根本没有与WebRTC交互。Node-rtc作者已与Node WebRTC团队共同努力。他仍在对其库进行一些改进,但现在似乎已经过时了当然,我认为应该使用node webrtc。(免责声明:我已经向node webrtc提交了几个补丁,并积极关注该项目)第一个链接已退出游戏。错误404:-/
<video id="local" autoplay="autoplay"></video>
<video id="remote" autoplay="autoplay"></video>

<script src="/webrtc.io.js"></script>
<script>

  // note: make sure hostname available to all connecting clients
  // (ie. probably not `localhost`)
  rtc.connect('ws://yourserveraddress:8001');

  rtc.createStream({"video": true, "audio":false}, function(stream){
    // get local stream for manipulation
    rtc.attachStream(stream, 'local');
  });

  rtc.on('add remote stream', function(stream){
    // show the remote video
    rtc.attachStream(stream, 'remote');
  });

  // more rtc callbacks are available
</script>
var webRTC = require('webrtc.io').listen(8001);