6 ms·
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
by morsch 6y ago
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, they don't exist anymore. Even Steam Play Together, ostensibly built for this purpose, wasn't low latency enough in my limited experience (this really surprised me, so maybe I'm doing it wrong).
The easiest solution, use the share desktop function of whatever video conference tool, almost works, but they universally seemed reduce the frame rate, which is ok for presentations but unsuitable for games (also, no audio). My solution was to output OBS to a virtual webcam device and use Jitsi Meet. A bit roundabout, but it worked wonderfully.
Ideally, I'd forgo the DO droplet, and just run everything locally. 20% of a small droplet is even less of a modern desktop computer's CPU. Which leaves upload bandwidth for broadcast, which depends on your connection and how many people you need to be able to stream to.
- ossopite 6y agoI've played local multiplayer games over parsec (https://parsec.app/ https://parsec.app/), it works great and is pretty much turnkey
- morsch 6y agoYes, I forgot about Parsec, that's a good suggestion. I remember trying it, and not getting it to do what I want, unfortunately I don't remember why. I think I was stuck in the "Arcade", when all I wanted was to share my desktop or one window. It certainly looks like exactly what I was looking for.
- Warchamp7 6y agoArcade is like a quick match menu for finding a game to play. You can share any screen or desktop from the main app and have friends connect
- chrisweekly 6y agoParsec looks great, but I'd be grateful for metrics (bc who knows what "low-latency" really means).
- entropicdrifter 6y agoIn 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 cable internet provider, but we also sometimes play with my brother-in-law who lives another 40 miles from me (~60 miles from my brother) and we can all play games like Streets of Rogue together from my brother's PC without issue.
- chrisweekly 6y agoWow, 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.)
- Warchamp7 6y agoHave you tried Discords GoLive sharing?
- naikrovek 6y agoThat requires that viewers use Discord, which may cause problems for some, even though Discord is huge anymore. The posted solution requires only a web browser for the viewer, and OBS for the streamer.
- GRVYDEV 6y agoYup that was the point :) In the future configuration of the server will become easier as well!
- rapsey 6y agoWhy do you need such low latency for live streaming? For the majority of cases 10s latency does not really matter.
- morsch 6y agoWe were playing the Jackbox series of games together, the other folks were participating in the game with their phones. There are various minigames with 5-50 second timers, so 10s latency is a lot. Some of the games have a special streaming mode which extends the timers, but not all of them and it's best played with regular timers anyway. Obviously for true action games, you absolutely need sub-second latency, preferably <100ms.
- rapsey 6y agoThen you require a video conference solution not a live streaming one. Similar but not the same. edit: Why am I down voted? A live stream is a broadcast, a conference is an interaction.
- ahofmann 6y agoBecause they said that they tried it and it hasn't worked well.
- hnlmorg 6y agoExcept for Jackbox Party games it's by far the best fit. It's even the recommended way to play online by Jackbox themselves and I've hosted Jackbox via both Zoom and MS Teams and it worked perfectly fine that way. Other online games wouldn't fair so well but the dropped frame rate in Jackbox Party games does not hamper the playability of their games at all.
- morsch 6y agoThey recommend doing it that way, because what else are they going to do, post a tutorial on how to do it via OBS? I don't think so. Maybe Zoom and MS Teams offer(ed) a better fidelity. For one thing, Zoom lets you share desktop audio along with the screen. In fact, apparently these days, Jitsi can do that too, that definitely wasn't possible when I tried it early last year. At that time, at least, the experience OBS -> Jitsi was definitely much better than just Jitsi. (And note that all of this was in Linux.)
- adrianN 6y agoTwitch has a low latency mode https://help.twitch.tv/s/article/low-latency-video?language=en_US https://help.twitch.tv/s/article/low-latency-video?language=...
- Xeago 6y agoThe latency on twitch has been around 4 seconds or 30 seconds. I believe their low-latency doesn’t get quite close to being nu able to collaborate.
- gmemstr 6y agoFrom my experience it largely depends on the stream - for some I can easily get <2 seconds, others will be >10s. I'm not sure what causes this difference (ingest server?).
- craftkiller 6y agoI have a pretty low-latency setup for that but it wasn't completely turnkey. First you set up nginx with the rtmp module[1]. Then you can use OBS to stream your desktop to the RTMP server. I set OBS to send a keyframe every 1 second. On the client side you have two options: 1. For low-latency game streaming, I would suggest watching through the RTMP stream. The RTMP module for nginx will re-broadcast your RTMP stream to all the clients that connect. I was able to get a latency of around 1 second by watching through: ffplay -fflags nobuffer -loglevel verbose rtmp://my-servers-ip-address/live/test I would expect better latency from a webrtc solution like Lightspeed but 1 second latency is pretty good for only having to install nginx. 2. HLS/Dash. The nginx RTMP module will also expose the video stream as HLS/Dash which is just cutting the stream up into files and serving them over http. Personally I set my segment size to 1 second and my playlist size to 4 seconds. Through this I get approximately a 4-second latency. Not great for competitive multiplayer games like Jackbox but if you're playing something like a world building game with friends then its acceptable. The real benefit to HLS/Dash is you can easily watch it through an html5 web video player or even a chromecast[2]. Bits you can add on top: - I put my HLS/Dash directories in a tmpfs mount for speed and reduced wear on the drives - I put the nginx stream module in front of my rtmp module so that it can handle TLS (making it RTMPS) [1] https://github.com/arut/nginx-rtmp-module https://github.com/arut/nginx-rtmp-module On FreeBSD it was just a checkbox in the nginx port, so the work involved may vary by distro. [2] I haven't attempted to play the RTMP stream through chromecast so for all I know, that might be supported too. All I've tested so far on chromecast is an HLS stream using the "castnow" CLI program. The Shaka player, which is a web player, will support chromecasting an HLS stream from your browser but I've only tested their demo videos, not my personal streams, and I had to use official google chrome, not chromium, but it worked on both android and linux.
- nemetroid 6y ago> Even Steam Play Together, ostensibly built for this purpose, wasn't low latency enough in my limited experience (this really surprised me, so maybe I'm doing it wrong). I've had good experience with Steam Play Together, mostly playing Unrailed (a hectic game in the style of Overcooked). I definitely forget about the remote connection while playing. We were 1000 km apart, but had quite a good connection (100 Mbit, 15-20 ms ping).
- ReaganFJones 6y agoI 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.