Closed max-wittig closed 3 years ago
It is like a STUN server, yet it's role is to actually transmit the data obtained from the STUN server between the peers. A STUN server's reply defines how to connect to a peer via p2p, but until that info is shared with the other peer, they still cannot connect. The handshake server primarily acts as middleman during this initial setup, though it also acts as a index of streams IDs to ensure they can be found by those looking for them. All connections need to be SSL-encrypted.
Just for reference,
If you or anyone else is interested in an air-gapped self-hosted option, I put up some server code that's compatible with v17.3 of OBSNinja that should let you do just that.
The code is currently on obs.ninja/beta and also here https://github.com/steveseguin/obsninja/tree/onLiveBox-and-scenes-optimizations. This branch can be run using: https://github.com/steveseguin/websocket_server as the handshake server.
It can also run using piesocket.com as a managed websocket service. In either case, you'll just need to modify index.html of obs.ninja to point to the correct websocket server.
session.wss = "wss://wss.contribute.cam:443";
session.pie = true;
This is a beta version, so bugs are possible
In the
README
, you're talking about that it's not possible to use obsninja without an Internet connection to your handshake server. Why is this the case?What is the handshake server doing? Is it simply a STUN server?