使用WebRTC使node.js应用程序成为PEER

Jak*_*ack 8 javascript websocket webrtc node-webkit

所以,我有一个Web应用程序,它生成大量的颜色信息缓冲区,我想发送给在本地网络中另一台机器上运行的节点应用程序.Web套接字对我来说似乎不够快.我当时希望使用UDP,似乎WebRTC是从浏览器中实现这一目标的唯一方法.值得注意的是,WebRTC只是PEER到PEER(浏览器到浏览器).我想,我可以使用node webkit来模仿我的另一个"PEER".在我的节点应用程序中,我可以处理"信令"并让它自己设置在我的网络应用程序的RTCPeerConnection中.因此,我可以将我的数据从我的网络应用程序发送到我的节点应用程序(本地网络).在某些情况下,我有一台计算机运行本机软件来驱动灯具,我想使用网络应用程序来控制灯光.

为了解决问题,如何从浏览器到节点webkit应用程序进行RTCPeerConnection?

任何帮助将非常感谢.

谢谢!

-Jake

End*_*ess 10

Node-RTCPeerConnection是一种尝试(当前WIP),用于完全在JavaScript中为没有本机C或C++代码的Node.js创建符合规范的RTCPeerConnection实现.这使浏览器对等体能够与非浏览器(Node.js)对等体通信.

但是你还不能用它来生产.


然后我们还有wrtc(node-webrtc),它为NodeJS提供了一个本机模块,支持符合标准的WebRTC功能的子集.具体来说,是PeerConnection和DataChannel API.

太多人遇到问题wrtc.因为它必须下载大量的源代码并构建它只是为了发现它在某些平台上很长一段时间后才会失败.不幸的是,它没有附带本期中描述的任何预构建软件包


您可以使用webrtcgoogle实现或名为openWebrtc的最新实现(由Ericsson提供).openWebRTC的开发人员非常自豪地在诸如raspberry pi和iOS设备之类的各种硬件上运行他们的实现.


对我来说效果最好的是electron-webrtc(反过来使用电子预制)以获得更好的兼容性.它创建了一个隐藏的Electron流程(基于Chromium,因此WebRTC支持很棒!)并与该流程通信以在Node.js中启用WebRTC.这增加了很多开销.

它旨在与RTCDataChannels一起使用,因此不支持MediaStream API.


其他资源:https:
//github.com/webrtcftw/goals/issues/1

  • 有没有人为 Node js RTCPeerConnection 找到任何好的解决方案。基本上,我想从客户端向节点发送视频流,以便节点可以实时处理视频流。 (2认同)

Mic*_*sky 5

2019 年更新

目前,解决这个问题的最好和最简单的方法是使用webrtc模块。检查样品以获得灵感。该模块执行您正在寻找的操作,使用 N-API 实现并使用 Canvas 模块从客户端流合成新视频。希望这能帮助那些将来遇到这个问题的人。