The challenge is to build your own video call app to send your camera to our WebRTC stage, the objective is that all participants could join the stage, so if you could stream your camera quickly, please help other participants to tackle down the challenge.
With the challenge you will learn the WebRTC basis to establish a connection and send your media to a peer, some topics like:
- Get your camera and microphone feed from the browser.
- Connect with a signaling server to negotiate the WebRTC connection.
- Understand how the ICE candidate are negotiated and agreed.
- WebRTC topologies.
- And many other topic (by your own 😉)
Here are some starting points for your journey, feel free to dig deeper as much as you want!
- Introduction to main concepts of WebRTC
- WebRTC Protocols
- WebRTC connectivity
- Signaling and Video calling
- WebRTC Architectures (we are using SFU)
- WebRTC Glossary
The core of the WebRTC backend is a Janus Server using the VideoRoom plugin. It is in charge of the signaling server and the SFU server.
You can refer to the VideoRoom plugin publisher documentation for SDP negotiation, we recommend using the minijanus.js for connecting with the signaling. There is an example of using it in janus.js.
- Stage page: https://stage.montevideotech.dev
- Signaling server:
wss://webrtc.qualabs.dev/ws
with protocoljanus-protocol
- Room ID: 1234