HNHacker News
TopNewBestAskShowJobs

Sean-Der

4,712 karma · joined November 18, 2012

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

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

---

submissionscomments
Sean-Der··on Show HN: Broadcast Box – Self-hosted low latency streaming
Broadcast Box is a project that I have been maintaining for a few years, but feels even more relevant with streaming services locking things down more and more.

I originally built Broadcast Box so I can get WHIP support into OBS, but it outgrew that. I love this new generation of streaming that is more intimate. Instead of pushing video to a large audience you pull a group of friends into a stream and low latency makes you feel more connected.

Always looking for feedback on the architecture, docs, and onboarding experience! especially suggestions to make setup easier for new users.

Sean-Der··on OBS Studio 32.1.0 Beta 1 available
Broadcast Box can be configured via env variables. The frontend is also optional!

It is like RTMP where you can just do a URL to publish/watch. It does come with a frontend though.

Sean-Der··on OBS Studio 32.1.0 Beta 1 available
What software did you try and use last year?

Can you try Broadcast Box. If that is still too heavy, what could I do to make it better?

Sean-Der··on OBS Studio 32.1.0 Beta 1 available
No you are thinking about it right!

I think the best way to do it today is via a Browser Source. It is hard to get people excited because it is already technically possible.

I will keep working on that PR!

Sean-Der··on OBS Studio 32.1.0 Beta 1 available
I would send your high quality stream to something like Broadcast Box with Simulcast enabled.

Then you can forward your lowest quality stream to YouTube with FFmpeg/GStreamer. Hopefully no re-encoding needed!

Sean-Der··on OBS Studio 32.1.0 Beta 1 available
Yep WHIP output!

* PR - https://github.com/obsproject/obs-studio/pull/7926

* RFC - https://datatracker.ietf.org/doc/rfc9725/

Sean-Der··on OBS Studio 32.1.0 Beta 1 available
OBS outputs WebRTC, so you can push directly into vdo ninja now.

If you want more control over your video quality/capture it's nice to not have to use your browser. Trade off is its way harder to setup.

Sean-Der··on OBS Studio 32.1.0 Beta 1 available
Yes! I maintain https://github.com/glimesh/broadcast-box for this.

You can try it out at https://b.siobud.com to see if you like it first. It if fits your needs then go for the self host :) I run my instance on Hetzner

I want to add more features to it, but I have been focused on OBS mostly lately. If you have any ideas/needs that would make it work for you and your friends I would love to hear! Join the discord and would love to chat.

What I want to do next is make a 're-broadcast feature'. So friends can stream to it + hang out. When they are ready they hit a button and then goes to Twitch/YouTube etc...

Sean-Der··on OBS Studio 32.1.0 Beta 1 available
If anyone is using/testing WebRTC I would love to hear how it is working for them :) I am hoping Simulcast makes a impact with smaller streamers/site operators.

* Cheaper servers. More competition and I want to see people running their own servers.

* Better video quality. Encoding from source is going to be better then transcoding.

* No more bad servers. Send video to your audience and server isn't able to do modification/surveillance with E2E Encryption via WebRTC.

* Better Latency. No more time lost transcoding. I love low latency streaming where people are connected to community. Not just blasting one-way video.

Sean-Der··on Show HN: quick-sync. TikTok-esque video switch using WebRTC
TikTok style 'quick switch' using WebRTC

This swaps the video on the backend, so keeps the client really simple! Only 25 lines of Javascript, makes it easy to target lots of platforms.

If anyone has questions or ideas how to make it better would love to chat!

Sean-Der··on Show HN: webrtc-rs/rtc – A Sans-I/O WebRTC Stack for Rust
Congrats! Big project to go Sans-I/O :)
Sean-Der··on Show HN: DeskSlice – controlling a VS Code agent from my phone
Sorry you hit these issues :(

Instead of restart/renegotiation can you re-timestamp the packets? The example swap-tracks[0] shows a good way to do that. The renegotiation (especially multiple times with no real changes) is gonna be a PITA :)

Also you should share in https://pion.ly/discord other people would love to see this. Super cool project.

[0] https://github.com/pion/webrtc/blob/master/examples/swap-tra...

Sean-Der··on Show HN: DeskSlice – controlling a VS Code agent from my phone
Would you mind explaining the complexity issues around WebRTC more? Why did you need to do renegotiation? What RTP stuff hit you?

thanks

Sean-Der··on Show HN: Tt – P2P terminal sharing over WebRTC
That's super cool! Nice work.

I love all the 'free stuff' you get with WebRTC. My porch is just on the edge of WiFi/5G and WebRTC (or mosh) feels much nicer.

Sean-Der··on Show HN: Pion SCTP with RACK is 70% faster with 30% less latency
You have done such an amazing job on this, it's been such a joy watching you improve SCTP. Better Bandwidth Estimation has been the big list of things everyone has been wishing could be better for 5+ years.

I can't wait to see where your going/what you end up building :) I absolutely didn't have the skills you had at this point in my career.

-----

* What is the best way to get people interested/involved in Open Source/contributing? I am always looking to attract more people. What is Pion doing right and what could it be doing better?

* Doing this project what was the most surprising technical thing you learned? I haven't gone deep on Bandwidth Estimation, but it's super cool to me that loss + latency are really just heuristics. I get why it isn't possible, but it's a shame middle boxes can't just tell software 'You can send this much' :)

