我也遇到了同样的问题,并偶然发现了以下两个宝石:
https://github.com/helloIAmPau/node-rtc 不幸的是,它缺乏任何文档。
然而, https://github.com/js-platform/node-webrtc 在我看来更加可靠。
simple-peer
和 rtc-everywhere
怎么样?
https://github.com/feross/simple-peer
https://github.com/contra/rtc-everywhere
还有一个用于node的WebRTC封装器 https://github.com/vmolsa/webrtc-native。
支持数据通道和媒体流。
支持Linux、Mac和Windows。
WebRTC代码库经常同步更新。
更新: 有一个轻量级的仅支持数据通道的实现,支持Linux、Mac和Windows。 http://www.meshcommander.com/webrtc
更新:下面的解决方案实际上并没有向服务器提供视频。我不确定最佳(Node)解决方案是什么。在C++中,可以尝试使用libJingle。
听起来webrtc.io将允许您创建一个节点应用程序作为对等方。请参见此处的github项目:https://github.com/webRTC/webRTC.io。
目前该项目似乎没有超级活跃的开发,但有100个分支,而且该节点模块每月被下载500次,所以看起来人们很关心。
<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);
可以使用serverless-webrtc package 建立从node.js到浏览器的WebRTC数据连接,该软件包使用wrtc package作为WebRTC实现。
不幸的是,当我尝试使用PeerJS或EasyRTC等信令库与wrtc模块一起使用时,连接无法建立(错误消息为“ICE失败”)。 如果有人成功使用在wrtc之上的任何高级库,请提供相关信息,感激不尽。
还有这个,
WebRTC Datachannels适用于Node.js
https://github.com/nodertc
这个解决方案提供了从本地到Web的视频流。也就是说,无需浏览器捕获视频,它会将视频广播到客户端浏览器。有一个WebSocket示例可以正常工作。
你的挑战实际上是构建和链接webrtc.node,并且以上链接中都有详细说明。