[HN Gopher] Go Donut: Convert Live Streaming to WebRTC
       ___________________________________________________________________
        
       Go Donut: Convert Live Streaming to WebRTC
        
       Author : dreampeppers99
       Score  : 57 points
       Date   : 2024-08-03 12:59 UTC (10 hours ago)
        
 (HTM) web link (github.com)
 (TXT) w3m dump (github.com)
        
       | Hypnosis6173 wrote:
       | I searched a solution to this 2 year ago, great to see such an
       | easy to use implementation now.
        
         | Sean-Der wrote:
         | Did you end building it? What did yo use? What made it hard?
        
       | ongy wrote:
       | What's the purpose of this?
       | 
       | Mostly a tech-demo, or primarily to plug a p2p layer onto
       | existing servers?
        
         | manorwar8 wrote:
         | it might be useful as a preview for media ingestion
        
         | Sean-Der wrote:
         | This allows you to view video from protocols the browser
         | doesn't support with very little added latency.
         | 
         | Things like RTMP/SRT/RIST/RTSP....
        
         | majorchord wrote:
         | It looks to me like an early WIP clone of those "watch movies
         | together with friends online" services.
        
       | Sean-Der wrote:
       | This is a great project. I really want to add a little JS lib so
       | it could be all done client side
       | 
       | <donut server='' src='rtmp://....' />
       | 
       | src could be any protocol you want.
        
         | dreampeppers99 wrote:
         | that is the idea behind https://github.com/flavioribeiro/donut-
         | video but it needs to be updated
        
       | majorchord wrote:
       | My issue with this (and WebRTC in general) is that most
       | residential users (at least in the US, probably many other
       | countries) are behind some type of symmetrical NAT or CGNAT,
       | often without the ability to forward ports or have working NAT
       | traversal, which makes WebRTC unusable without a TURN server as
       | it relies on communicating between peers via DTLS over UDP.
       | 
       | The problem with needing a TURN server is that you practically
       | need to host it yourself, because there are no fast and reliable
       | public ones, probably due to abuse. WebTorrent also has the same
       | problem since it also uses WebRTC, and as such, 99% of
       | applications that use either technology simply do not work at all
       | for me or anyone else I've asked to try these services.
        
         | Sean-Der wrote:
         | You shouldn't need TURN for Client/Server like Donut. The Donut
         | server runs on a world addressable host. So luckily no TURN
         | woes here!
         | 
         | In practice ~20% of users need TURN
         | https://medium.com/@fippo/what-kind-of-turn-server-is-being-...
        
       | alexdoesh wrote:
       | Do we have any reverse bridge available, that you can use for in-
       | browser or edge conversion from WebRTC to RTMP/HSL?
        
         | Sean-Der wrote:
         | Not that I am aware of! Happy to help build it if you are
         | interested in starting it :)
        
       | iod wrote:
       | Another library that I would recommend people look into for live
       | streaming to WebRTC, as an alternative to Pion used in this
       | project, is Janus WebRTC Server. I use it for ingesting RTP
       | streams I generate from usb webcams and then playing it with very
       | low latency in the browser. It even has a feature where you can
       | stream multiple streams simultaneously. It also has a simple http
       | api for adding, updating, and removing streams on demand.
       | 
       | Here is the library's streaming demo:
       | 
       | https://janus.conf.meetecho.com/demos/streaming.html
        
       ___________________________________________________________________
       (page generated 2024-08-03 23:00 UTC)