Live data from Hacker News

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

github.com

131–140 of 141 posts

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

#131

Earlier quoted context omitted.

Interactivity with viewers. The best streaming experience for both streamer and viewers is when they can interact, and any latency over 500ms or so makes that a true challenge if you're trying to have a conversation where context is important. Being an introvert that doesn't like it when people pay attention to them at all for any reason, I haven't really experienced this, but that's what everyone says.

There is no realtime interaction on stream anyway if you have more than a handful active chatter. And lag is high by default if the streamer is doing more than just chatting, like playing a game, building some stoff or reacting to a video. So which experince are you talking about?

I don't think you know just how low latency WebRTC is.

CPU usage on the streaming PC does not increase latency unless the PC is severely under spec. CPU usage increases CPU usage. That's it. Encoding usually happens on a GPU, and scene composition happens on the CPU, which is either a zero-copy routine or a very fast memcpy.

My point is that from what you're saying, it seems clear to me that you are not aware of just how good WebRTC is at this kind of thing.

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

#132
post #100

Earlier quoted context omitted.

Any way to push non-OBS content to Lightspeed? I've been trying to run a sub-second latency game-livestream (ala twitch plays), and I'd rather run it on a headless server without OBS.

It should work, as long as you're sending it to the server over FTL[1], which is a pretty new and uncommon protocol developed by the now-defunct Mixer. 1. https://github.com/mixer/ftl-sdk

It's kind of amazing how active that GitHub org is given that Mixer is gone...

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

#133
post #42
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…

Awesome! I was looking for something like this when trying to play a local multiplayer game via the Internet in an early lockdown. There are, or were, no good turnkey solutions for this. Twitch and Youtube have 5-10s latency, which is often not good enough. Mixer promised (and presumably delivered) ~1s latency using the FTL protocol you use, but they had a wait list of a couple of days or weeks, and of course now, th…

I confirm that Mixer delivered on the sub-second latency claims. As far as I know, FTL's performance is in line with WebRTC's performance. As long as the servers in-between are fast, a good WebRTC implementation should match it.

Unfortunately, with Mixer's death, I don't think there are any major turnkey players left with low latency sub-second streaming. I'd probably use Discord as a primary alternative which uses WebRTC with Discord's servers in-between.

If your home connection has the bandwidth to support the load of multiple users, a service that does direct P2P like Parsec will probably give the best performance.

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

#134
post #115

This is awesome! I wanted to make something like this too after Mixer shut down and I didn't have good options anymore to stream low latency gameplay to friends. But I was too lazy to do it properly. I ended up with this hack: https://i.imgur.com/jDeMxly.png Redirect the "Record" button of obs to make ffmpeg output to an http endpoint, which is a small server that just forwards any bytes it receives to connected cons…

What do you use for your small server for forwarding bytes?

https://pastebin.com/iywLhh8Y

Don't expect much. I threw this entire thing together as quickly and lazily as possible.

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

#135
post #20

Earlier quoted context omitted.

I’ll get on that first thing tomorrow!

OBS runs on windows as well, this only runs on Linux? Can I run this in a VM of Linux easily - and have all deps there, including OBS? (I dont know anything about OBS just yet - I just looked at it and DL'd it now... Incidentally - I met the the producer of the podcast "moneypot" on the plane a few days ago and we talked a ton - I asked about how would one get into podcasting/streaming if they havent yet - and she me…

lightspeed seems to build and run on windows just fine. i haven't gotten a stream through quite yet but it looks to be my networking configuration's fault.

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

#136
post #43

Could this mix multiple obs streams from different origins? My friends and I put on a NYE stream party but it was actually a massive faff finding something that could mix multiple remote streams into one. Would love to be able to self host something to do it A simple switch is fine in this case, no overlays or anything

Obs-ndi. Output all the sources you need over NDI. Use them as sources in OBS.

Is there some easy to run server software for this? Looks interesting but seems to only run on obs desktop?

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

#137

Could this mix multiple obs streams from different origins? My friends and I put on a NYE stream party but it was actually a massive faff finding something that could mix multiple remote streams into one. Would love to be able to self host something to do it A simple switch is fine in this case, no overlays or anything

i've dabbled in OBS' code and actually this should be possible. you might need to modify the "Media Source" element to add the GUI controls for FTL-specific stuff, but all the protocol support seems to already be in there and the actual media transport is RTP, which is already supported because the Media Source supports RTMP streams.

you'd have each of your different origins stream to their own private FTL paths, then in your OBS you'd create media sources from each of those paths then push your final, mixed stream to the public FTL path.

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

#138

Earlier quoted context omitted.

Parsec looks great, but I'd be grateful for metrics (bc who knows what "low-latency" really means).

In home streaming with Parsec for me with a MoCA/Ethernet connection typically has 1-2ms of network latency. Over wifi in-home is more, closer to 20-30ms with a mediocre laptop wifi card. Playing online with my brother who lives 35 miles away using an Ethernet connection I typically see 15-25ms latency, not much worse than a 'meh' bluetooth controller. It's likely worth noting that my brother and I both have the same…

Wow, that is better than I'd hoped! Thanks so much for your response! (I know it's just an anecdote, but bc I'm looking to see what it's perf limits might be, even one data point like this is very helpful.)

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

#139
post #43

Earlier quoted context omitted.

Obs-ndi. Output all the sources you need over NDI. Use them as sources in OBS.

Is there some easy to run server software for this? Looks interesting but seems to only run on obs desktop?

Do you mean on the broadcast side? Personally I'm using another instance of OBS to broadcast a few scenes as individual streams from my Linux workstation and my MacBook (right click scene or source -> add filter -> NDI Broadcast)

I've seen these apps on iOS though

Broadcast the camera: https://apps.apple.com/us/app/ndi-hx-camera/id1477266080

Broadcast the screen: https://apps.apple.com/us/app/ndi-hx-capture/id1501247823

I'm sure Android etc have similar. NDI is (more closely related to?) a protocol rather than a program though, there's bound to be something that speaks it for what you need

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

#140
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…

The ingress components is interesting to me. It takes the OBS stream, via the FTL protocol, & converts it into something for WebRTC to use, yes? What drove you to use FTL protocol for ingestion? Did you consider alternatives like RTMP, which I believe OBS also supports? I hand't heard of FTL before. Apparently it was a protocol used in Microsoft's now-defunct game-streaming service, Mixer. I found some discussion of…

I went with FTL instead of RTMP for the sake of latency. Also FTL gives me a stream of RTP packets which can go directly into WebRTC meaning I have to do 0 processing of the packets where as with RTMP I would have to convert them into RTP packets. Also SRT is interesting however it is wildly complicated and does not use RTP meaning I would have to figure out how it works and then convert whatever it gives me into RTP packets for WebRTC
Post reply on HN