HN user

Sean-Der

4,677 karma

meet.hn/city/39.9622601,-83.0007065/Columbus

Socials: - github.com/Sean-Der - linkedin.com/in/sean-dubois - siobud.com - pion.ly

---

Posts117
Comments640
View on HN
www.lodan.me 1mo ago

Server-Side WebRTC Noise Reduction with Pion, FFmpeg, and RNN Models

Sean-Der
2pts0
webrtchacks.com 1mo ago

Vibe-Coding WebRTC

Sean-Der
3pts0
www.youtube.com 1mo ago

[video] WebRTC for the Streamer – How Whip/WebRTC Can Improve Streaming

Sean-Der
3pts1
webrtcforthestreamer.com 1mo ago

Show HN: webrtcforthestreamer.com – How WHIP makes streaming more connected

Sean-Der
5pts1
openai.com 2mo ago

How OpenAI delivers low-latency voice AI at scale

Sean-Der
510pts146
github.com 3mo ago

Show HN: Pion/handoff – Move WebRTC out of browser and into Go

Sean-Der
101pts17
github.com 4mo ago

OBS 32.1.0 Released with WebRTC Simulcast

Sean-Der
4pts1
github.com 4mo ago

Show HN: Stream Sniff, ffprobe for OBS/WHIP in the browser

Sean-Der
3pts1
streamsniff.com 4mo ago

Show HN: Streamsniff – diagnose and fix your streaming video quality

Sean-Der
1pts1
github.com 5mo ago

Fluxer – AGPL alternative to Discord, has hosted version

Sean-Der
3pts0
github.com 5mo ago

Show HN: Broadcast Box – Self-hosted low latency streaming

Sean-Der
3pts1
github.com 6mo ago

OBS Studio 32.1.0 Beta 1 available

Sean-Der
155pts47
github.com 6mo ago

Show HN: quick-sync. TikTok-esque video switch using WebRTC

Sean-Der
4pts1
github.com 7mo ago

OBS Studio Merges WebRTC/Whip Simulcast Support

Sean-Der
4pts5
github.com 7mo ago

OBS Add Simulcast Support

Sean-Der
2pts1
github.com 8mo ago

Show HN: Pion/rtwatch – Watch video in sync with friends, pause/seek on back end

Sean-Der
5pts1
mrchristmas.com 9mo ago

Show HN: AI Voice Toy I worked on is in stores, media code on GitHub

Sean-Der
5pts1
www.walmart.com 9mo ago

Show HN: AI toy I worked on is in stores

Sean-Der
156pts177
www.walmart.com 9mo ago

Hardware AI Toy I worked on is available in stores

Sean-Der
1pts4
github.com 9mo ago

Show HN: Open-Source Voice AI Badge Powered by ESP32+WebRTC

Sean-Der
48pts6
news.ycombinator.com 10mo ago

Ask HN: How can I make my Open Source project easier to self host?

Sean-Der
3pts1
github.com 10mo ago

Show HN: OpenCV over WebRTC (in Go)

Sean-Der
57pts9
github.com 11mo ago

Show HN: OpenAI/reflect – Physical AI Assistant that illuminates your life

Sean-Der
92pts52
github.com 1y ago

OBS Studio 31.1.1 Released

Sean-Der
3pts1
github.com 1y ago

Show HN: Open-Source Quarter Sized AI Voice Assistant (ESP32-Pipecat)

Sean-Der
5pts1
git.ffmpeg.org 1y ago

FFmpeg merges WebRTC support

Sean-Der
877pts199
github.com 1y ago

FFmpeg Merges WebRTC Support

Sean-Der
11pts2
github.com 1y ago

Show HN: livekit-microcontroller-bridge stream audio/video from a tiny device

Sean-Der
2pts0
hackaday.com 1y ago

Christmas Comes Early with AI Santa Demo

Sean-Der
1pts0
dockets.justia.com 1y ago

Wizards of OBS, LLC vs. ByteDance Ltd. et al.

Sean-Der
1pts0

Thanks Woodrow :)

Accepting 'Big Changes' from people is VERY frustrating. These thoughts run through my head.