Sean-Der··on We replaced H.264 streaming with JPEG screenshots (and it worked better)
https://github.com/m1k1o/neko before VNC check neko out.

I worked on a project that started with VNC and had lots of problems. Slow connect times and backpressure/latency. Switching to neko was quick/easy win.

Sean-Der··on We replaced H.264 streaming with JPEG screenshots (and it worked better)
Doesn’t matter now, but what led you to TURN?

You can run all WebRTC traffic over a single port. It’s a shame you spent so much time/were frustrated by ICE errors

That’s great you got something better and with less complexity! I do think people push ‘you need UDP and BWE’ a little too zealously. If you have a homogeneous set of clients stuff like RTMP/Websockets seems to serve people well

Sean-Der··on OBS Studio Merges WebRTC/Whip Simulcast Support
Pretty much! You are doing multiple encodes lately.

Yes you will use more bandwidth/compute locally. In the future I hope to support SVC so you have zero bandwidth overage.

Sean-Der··on OBS Studio Merges WebRTC/Whip Simulcast Support
Yea it shows up in the UI. Sorry I am so wrapped up in it I don’t know how to explain it well.

What part did I do a bad job at explaining? The what it does, why it’s exciting or just the enabling it?

Sean-Der··on OBS Studio Merges WebRTC/Whip Simulcast Support
This is something I have been working on for years and am sssooo excited to see merged. This starts a new generation of broadcasting (I hope)

* Cheaper servers. More competition and I want to see people running their own servers.

* Better video quality. Encoding from source is going to be better then transcoding.

* No more bad servers. Send video to your audience and server isn't able to do modification/surveillance with E2E Encryption via WebRTC.

* Better Latency. No more time lost transcoding. I love low latency streaming where people are connected to community. Not just blasting one-way video.

----

Please please test it out! I want to catch any bugs/make improvements before branch cut.

Sean-Der··on OBS Add Simulcast Support
This is something I have been working on for years and am sssooo excited to see merged. This starts a new generation of broadcasting (I hope)

* Cheaper servers. More competition and I want to see people running their own servers.

* Better video quality. Encoding from source is going to be better then transcoding.

* No more bad servers. Send video to your audience and server isn't able to do modification/surveillance with E2E Encryption via WebRTC.

* Better Latency. No more time lost transcoding. I love low latency streaming where people are connected to community. Not just blasting one-way video.

----

Please please test it out! I want to catch any bugs/make improvements before branch cut.

Sean-Der··on We replaced WebRTC with WebSockets for real-time video streaming
Doesn’t matter now, but what led you to TURN?

You can run all WebRTC traffic over a single port. It’s a shame you spent so much time/were frustrated by ICE errors

That’s great you got something better and with less complexity! I do think people push ‘you need UDP and BWE’ a little too zealously. If you have a homogeneous set of clients stuff like RTMP/Websockets seems to serve people well

Sean-Der··on WebRTC Aec3 in Rust
That’s really amazing!

You can build a full voip app in rust now. Opus, WebRTC and capture is all available.

What were you building this for? If you don’t mind I would love to learn more I have a meeting link on siobud.com

Sean-Der··on Ask HN: Would you use a self-hosted server that streams media and video games?
What could you provide that would convince a friend group to leave discord for this?

Watching movies together and playing games/chatting sounds compelling?

Sean-Der··on Ask HN: Would you use a self-hosted server that streams media and video games?
I think it’s a great idea!

I would try and be more ‘use case focused’ instead of trying to replace/combining existing things. I love the idea of a more connected/social future.

Make it easy to self host and give people more ways to connect.

Sean-Der··on WebTransport is almost here to allow UDP-like exchange in the browser
I haven't used WebTransport myself, how much can you control? I wonder how often libwebrtc does stuff that wouldn't be allowed in Javascript. Things like probing and overshooting the window?

Since libwebrtc is all in C++ and 'trusted' it can do stuff like faststart or have error correction/bandwidth estimation that is codec aware.

Sean-Der··on WebTransport is almost here to allow UDP-like exchange in the browser
What do you think a more simple/modern WebRTC looks like?

* RTP over QUIC is promising https://datatracker.ietf.org/doc/draft-ietf-avtcore-rtp-over...

Do you want a new PeerConnection API? Are you annoyed with the Offer/Answer model? Do you have beef with the protocols. The possibility are endless :)

Sean-Der··on Custom doorbell app with Home Assistant and WebRTC
This is so cool! `go2rtc’ is the key too so many cool projects, doesn’t get talked about enough

It’s a bummer you had to deal with TURN. Be nice if something was easier here.

Sean-Der··on Show HN: Pion/rtwatch – Watch video in sync with friends, pause/seek on back end
Older project that I just got around to updating to pion/webrtc/v4

Still one of my favorites. It just feels so much better pressing play/pause in one browser and seeing other clients respond instantly.

No Javascript moving a video slider around :)

Sean-Der··on Chaining FFmpeg with a Browser Agent
My question/curiosity is why do so many people use ffmpeg (frustrated by the syntax) when GStreamer is available?

`gst-launch-1.0 filesrc ! qt4demux ! matroskamux ! filesink...` people would be less frustrated maybe?

People would also learn a little more and be less frustrated when conversation about container/codec/colorspace etc... come up. Each have a dedicated element and you can better understand its I/O

← PreviousPage 3 of 22Next →