[HN Gopher] WebRTC Samples
       ___________________________________________________________________
        
       WebRTC Samples
        
       Author : simonpure
       Score  : 78 points
       Date   : 2020-09-14 19:07 UTC (3 hours ago)
        
 (HTM) web link (webrtc.github.io)
 (TXT) w3m dump (webrtc.github.io)
        
       | ChicagoBoy11 wrote:
       | For those in the know, if I'm running something on my own that
       | may only at any given moment see in the few hundreds of people
       | using it, what's the best approach in terms of server-side
       | infrastructure to support WebRTC apps? Is there any SaaS offering
       | that has a meaningful product?
        
         | ajb413 wrote:
         | You can use PubNub for reliable signaling and XirSys for TURN.
         | I made an OS example of this a while back.
         | https://github.com/ajb413/pubnub-js-webrtc
        
         | Sean-Der wrote:
         | A few hundred people should be fine! For fun I made
         | https://github.com/pion/rtsp-bench and was doing 14k people
         | before I saw my first hiccup.
         | 
         | You just need watch CPU Usage and Network attributes (loss,
         | congestion etc...) Getting this right will take a little bit of
         | WebRTC knowledge. Happy to answer any specific questions :)
         | 
         | There are also lots of hosted options as well! Real world
         | WebRTC has a few different parts though,
         | https://bloggeek.me/webrtc-server/ is a good intro I think.
        
           | ChicagoBoy11 wrote:
           | Thank you for these resources -- I'll check them out!
        
       | amelius wrote:
       | Any reason why this requires both Python _and_ Nodejs?
        
       | Sean-Der wrote:
       | The term 'WebRTC' is overloaded, it can mean the protocol or the
       | API. These samples only cover in the browser. This repo is also
       | kind of dead https://github.com/webrtc/samples/issues/1350
       | 
       | If you are interested in WebRTC out of the browser there are lots
       | of implementations and servers! I am also working on a book
       | 'WebRTC for the Curious'[0] that tries to explain the protocol
       | and the history behind it.
       | 
       | [0] https://webrtcforthecurious.com/
        
         | suyash wrote:
         | Share GitHub repo with latest code, love to play around
        
           | Sean-Der wrote:
           | The project I work on is https://github.com/pion/webrtc.
           | https://github.com/pion/awesome-pion is a list of interesting
           | projects that use it, my favorite thing to share :)
           | 
           | For other WebRTC implementations check out.
           | 
           | * https://github.com/aiortc/aiortc
           | 
           | * https://github.com/shinyoshiaki/werift-webrtc
           | 
           | * https://github.com/rawrtc/rawrtc
           | 
           | * https://gstreamer.freedesktop.org/documentation/webrtc/inde
           | x...
           | 
           | There is also https://github.com/node-webrtc/node-webrtc this
           | takes Google's WebRTC implementation (used in Chromium) and
           | throws a node.js API on top of it!
        
         | lxgr wrote:
         | Isn't the protocol more or less "just" SDP, DTLS-SRTP and ICE,
         | or in other words a normal SIP stack without the SIP part?
         | 
         | Or is the WebRTC subset/combination of these standards
         | sufficiently different better described as its own protocol?
        
           | Sean-Der wrote:
           | Yea pretty much! The only other thing is SCTP.
           | 
           | One nice thing is that the protocol is less flexible. The
           | clients are expected to support NACK, Congestion Control and
           | some other stuff.
           | 
           | I haven't done SIP stuff in 10 years. I just remember you had
           | lots of variety between who you interacted with. Maybe this
           | has gotten better!
        
         | gxqoz wrote:
         | This blog post from 2018 from Discord indicated that the
         | browser implementation of WebRTC wasn't as good:
         | https://blog.discordapp.com/how-discord-handles-two-and-half...
         | 
         | Is this still the case? Would you still hypothetically see
         | better audio performance of something like Discord in a
         | standalone app?
        
           | Sean-Der wrote:
           | One big issues was poor crypto performance. I managed to
           | convince Google to turn AES-GCM on with SRTP! https://bugs.ch
           | romium.org/p/chromium/issues/detail?id=713701...
           | 
           | I am sure there are other issues as well. The WebRTC
           | implementation in Chromium is controlled by Google (they have
           | all the commit bits). If they don't agree with your change it
           | isn't going to land. It's a tough position to be in for other
           | businesses and Open Source projects even.
        
       | suyash wrote:
       | If you want to build a multiple session (multiple people)
       | connecting to a website with their camera and audio on, would you
       | use WebRTC or WebSocket + getUserMedia ? Why ?
        
         | Sean-Der wrote:
         | WebRTC is going to be better for most users (IMO). WebRTC
         | provides congestion control so video stays real-time. It works
         | pretty well with very little effort.
         | 
         | Some companies have decided to roll their own,
         | https://webrtchacks.com/zoom-avoids-using-webrtc/ is a cool
         | read.
        
           | suyash wrote:
           | how about if you want to integrate real time chat, can webRTC
           | data channel accomplish that or one needs WebSockets for
           | that?
        
             | moron4hire wrote:
             | Go do your own homework
        
       | kristianpaul wrote:
       | There is also
       | https://janus.conf.meetecho.com/screensharingtest.html just to
       | have more resources to check
        
       ___________________________________________________________________
       (page generated 2020-09-14 23:00 UTC)