Use node.js as a WebRTC peer?

落花浮王杯 提交于 2019-11-30 10:42:40

问题


What modules are in existence to use node.js as a peer in WebRTC? I'd like to use WebRTC in a more client/server fashion than P2P for its apparent ability to send packets unreliably. (AKA, I don't want the huge delay TCP makes by guaranteeing packet arrival with data in order)

If I have to use a stripped-down browser page as a server, that would perhaps work... however, it would really be sub-optimal. Node.js would make things much smoother, and probably more reliable too.

Thanks!


回答1:


Have a look at the Erizo component of Licode (WebRTC MCU). It has a stream controller and webrtc controller written in c++ with a js interface. It might help you getting a idea or two.




回答2:


There is a c++ interface for WebRTC. WebRTC is based on the libjingle project but uses the JSEP (Javascript Session Establishment Protocol) instead of XMPP for sending STUN/TURN information for NAT tunneling. The two projects were in the process of being merged when I looked at this a while back so compiling/linking it was a PITA. This may have been improved last year.

The goal would be to expose the native API for WebRTC as a node module with the node addon api and package it as an npm module that works like the in-browser API. The cross-browser polyfill will show you how it should look.

There's a lot of cool stuff you could do with this (call recording, SIP connectors, .torrent extensions to the browser, etc.) I really encourage you to try this!




回答3:


There is now a Node implementation of WebRTC, with the exception of MediaStreams.

https://github.com/js-platform/node-webrtc




回答4:


The most relevant package i've found was http://js-platform.github.io/node-webrtc/ i managed to build it and play with it a little bit... The developer is very helpful, i think it's your best bet right now




回答5:


The solution is to use libjingle or licode/erizo. Both of them require compilation but erizo provides a NodeJS interface. Libjingle was created by Google.

Unfortunately, you have to compile each library and there are no binary packages for Debian, Ubuntu or other platforms.




回答6:


Take a look at PeerJS: Simple peer-to-peer with WebRTC.

You need PeerJS-server for signaling.

The guide: http://peerjs.com/




回答7:


I used Node js with socket io and have success with it

There are many tutorials online



来源:https://stackoverflow.com/questions/17227143/use-node-js-as-a-webrtc-peer

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!