[HN Gopher] Pure C WebRTC
       ___________________________________________________________________
        
       Pure C WebRTC
        
       Author : seansh
       Score  : 32 points
       Date   : 2024-01-07 19:55 UTC (3 hours ago)
        
 (HTM) web link (github.com)
 (TXT) w3m dump (github.com)
        
       | seansh wrote:
       | I was going through some of my old projects and saw one that used
       | this webrtc library. I remember at least at the time (3-4 years
       | ago) if you wanted a webrtc communication channel outside of the
       | browser there were really only two options. One was from Google
       | [1], which is used in both chrome and firefox, and the other one
       | was this c library.
       | 
       | I recall it took me a week to figure out how to properly compile
       | Google's implementation (which uses the bazel build system) as a
       | static or dynamic library to link to. Even then, I think I
       | couldn't get it below something like 50MB. I don't remember the
       | exact binary size but it was so large that I either had to give
       | up using it or give up calling my app "lightweight".
       | 
       | Later I learned that there was also another great implementation
       | written in Go [2] but obviously not feasible if the rest of your
       | project is not in Go.
       | 
       | [1] https://webrtc.googlesource.com/src
       | 
       | [2] https://github.com/pion/webrtc
        
         | rustwebrtc wrote:
         | There is also a Rust implementation based on Pion that is
         | active: webrtc-rs/webrtc
        
           | mypalmike wrote:
           | s/Rust/Go/
        
         | jupp0r wrote:
         | A lot of those 50mb will probably disappear if you statically
         | link your binary against the library.
        
           | Sean-Der wrote:
           | The optimization for size is pretty hard (for me at least).
           | Lots of cool stuff you can do. But if you are on a time
           | crunch/trying to go to production it doesn't happen.
           | 
           | These days I just default to 'thin' implementations like
           | mbedtls when I know it's gonna come up :)
        
         | singpolyma3 wrote:
         | It's not clear what platforms this can run on or how it is
         | related to kinesis
        
       ___________________________________________________________________
       (page generated 2024-01-07 23:00 UTC)