Live data from Hacker News

Show HN: Lightspeed – subsecond, open source, self hosted stream from OBS

github.com

21–30 of 141 posts

Re: Show HN: Lightspeed – subsecond, open source, self hosted stream from OBS

#21
post #18
post #13

Earlier quoted context omitted.

This project is pretty cool, I’ll tinker around with it tomorrow. As an aside, I’ve noticed you’re building out your own stream protocol stack (FTL/LightSpeed). What’s the reasoning there? Seems slightly inconvenient to have to “hack” OBS to make the output stream work. Will FTL support be merged into OBS in the future? If you’re just trying to avoid the latency of RTMP then I might suggest considering the existing S…

Also, you’re not “hacking” obs. oBS is compiled with the FTL sdk you just have to tell it to use it.

Got it. I’m fresh on FTL, first I’ve really dug into it so apologies for the ignorance. I’m in the industry of stream transport and mostly work with SRT.

Looking forward to tinkering with this!

Re: Show HN: Lightspeed – subsecond, open source, self hosted stream from OBS

#22
post #21
post #18

Earlier quoted context omitted.

Also, you’re not “hacking” obs. oBS is compiled with the FTL sdk you just have to tell it to use it.

Got it. I’m fresh on FTL, first I’ve really dug into it so apologies for the ignorance. I’m in the industry of stream transport and mostly work with SRT. Looking forward to tinkering with this!

No worries :) enjoy and please let me know what you find!

Re: Show HN: Lightspeed – subsecond, open source, self hosted stream from OBS

#24
post #13
post #2

Welcome to Project Lightspeed. This is a project that allows anyone to easily deploy their own sub-second latency live-streaming server. In its current state you can stream from OBS [1] and watch that stream back from any desktop browser. This has been a super fun project which has taught me more than any other project I have done. It uses Rust, Go and React and can be deployed fairly easily on a very lightweight ser…

This project is pretty cool, I’ll tinker around with it tomorrow. As an aside, I’ve noticed you’re building out your own stream protocol stack (FTL/LightSpeed). What’s the reasoning there? Seems slightly inconvenient to have to “hack” OBS to make the output stream work. Will FTL support be merged into OBS in the future? If you’re just trying to avoid the latency of RTMP then I might suggest considering the existing S…

SRT seems like an overly complicated solution that has already been solved by KCP protocol.

Re: Show HN: Lightspeed – subsecond, open source, self hosted stream from OBS

#25

Very cool! If you want casual people to use this, I would look into simplifying the setup. Either by providing compiled binaries instead of having to set up go, rust etc oneself. Or by containerizing something.

a Docker-Compose recipe would be very welcome.

Re: Show HN: Lightspeed – subsecond, open source, self hosted stream from OBS

#26
post #4
post #2

Welcome to Project Lightspeed. This is a project that allows anyone to easily deploy their own sub-second latency live-streaming server. In its current state you can stream from OBS [1] and watch that stream back from any desktop browser. This has been a super fun project which has taught me more than any other project I have done. It uses Rust, Go and React and can be deployed fairly easily on a very lightweight ser…

A very interesting project, can you elaborate more on how it is getting sub second latency and why youtube/twitch seem to have more than a few seconds of delay.

HTTP video streams are split into segments and those segments are delivered whole. Larger segments are easier to cache and scale to bigger number of viewers. The other factor is that youtube and twitch spend more CPU time on compression to achieve lower bitrates.

Re: Show HN: Lightspeed – subsecond, open source, self hosted stream from OBS

#27

Very cool! If you want casual people to use this, I would look into simplifying the setup. Either by providing compiled binaries instead of having to set up go, rust etc oneself. Or by containerizing something.

a Docker-Compose recipe would be very welcome.

This is planned and will hopefully be coming soon :)

Re: Show HN: Lightspeed – subsecond, open source, self hosted stream from OBS

#28

Very cool! If you want casual people to use this, I would look into simplifying the setup. Either by providing compiled binaries instead of having to set up go, rust etc oneself. Or by containerizing something.

I’d love to write an installer that would install and run everything for you

Re: Show HN: Lightspeed – subsecond, open source, self hosted stream from OBS

#29
post #8
post #4

Earlier quoted context omitted.

A very interesting project, can you elaborate more on how it is getting sub second latency and why youtube/twitch seem to have more than a few seconds of delay.

YouTube and twitch use RTMP which operates over TCP. This means that each time we send a packet we need to ensure that it’s been received which adds latency overhead. Lightspeed uses the FTL protocol which operates over udp thus reducing the latency overhead

So assuming you have packet loss - you just get a paused/blank stream until the flow continues? How does it handle any network issues.

Would it ever be possible to route two stream via different paths to the client and let the client just accept the first packet from either and drop the other in order to add some redundancy to delivery?

Re: Show HN: Lightspeed – subsecond, open source, self hosted stream from OBS

#30
post #8

Earlier quoted context omitted.

YouTube and twitch use RTMP which operates over TCP. This means that each time we send a packet we need to ensure that it’s been received which adds latency overhead. Lightspeed uses the FTL protocol which operates over udp thus reducing the latency overhead

So assuming you have packet loss - you just get a paused/blank stream until the flow continues? How does it handle any network issues. Would it ever be possible to route two stream via different paths to the client and let the client just accept the first packet from either and drop the other in order to add some redundancy to delivery?

This wouldn’t actually solve anything since WebRTC can handle packet loss. The loss is going to be coming from OBS -> Server which unfortunately there isn’t much I can do about that since it uses UDP
Post reply on HN