cloudwebrtc / go-protoo

A minimalist and extensible go signaling framework for WebRTC.
MIT License
23 stars 6 forks source link

Usage Context #3

Open joeblew99 opened 5 years ago

joeblew99 commented 5 years ago

This is using Websockets. Is the intent of this lib to enable the initial session negotiation over websockets to establish the endpoints over which WebRTC can communicate ?

--

Another question. Are oyu looking to use WebRtc with Centrifugo ? https://github.com/pion/ion/projects/1

I ask all this because i am also investigating the same thing in order to allow PUB SUB style applications to do do communications where both ends are NATed (i.e. decentralised communications )

cloudwebrtc commented 5 years ago

This is using Websockets. Is the intent of this lib to enable the initial session negotiation over websockets to establish the endpoints over which WebRTC can communicate ?

@joeblew99 Yes, go-protoo is used for simple signaling of ion, which makes it easy to contact every rtc endpoints.

Another question. Are oyu looking to use WebRtc with Centrifugo ? https://github.com/pion/ion/projects/1

I ask all this because i am also investigating the same thing in order to allow PUB SUB style applications to do do communications where both ends are NATed (i.e. decentralised communications )

Previous versions of Ion used Centrifugo for signaling, but we thought it was too heavy, so we switched to go-protoo so that we can focus on SFU's feature development.

joeblew99 commented 5 years ago

Hey . thank you for the update !

yes i also looked at Centrifugo also. But i want to use Webrtc because of the P2P needs where each end point is NAted. Centrifugo would need to many changes to do that, and i dont think the maintainer would be up for a WebRTC transport.

I also plan to support HTTP and SSE where WebRTC is not wanted. But lets see.

I plan to run NATS Streaming server for PUB SUB and use the go-proto and webrtc for the Transport to the Clients. For Flutter Web, i will have to work ot a way to call JS from Flutter Web. For Mobile and Desktop, i am planning of using pion, with the webrtc cross compiled using gomobile. For MicroServices, I plan to build using pions and compile it as a c shared lib with binding to java, c#, python.

cloudwebrtc commented 5 years ago

Awsome, pion is a great project.