|
|
|
|
|
by _xzxj
2749 days ago
|
|
https://github.com/jlaine/aiortc may be a better option than janus. It's a much simpler to use implementation and is python. quick summary of the acronyms... STUN/TURN/ICE are all related to NAT traversal (ie. when you are behind a router or firewall of some kind and your computer's IP is different from your public IP). The reason you need this is because UDP is not connection-based like TCP. So STUN is a service that helps your computer find its public IP. ICE is a protocol for finding and reporting peer candidates (after they've learned their public IPs via STUN) so they can establish a peer-to-peer connection. TURN is when you reflect the connection off a public server instead of establishing a peer-to-peer connection. SDP is session description...basically information on what media formats and other things each client will accept. RTP is how the media (or other data) packets are framed
RTCP is out of band reporting for things like packet loss and other info so that each side can adjust media properties The nice thing about WebRTC is it takes care most of this stuff for you. If you're always connecting to a server with a public IP you'll just need a few things: 1) WebRTC server that can accept media data (like janus or aiortc)
2) Some signalling mechanism, Websockets work well for this
3) you _may_ need a STUN server, google has stun servers available but you could also use coturn for this. The rest you shouldn't need to worry as much about because webrtc handles it all under the hood |
|