webRTC

webRTC

tags :: R:js, R:video

https://www.youtube.com/watch?v=p2HzZkd2A40&ab%5Fchannel=GoogleDevelopers

WebRTC - real time communication

  • 3 tasks

    • acquiring audio and video –> MediaStream
    • communicating audio and video
    • communicating arbitrary (app-related) data
  • MediaStream

    • single source of audio, video or both
    • each contains more than one tracks
    • `navigator.getUserMedia(constraints, successCallback, errorcallback)`
  • Transmitting acquired media to another computer - RTCPeerConnection

  • RTC Data Channel

    • Allows you to use the RTC PeerConnection to send arbitrary data
    • Same API as web sockets
  • Abstract Signalling
  • STUN servers - providing public IP addresses that are gated by a NAT,

    • This allows p2p connection
  • TURN

    • Provides a cloud (i.e.client-server) fallback when p2p isn’t possible
  • ICE

    • Strategically decides whether to use STUN or TURN depending on how feasible it is to setup low-latency p2p
  • rfc5766-turn-server - your own turn server VM

SFU

tags :: R:webRTC, R:video-conferencing