Hacker News new | past | comments | ask | show | jobs | submit login

I am so incredibly excited for WebRTC broadcasting. I wrote up some reasons in the Broadcast Box[0] README and the OBS PR [1]

Now that GStreamer, OBS and FFmpeg all have WHIP support we finally have a ubiquitous protocol for video broadcasting for all platforms (Mobile, Web, Embedded, Broadcasting Software etc...)

I have been working on Open Source + WebRTC Broadcasting for years now. This is a huge milestone :)

[0] https://github.com/Glimesh/broadcast-box?tab=readme-ov-file#...

[1] https://github.com/obsproject/obs-studio/pull/7926






That pr is really great work both technically and interpersonally. A fun read for sure. Great work and thank you for your determination.

Thanks for all your work Sean! It's been a delight to use your webrtc libs and see your impact across a broad range of technical efforts.

Thank you :)

When are you coming back to the WebRTC space, lots more cool stuff you could b doing :) I really loved [0] it's so cool that a user can access a server behind a firewall/NAT without setting up a VPN or having SSH constantly listening.

[0] https://github.com/maxmcd/webtty


Your work in this area has been phenomenal. Thank you! I use broadcast-box all the time.

What sort of infrastructure do you need for scaling WebRTC multicast?

Are we entering an era where you don't need Amazon's budget to host something like Twitch?


Yes we are :) When OBS merges the PR [0] things are going to get very interesting.

Before you needed to run expensive transcoding jobs to be able to support heterogenous clients. Once we get Simulcast the only cost will be bandwidth.

With Hetzner I am paying $1 a TB. With AV1 or H265 + Simulcast I am getting 4K for hundreds of users on just a single server.

We will have some growing pains, but I am not giving up until I can make this accessible to everyone.

[0] https://github.com/obsproject/obs-studio/pull/10885


I have found it's hard to get past ~18Gbps on commodity servers and ~90Gbps on high spec, carefully specced servers. I presume you find the same?

A twitch 720p stream is only 4 Mbps. 1080p? 6-8 Mbps

So if you've got ~18 Gbps of upload bandwidth you're ready for 10,000-20,000 viewers.


With how ubiquitous gigabit symmetric is becoming, I wonder if you could even do P2P nowadays.

Assuming a single gigabit symmetric connection could dedicate at most 100mb of upload bandwidth, you'd need one such viewer per each 25 viewers with a worse connection. This feels achievable.

You'd have 1 server that broadcasts to at most 10K tier-1 viewers. Tier 2 viewers get 3 tier1 ips for failover, and pre-negotiate a connection with them, e.g. through STUn, to get sub-second failovers in case their primary source quits the stream. A central control plane load balances these.

With something like 15s of buffer (acceptable for a gaming stream, not so much for sports, where your neighbors might be watching on satellite and cheer), this feels achievable.


> With how ubiquitous gigabit symmetric is becoming, I wonder if you could even do P2P nowadays.

CGNAT is going to make that a hassle.


Ideally any ISP resorting to CGN would be providing IPv6 support, but Tailscale shows that nat hole-punching can work well [1]. I'm not sure if that's feasible to implement in a web browser though.

[1] https://tailscale.com/blog/how-nat-traversal-works


It can work okay, but still not perfectly. Before I asked my ISP for a static address, tailscale connections between my place and my partner's only managed to maintain a direct connection half the time. The other half of the time, they required a relay.

yep. I'm still kind of shocked at how little ipv6 has been deployed.

i'm so effing tired of NAT here and NAT there and NATs in between NATs. NAT complicates things for almost no reason now that ipv6 was released almost 30 years ago. Wait, what? 30 years? Now I'm VERY shocked at how little ipv6 has been deployed.


> With how ubiquitous gigabit symmetric is becoming, I wonder if you could even do P2P nowadays.

You don't even need gigabit connections to make p2p work: a video stream is usually between 1-10mbps, with which you can do p2p even with a regular connection.

(I used to work for a start-up doing p2p streaming using WebRTC in the browser, we got up to 90% efficiency on live streaming back in 2015, and 80% for VoD).