* Idea is usually good! Even if I don't understand it could help lots of others users.

* The contributor is very focused on just getting their feature in. The impact on the larger project isn't as much a concern.

* New contributors often don't have the grit to see it out. They will disappear before things are done. So I am left picking up the pieces (which is harder then doing it all myself)

----

What I try and remember is that their happiness/experience matters more then any code. I try to help the contributor learn/grow as much as possible and even see some career benefits out of it. Pion will cease to matter eventually, so I hope to help as many programmers with it as possible.

NLNet is a wonderful organization. They have supported two Pion projects!

I am grateful the code got written, but even better people got careers out of it/learned new stuff. If you are on the fence about taking on a project I encourage you to do it!

Iroh 1.0 1 month ago

Does WebRTC not work inside/outside of the browser anywhere?

You run one encoder for all the viewers. CPU usage won't scale up from 1 -> 15 viewers.

I could get it lower by encoding once and then syncing to keyframes. It would make the code more complicated though. If someone asks for it/gets excited would love to do it though :)

The 'Seek' is done server side. So if you go to `n` seconds it is done server side and done for everyone.

I should reword the README though. If someone is savy enough they could totally grab the video. For most users it is like a Google Meet though. If you click `Show Controls` you can pause the video that is it.

With things like Insertable Streams[0] you can totally grab the video.

[0] https://developer.mozilla.org/en-US/docs/Web/API/Insertable_...

1.) Latency vs quality doesn't come up enough to make people want to A/B test it unfortunately. At work I would say ~5 people care about WebRTC vs QUIC vs X. All effort is around the models (how can I provide tools to be support those doing that work)

2.) The model isn't processing just text anymore. Also taking into account breathing/emotion etc... not just spitting out big responses anymore. As it generates them it is taking into account the users response.

3.) It works with the LB setup today. Clients are sending ICE traffic, if it roams we lookup the ufrag and route appropriately.

4.) With DTLS 1.3 it is 1 RTT with SNAP[0] for WebRTC session. SCTP info goes in Offer/Answer, DTLS is packed into ICE. You are totally right about signaling though! [1] was my answer for doing WebRTC without signaling, couldn't get anyone to care though.

5.) I don't have anything that I need to tune. If I want to increase (or decrease) latency [3] is something I put into Transceiver. Otherwise I can't think of any 'change this WebRTC behavior' that has been asked by users/developers.

[0] https://datatracker.ietf.org/doc/draft-hancke-tsvwg-snap/

[1] https://github.com/pion/offline-browser-communication

[3] https://webrtc.googlesource.com/src/+/refs/heads/main/docs/n...

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.

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 :(

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

I am excited for VAD to go away. PersonaPlex totally seems like the future.

However things like 'Call center helpline' turn based actually seems better! You don't want to be interrupted when giving information back and forth (I think?)

Thanks for reading it!

You can't beat Websockets :) Especially since you have so much tooling/existing stuff that works with HTTP.

I have been trying to get a website off the ground that does Datachannels + SQlite in the browser and then users sync between each other. I have gotten distracted so many times though.

What USB Tuners do people like? I have a Hauppauge WinTV-dualHD Dual Tuner - 955D and I have to restart server every 3 days because it deadlocks.

Do any alternatives to TvHeadEnd exist? I looked a bit and seems like it’s the best. So much customization it would be hard to reach it’s quality

MoQ Boy 3 months ago

use WebRTC and deploy selective forwarding units, which are going to be something custom

Would you mind explaining more? If you are doing WHIP/WHEP you should be able to drop in Broadcast Box/MediaMTX etc... and switch out servers and no one should notice. You can use browser/mobile/ffmpeg/OBS etc... get the same behavior. I care a lot about the broadcast space, want to learn about other problems.

subtly speed up audio/video to keep everything in sync

You can use https://webrtc.googlesource.com/src/+/refs/heads/main/docs/n... to add more delay (if you want to force more buffering). Or if you don't link the media together (via MediaStream) you don't get the behavior you describe either!

capture each participant's audio individually

That's a neat problem. I haven't solved this one myself, I wonder if it's easier with RtpTransport or insertable streams?