4 ms·
I do not understand the five-second minimum delay I got..... nginx and obs paired at a 1s key frame interval still gives a five-second delay on football matches
by unlog 4y ago
I do not understand the five-second minimum delay I got..... nginx and obs paired at a 1s key frame interval still gives a five-second delay on football matches, which is very annoying because you heard your neighbors before actually watching the footage, and no, this is not solved by any streaming service.
- keerthiko 4y agoThere is a stream delay setting in OBS — check your settings on the source setup running OBS. 5 seconds sounds like the default, you could potentially set it to 0. This is in place to a) head off any network dropped frames and allow OBS to backfill the stream buffer. At 0 seconds you may see slightly more quality drop from 1080p to 480p if your stream source upload bandwidth is unreliable than if you left this at 5+ seconds. b) for game streamers of competitive multiplayer video games, to protect them from "stream cheating" where an opponent recognizes their in-game ID and then looks at their stream to get additional information in the middle of a match (eg: looking at their hand in poker). With many games a 5 second delay nullifies this issue, and many streamers set it to more like 30-45 seconds depending on the game they play.
- nodja 4y agoI've tried to deal with this many years back, I think the latency is inherent in the protocols, there's layers like 2/3 layers of buffers that by the time the frame reaches the client several seconds have already passed. When I was researching this back then, there was only one protocol in OBS that was fast enough, but it was proprietary. It was called FTL and was what Mixer used (twitch competitor, now dead). Mixer was so fast that I could move my mouse from the stream window, latency was probably very similar to cloud gaming services today. Not sure what you're trying to attempt, but if you want low latency webrtc will probably be the best performing because it's p2p, however there's no official support for it in OBS and client support is weird, you might have to cook up some webrtc webpage just for it, but if you want sub 100ms latency it's the way to go. The alternative that OBS supports is SRT, but I have never used it, the arch wiki claims it has ~1s delay. Maybe the 1to1 version lowers it and it seems simple enough if you can use ffplay/vlc where you're watching. SRT Project Page: https://github.com/Haivision/srt https://github.com/Haivision/srt Live Server Implementation: https://github.com/Edward-Wu/srt-live-server https://github.com/Edward-Wu/srt-live-server 1to1 Client Implementation: https://github.com/Haivision/srt/blob/master/apps/srt-live-transmit.cpp https://github.com/Haivision/srt/blob/master/apps/srt-live-t...
- hammycheesy 4y agoSelf-promo: there is an open source implementation of Mixer's FTL protocol :) https://github.com/Glimesh/janus-ftl-plugin https://github.com/Glimesh/janus-ftl-plugin
- unlog 4y agoThanks for the info I will check it out!