https://www.reddit.com/r/rust/comments/14vwxfh/we_just_released_our_rust_webtransport/
Here's how we scaled it to support 1000 user per call https://youtu.be/LWwOSZJwEJI
The initial POC from 2022 https://www.youtube.com/watch?v=kZ9isFw1TQ8
MVP of a teleconferencing system written in rust, both the backend and the UI.
Technically you could test this with a single computer, but it is more fun if you use 2+.
- Open chrome://flags on all the computers that you want to use to test the tele-conferencing system, add the ip of the computer that you will use as the server to the Insecure origins treated as secure list.
-
Start the servers on the computer that you intend to use as the server using
ACTIX_UI_BACKEND_URL=ws://<server-ip>:8080 make up
(requires docker). -
If your server computer is behind a firewall, make sure that TCP ports 80 and 8080 are open
-
Connect all computers to
http://<server-ip>/meeting/<username>/<meeting-id>
-
Make sure that you "allow" access to your mic and camera:
- Click connect on both browsers, and enjoy:
https://www.youtube.com/@securityunion
You can join our Discord Community, here is the invite link.
Contains 3 sub-projects
- actix-api: actix web server
- yew-ui: Yew frontend
- types: json serializable structures used to communicate the frontend and backend.
- Install docker
- Run one of the supported make commands
make test
make up
make down
make build
Dario |
Griffin Obeid |
Victor Martínez |
Leone |
The Actix websocket implementation contains fragments from https://github.com/JasterV/chat-rooms-actix in particular the usage of an actor to orchestrate all sessions and rooms.
Give a ⭐️ if this project helped you!