Why your stream takes time to reach viewers
Stream delay happens in layers. Your encoder (OBS, Streamlabs, or similar software) compresses video and sends it to your streaming service. That service ingests it, processes it, and distributes it to viewers' devices. Each step adds latency. On top of that, your internet upload speed, encoder settings, and the distance between you and the service's server all affect how fast the stream reaches people watching.
You cannot eliminate delay entirely — a few seconds is normal and expected. But you can shrink it from 10–15 seconds down to 3–5 seconds by adjusting settings in your streaming software and on your internet connection. The trade-off is usually picture quality or stability, so you will need to find the balance that works for your setup.
Key Takeaways
- Lower your bitrate in OBS or Streamlabs to reduce encoding time, though this will make your stream look softer at the same resolution.
- Use a faster encoder preset (like "Fast" or "Ultrafast" instead of "Medium" or "Slow") to process frames quicker, at the cost of file size.
- Connect to a streaming server geographically close to you, which most platforms let you choose in settings.
- Check your upload speed with a speed test tool — if it is below 5 Mbps for 1080p streaming, reduce resolution or bitrate to match what your connection can handle.
- Enable hardware encoding (NVIDIA NVENC, AMD VCE, or Intel QuickSync) if your graphics card supports it, which offloads work from your CPU and speeds up encoding.
Adjust your encoder preset for faster processing
Your encoder preset controls how much time the software spends optimizing each frame before sending it. In OBS, this setting lives under Settings > Output > Streaming, in the "Encoder Preset" dropdown. The options usually run from "Ultrafast" to "Slow". Ultrafast encodes frames almost instantly but produces larger files. Slow takes longer but compresses better, which means lower bitrate for the same quality — but also more delay.
For lower latency, move the preset toward Ultrafast or Fast. You will see the file size grow and the picture quality drop slightly, but the stream will reach viewers faster. Start with "Fast" and watch a test stream. If delay is still too high and your CPU is not maxed out, try "Ultrafast". If your CPU usage hits 80 percent or higher, move back to "Medium" and adjust bitrate instead.
Lower your bitrate to reduce encoding load
Bitrate is the amount of data your encoder sends per second, measured in kilobits per second (Kbps). Higher bitrate means better picture quality but also more data to process and send. Lower bitrate means faster encoding and less strain on your connection, but the image will look softer or blockier, especially during movement.
Start by checking what bitrate your streaming service recommends for your resolution. Twitch suggests 6000 Kbps for 1080p at 60 frames per second, 4500 Kbps for 1080p at 30 fps, and 3500 Kbps for 720p at 60 fps. If your upload speed is lower than these targets, reduce bitrate first before lowering resolution. In OBS or Streamlabs, go to Settings > Output > Streaming and change the "Bitrate" field. Lower it by 500–1000 Kbps at a time, test a stream, and watch for quality loss.
Switch to hardware encoding if your GPU supports it
Hardware encoding offloads the compression work to your graphics card instead of your CPU. This frees up processor power and usually encodes faster than software encoding. Most modern graphics cards support it: NVIDIA cards use NVENC, AMD uses VCE, and Intel integrated graphics use QuickSync.
In OBS, go to Settings > Output > Streaming and change the "Encoder" dropdown from "x264" (software) to your GPU option — usually "NVIDIA NVENC H.264" or "AMD VCE H.264". In Streamlabs, the setting is under Settings > Stream > Encoder. Test a stream and check your CPU usage. It should drop noticeably. Hardware encoding does not always produce the same picture quality as software encoding at the same bitrate, so compare a test stream side by side. If quality is acceptable, the speed gain is worth it.
Choose a server location close to you
Your streaming service routes your stream through regional servers. The farther away the server, the longer data takes to travel. Most platforms let you pick which server to use. On Twitch, go to Settings > Stream > Primary Ingest Server and choose the one closest to your location. YouTube Live has a similar option under Stream Settings > Advanced Settings > Stream Server. Streaming to a server in your own country or region will shave off a second or two of delay.
If you are unsure which server is closest, run a speed test to the server address. Twitch publishes a list of ingest servers and their IP addresses on their website. Use a command-line tool like ping or traceroute to check latency to each one, then pick the server with the lowest response time.
Check and optimize your internet upload speed
No software setting will help if your internet connection cannot handle the bitrate you are sending. Use a speed test tool like Speedtest.net or Fast.com to check your upload speed. Write down the number in Mbps. If you are streaming at 6000 Kbps (which is 6 Mbps), your upload speed should be at least 10 Mbps to leave headroom for network hiccups.
If your upload speed is lower than your bitrate target, reduce bitrate or resolution. You can also move your router closer to your streaming computer, use a wired ethernet connection instead of Wi-Fi, or contact your internet provider to see if a faster plan is available. Wi-Fi is convenient but adds delay and instability — a wired connection will always be faster and more reliable for streaming.
Reduce resolution or frame rate as a last resort
If you have already lowered bitrate and switched to a faster encoder preset, and delay is still too high, the next step is to stream at a lower resolution or frame rate. Streaming at 720p instead of 1080p cuts the amount of data in half. Streaming at 30 frames per second instead of 60 also cuts processing load. Both changes will be visible to viewers, but they do reduce delay and CPU usage significantly.
In OBS, go to Settings > Video > Base Canvas Resolution and change it to 1280x720. For frame rate, go to Settings > Video > Common FPS Values and pick 30. Test a stream and see if the delay improves. You can always raise these back up later if your internet or hardware improves.
Frequently Asked Questions
What is a normal stream delay?
Most streaming platforms add 3–8 seconds of delay by design. This is normal and unavoidable. If your viewers are seeing 10–15 seconds of delay, your settings are likely too high for your connection. Anything under 5 seconds is considered low latency for most platforms.
Does lowering bitrate make a big difference in delay?
Lowering bitrate reduces the amount of data your encoder has to process, which can shave off a second or two. The bigger factor is usually your encoder preset. Switching from "Medium" to "Fast" will have a more noticeable effect on delay than dropping bitrate by 1000 Kbps.
Will a wired connection really help?
Yes. Wi-Fi adds latency and packet loss, both of which slow down your stream and make it less stable. A wired ethernet cable from your router to your streaming computer will reduce delay and make your stream more reliable, especially if you are far from the router or in a crowded Wi-Fi area.
Can I stream at 1080p 60fps with a slow internet connection?
Not reliably. 1080p 60fps at decent quality requires at least 8–10 Mbps upload speed. If your connection is slower, stream at 720p 60fps or 1080p 30fps instead. Check your upload speed first, then choose resolution and frame rate that match what your connection can handle.
What if my CPU usage is already high?
Switch to hardware encoding if your GPU supports it. If you are already using hardware encoding, lower your resolution or frame rate. If that is not an option, reduce bitrate — lower bitrate means less data to process, which lowers CPU usage.