Skip to content

Video conferencing platform using WebRTC with a GraphQL API

Notifications You must be signed in to change notification settings

WeetLeaf/GraphRTC

Repository files navigation

GraphRTC

For some reason the WebRtc is not working on IOS.

The server is not doing anything nor storing anything, we just pass the informations beetween the particiapants

Probability of 2 users generating the same Uuid is very low.

How does it work?

A user create a room.

He access this room.

When the user is in the room he starts listening for new participants.

The user that try to join a room wait for the websocket to connect and then send the joinRoom event.

When a particiant join the room he sent to all the other participants listening to this room his Uuid generated by the client.

The latest to arrive is always the callee, the others are the callers.

Caller

The caller send an offer to the callee with the uuid he received.

The caller now listen to the answer of the callee.

Then they both exchange the candidates to connect the two peers.

Callee

The callee subscribe to the offers with his uuid and the room uuid.

The callee send an answer to the caller.

Then they both exchange the candidates to connect the two peers.

TODO

  • Rewrite the server in GO
  • Manage devices like mute and unmute
  • Share video and audio or stop the sharing
  • Notify who is speaking in the UI
  • Add a chat
  • Add a user name when you join the room

Installation

Prod

yarn install
yarn build
yarn start

Dev

yarn install
yarn dev # Linux based OS for windows figure out how to do this yourself

About

Video conferencing platform using WebRTC with a GraphQL API

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published