Å#Untitled.md
<< ---------------------------------------------------------------- >>
--- Last Modified: $= dv.current().file.mtime
Video Groupchats
<< ---------------------------------------------------------------- >>
https://www.youtube.com/watch?v=7KO7o55dcuw&list=PLjTveVh7FakJOoY6GPZGWHHl4shhDT8iV&index=25
- build a video chatting application supporting 1:1 and group calls
- we should be able to support large group calls of up to 100 people
- we should be able to record video calls and upload them to the cloud.
We should obv use UDP
Pear to Pear Communication
Not always want to do this especially in a big group chat, wed have to send video to and recive from many different places
for 1:1 p2p is good but bc of different kinds of NAT not exposing the IP address correctly this could cause an extra hop in the network for every packet which will introduce a lot of lag.
Central Chat Server
Con: server will be under a lot of load.
Option 1: central server takes in all streams, compiles it down to one video source, and sends to all clients
Cons: lots of work on the server to merge videos together each client has to watch the same stream this is fine in sth like twitch but not when a lot of people are on the call
Selective Forwarding
Only send clients the streams they actively care about, in the appropriate resolutions
Use a websocket from client to server, server caches what each client wants.