I'm still very confused that this technology hasn't become mainstream (there are privacy concerns, but that doesn't usually stop the tech market…).


In theory I think you're right, but you do need a really smart control plane. Just because a connection is fast doesn't mean it's not metered (let's say fast 5G, starlink, rural fiber) and so on.

Are all of the issues P2P brings really worth it?

I'd say this definitely opens up streaming from your desktop with 1 CPU core handling a SFU for say 100 viewers = 500Mb or from a $5/month VPS if you've not got the capacity at home. That's pretty awesome, for most people no need to use P2P.


It's not nearly as "ubiquitous" as you may think

Not sure I follow your maths there.

If we assumed an average of 6Mb per stream that's 3000 streams, practically speaking a little lower.

It's all relative I guess but it's not that high.


Multicast enters the room

Does multicast actually work from a home network to another set of homes over the internet? I thought this traffic would just get dropped by one of the hops along the way if you tried it.

https://networkengineering.stackexchange.com/questions/47994...


I think it never took off and is not supported by many if not most routers. However, it is an efficient solution for sending live-stream data over the web. I think eventually the pressure to not send packets for each consumer but at most once per port will take over and force providers to implement this or a better solution.

It won't even make it through your home "gateway", in practice it's usable at layer 2 only.

You can't multicast over the internet.

this is an outrage. i suggest we riot.

Finally

I just want to say I am loving your enthusiasm

Thanks to a post on here a few months ago about Cloudflare R2, I finally felt motivated enough to work on a video platform idea I have. I still don’t understand ffmpeg but my transcoder works!

Now I see this news?! Perfect timing. (:


> I am not giving up until I can make this accessible to everyone.

I like this guy.


Working in the events broadcasting space, this opens up OBS to being a viable alternative to professional software like vMix. Especially the P2P support and support for broadcasting multiple scenes seem extremely valuable to have.

Are there any video players which can play a webrtc stream? Last I checked, VLC and other popular tools still don’t support it.

[1]:

  gst-launch-1.0 playbin3 uri="gstwebrtc://localhost:8443?peer-id=<webrtcsink-peer-id>"
WebRTC is normally used in bidirectional use cases like video chat with text options, so I don't think it so odd that VLC doesn't outright support it. VLC does not support dialing into an Asterisk server, either.

[1] https://gstreamer.freedesktop.org/documentation/rswebrtc/web...


That's impossible, VLC supports everything. If VLC doesn't support it, it doesn't exist.

While that might be true I've found mpv more approachable when doing weird inputs

XAVC HS 4k 10Bit HEVC 4:2:2 on Windows.

Plex and ffmpeg, perfectly fine. VLC is not a fan.


I wish vlc supported usf, 2sf and minigsf

Amen.

I'd guess VLC will get support for it soon now that ffmpeg supports it.

Possibly, but VLC maintains its own codec libraries and doesn't rely on FFMpeg.

Maybe I'm wrong but in this case, couldn't you create your own middleware server that could consume the Weber stream feed and then stream out as a regular vlc consumable feed? I'm guessing there will be some transcoding on the fly but that should be trivial..

Should ffplay support it if ffmpeg added support for it in general?

Any plans to add multipath/failover-bonding support? e.g. mobile streaming unit connected with several 5G modems. Some people use a modified SRT to send H.265 over multiple links.

Absolutely! Some people have modified libwebrtc to do this today, but it wasn't upstreamed.

ICE (protocol for networking) supports this today. It just needs to get into the software.


i was using vnc for remote dosbox gaming on the phone. now i can sink infinite amount of time trying to do a input handler webapp and using this+obs instead! thanks!

I've also been trying (and mostly failing) to build such a setup over the last few weeks. What are you thinking in terms of the overall building blocks to get this to work?

I've been struggling to get a proper low-latency screen+audio recording going (on macos) and streaming that over WebRTC. Either the audio gets de-sync, or the streaming latency is too high.


games i plan to play don't care about latency, which solves most of your problems :)

but this+obs+a webapp for input+ydotool to pass the input to dosbox. then i can just open a page on the browser on the phone.




Consider applying for YC's Fall 2025 batch! Applications are open till Aug 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: