frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Open in hackernews

OpenAI's WebRTC problem

https://moq.dev/blog/webrtc-is-the-problem/
84•atgctg•1d ago

Comments

giancarlostoro•1h ago
Probably because WebTransport is the lesser known alternative to WebRTC.
est•43m ago
WebTransport requires some speicific server setup.

cldouflare doesn't support WebTransport well.

r2vcap•1h ago
This is frustratingly one-sided writing. Yeah, WebRTC has limitations, but relying on a standard buys you a lot of correctness and reduces long-term engineering cost. The fact that WebRTC is complicated does not mean it is wrong; it means real-time media over the public internet is complicated.

Also, networking is inherently stateful. NAT traversal, jitter buffers, congestion control, packet loss, codec state, encryption, and session routing do not disappear because you put audio over TCP or WebSocket. Pretending otherwise is not architectural clarity. It is just moving the complexity somewhere less visible.

Waterluvian•30m ago
“How hard can it be?” the strawman asked.

It’s 2026 and teleconferencing is still such a shit show. There’s billions of dollars to be had and Zoom is at best mediocre, and it can be as bad as Microsoft Whatchamacallit. I’ve never not seen teleconferencing be a ham handed mess.

charcircuit•22m ago
QUIC is also a standard.
tekacs•20m ago
You might have noticed that the author started the blog post explaining themselves:

  Like 6 years ago I wrote a WebRTC SFU at Twitch.
  Originally we used Pion (Go) just like OpenAI,
  but forked after benchmarking revealed that it was too slow.
  I ended up rewriting every protocol, because of course I did!

  Just a year ago, I was at Discord and I rewrote the WebRTC SFU in Rust.
  Because of course I did! You’re probably noticing a trend.

  Fun Fact: WebRTC consists of ~45 RFCs dating back to the early 2000s.
  And some de-facto standards that are technically drafts (ex. TWCC, REMB).
  Not a fun fact when you have to implement them all.

  You should consider me a Certified WebRTC Expert.
  Which is why I never, never want to use WebRTC again.
I think that they've done more than enough of 'trying the normal way' to be warranted in having an opinion the other way, don't you think?
awkii•47m ago
This poor soul. There are few protocols I hate implementing more than WebRTC. Getting a simple client going means you need to quickly acclimate to SDP, TURN/STUN, ice-candidates, offers, peer-to-peer protocols, and the complex handshake that is implemented from scratch each time. I can't imagine re-writing the whole trenchcoat of protocols and unintended "best-practices".
jgalt212•41m ago
Have you attempted to use the Microsoft Graph API to interact with email?
edoceo•13m ago
Ugh. Who's decided to Graph all the things.
Sean-Der•34m ago
What platforms were you targeting that you found it painful! Sorry it was frustrating.

I hope it’s getting better with education/more libraries. It’s also amazing how easy Codex etc… can burn through it now

moomoo11•13m ago
i like livekit for this reason and their ceo is cool
Giefo6ah•37m ago
Yet another victim of IPv4, and you still find countless detractors of IPv6 on every thread where it's mentioned.
whattheheckheck•20m ago
How would ipv6 handle it
tardedmeme•6m ago
You just send packets to the other party's address and they send packets back to yours.
spongebobstoes•10m ago
IPv4 support is necessary, but IPv6 isn't
fidotron•32m ago
> WebRTC is designed to degrade and drop my prompt during poor network conditions

You want real time that's what you are going to deal with. If you don't want real time and instead imagine everything as STT -> Prompt -> TTS then maybe you shouldn't even be sending audio on the wire at all.

telman17•29m ago
Yep. Maybe there's some additional configuration I'm missing to mitigate the delay but clients don't seem to want to deal with the delay with STT -> Prompt -> TTS. They'll happily suffer occasional quality issues if the conversation feels "real".
lpln3452•15m ago
I haven't really experienced disconnections while using ChatGPT. Gemini is the frustrating part. Simply backgrounding the app (and the web version too) and resuming it causes the response or the conversation with an assigned ID to disappear. Haha.
Sean-Der•13m ago
I believe Gemini is Websockets? I have the same experience with heavy/custom applications that try to roll their own media stuff.

You run into issues around AudioContext and resumption etc... it's a PITA to have to handle all those corner cases :(

spongebobstoes•12m ago
this misses a few key things but hits on many others

webrtc is a bad protocol, without a doubt. I do like websockets as an easy alternative, but you do need to reinvent decent portions of webrtc as a result

I like the idea of MoQ but it's not widely used. probably worth experimenting with, especially as video enters the chat

> and then a GPU pretends to talk to you via text-to-speech

OpenAI is speech-to-speech, there is no TTS in voice mode

> It takes a minimum of 8* round trips (RTT) to establish a WebRTC connection

signalling can be done long ahead of time, though I don't see this mentioned in the OpenAI blog. I also saw some new webrtc extensions that should reduce setup time further

ultimately though, it comes down to

> It’s not like LLMs are particularly responsive anyway

I expect to see a shift in how S2S models work to be lower latency like the new voice API models that OpenAI announced

to be fair, the new models were released the day after this MoQ blog was published

Sean-Der•10m ago
Responding to some technical points first, but then after that I do see a future that isn't WebRTC. I don't think it matches where WebTransport+WebCodecs etc is going though.

> …but as a user, I would much rather wait an extra 200ms for my slow/expensive prompt to be accurate

This is the opposite of the feedback I get. Users want instant responses. If you have delay in generating responses/interruptions it kills the magic. You also don't want to send faster than real-time. If the user interrupts the model you just wasted a bunch of bandwidth sending 3 minutes of audio (but only played 10 seconds)

> TTS is faster than real-time

https://research.nvidia.com/labs/adlr/personaplex/ Voice AI for the latest/aspirational is moving away from what the author describes. It is trickled in/out at 20ms

> We really hope the user’s source IP/port never changes, because we broke that functionality.

That is supported. When new IP for ufrag comes in its supported

> It takes a minimum of 8* round trips (RTT)

That's wrong. https://datatracker.ietf.org/doc/draft-hancke-webrtc-sped/

> I’d just stream audio over WebSockets

You lose stuff like AEC. You also push complexity on clients. The simplicity of WebRTC (createOffer -> setRemoteDescription) is what lets people onboard easily. Lots of developers struggled with Realtime API + web sockets (lots of code and having to do stuff by hand)

----

I think if I had my choice I would pick Offer/Answer model and then doing QUIC instead of DTLS+SCTP. Maybe do RTP over QUIC? I personally don't feel strongly about the protocol itself. I don't know how to ship code to multiple clients (and customers clients) with a much large code footprint.

Google broke reCAPTCHA for de-googled Android users

https://reclaimthenet.org/google-broke-recaptcha-for-de-googled-android-users
614•anonymousiam•6h ago•216 comments

OpenAI's WebRTC problem

https://moq.dev/blog/webrtc-is-the-problem/
91•atgctg•1d ago•22 comments

The React2Shell Story

https://lachlan.nz/blog/the-react2shell-story/
30•mufeedvh•9h ago•3 comments

Wi is Fi: Understanding Wi-Fi 4/5/6/6E/7/8 (802.11 n/AC/ax/be/bn)

https://www.wiisfi.com/
81•homebrewer•2d ago•29 comments

AI is breaking two vulnerability cultures

https://www.jefftk.com/p/ai-is-breaking-two-vulnerability-cultures
239•speckx•7h ago•102 comments

You gave me a u32. I gave you root. (io_uring ZCRX freelist LPE)

https://ze3tar.github.io/post-zcrx.html
138•MrBruh•6h ago•86 comments

Can LLMs model real-world systems in TLA+?

https://www.sigops.org/2026/can-llms-model-real-world-systems-in-tla/
27•mad•9h ago•4 comments

Light without electricity? Glowing algae could make it possible

https://www.colorado.edu/today/2026/05/06/light-without-electricity-glowing-algae-could-make-it-p...
17•geox•2d ago•2 comments

AWS North Virginia data center outage – recovery to take hours

https://www.cnbc.com/2026/05/08/aws-outage-data-center-fanduel-coinbase.html
128•christhecaribou•22h ago•77 comments

Cartoon Network Flash Games

https://www.webdesignmuseum.org/flash-game-exhibitions/cartoon-network-flash-games
280•willmeyers•9h ago•98 comments

David Attenborough's 100th Birthday

https://www.bbc.com/news/articles/cp3pww9g0p5o
440•defrost•13h ago•89 comments

When is your birthday? The math behind hash collisions

https://0xkrt26.github.io/math_behind_security/2026/05/08/birthday-problem.html
19•denismenace•5h ago•0 comments

Serving a website on a Raspberry Pi Zero running in RAM

https://btxx.org/posts/memory/
191•xngbuilds•10h ago•78 comments

An Introduction to Meshtastic

https://meshtastic.org/docs/introduction/
370•ColinWright•14h ago•149 comments

Mux (YC W16) Is Hiring

https://www.mux.com/jobs
1•mmcclure•4h ago

Looking at the data behind prediction markets

https://asteriskmag.com/issues/14/are-prediction-markets-good-for-anything
53•kqr•1d ago•27 comments

Teaching Claude Why

https://www.anthropic.com/research/teaching-claude-why
88•pretext•7h ago•23 comments

Meta Shuts Down End-to-End Encryption for Instagram Messaging

https://www.pcmag.com/news/meta-shuts-down-end-to-end-encryption-for-instagram-dms-messaging
143•tcp_handshaker•3h ago•98 comments

Human typing habits and token counts

https://pankajpipada.com/posts/2026-05-08-human-habits-tokens/
10•ppipada•12h ago•1 comments

Bitter Lessons from the ISSpresso

https://mceglowski.substack.com/p/bitter-lessons-from-the-isspresso
4•zdw•2d ago•1 comments

Tesla Model Y Passes NHTSA's New 'Advanced Driver Assistance System' Tests

https://www.nhtsa.gov/press-releases/tesla-model-y-first-vehicle-pass-nhtsa-new-advanced-driver-a...
37•amanaplanacanal•2h ago•30 comments

Rumors of my death are slightly exaggerated

1527•CliffStoll•2d ago•236 comments

Mojo 1.0 Beta

https://mojolang.org/
287•sbt567•22h ago•183 comments

All means are fair except solving the problem

https://yosefk.com/blog/all-means-are-fair-except-solving-the-problem.html
33•akkartik•2d ago•38 comments

US Government releases first batch of UAP documents and videos

https://www.war.gov/UFO/
233•david-gpu•13h ago•341 comments

Non-determinism is an issue with patching CVEs

https://flox.dev/blog/achieving-rapid-cve-remediation-in-an-era-of-escalating-vulnerabilities/
36•mathewpregasen•4h ago•12 comments

How do I deal with memory leaks? (2022)

https://www.stroustrup.com/bs_faq2.html#memory-leaks
75•theanonymousone•8h ago•64 comments

Poland is now among the 20 largest economies

https://apnews.com/article/poland-economy-growth-g20-gdp-26fe06e120398410f8d773ba5661e7aa
893•surprisetalk•13h ago•737 comments

PC Engine CPU

https://jsgroth.dev/blog/posts/pc-engine-cpu/
122•ibobev•11h ago•53 comments

Hosting a Site on a Raspberry Pi

https://m4rt.nl/blog/hosting-on-a-pi
11•swiftdust•1d ago•2 comments