A web-based meeting application that does not require registration. Just select a random channel between 1 and 1000 and choose a secure password. Share the channel number and the password to the other members and wait for them to join the video conference. This web-application uses WebSocket to connect you with the other peers, and when handshaking is over, each peer connects directly to the other peers using WebRTC protocol. The communication over WebSocket is encrypted using the provided password to make sure no one can access your signaling data.
This application tries to provide an easy-to-use video conferencing experience without going to the hassle of registration. The idea is to use the client side as much as possible and a server with minimum possible responsibilities.
This application uses a custom WebSocket server only to introduce peers to each other and send communication data that is needed to perform a persistent connection between peers. The entire video and audio streaming occurs between peers themselves, and there is no server involved in the communication. The server code for this application can be fount at https://github.com/.../server.
After a meeting is created by a peer, the channel number and the secure password must be told to the other members so that they can join this meeting. After about 10 minutes, the application automatically disconnects itself from the signaling server to protect against upcoming joining requests. At this point, no one new can join the meeting. If for any reason, you need to allow a new member to join the chat, click on the "Allow Joining" button and wait for a few seconds until this request propagates among all joined peers. Now ask the new member to login with the channel number and the provided password. If a new member enters a wrong password, since this client cannot decrypt messages coming from other peers, it cannot join the channel. If two members try the same wrong password together, they can create their own channel on the same channel number but only two of them are in the room, not the others.
Using this web-application you can create as many channels as you would like to. The only limitation is your bandwidth. You need to be able to send and receive streams from each of the peers. Although this application tries to get the minimum required quality for the streams, still you might need to limit the number of members so that you can provide the needed bandwidth.