Dropped frames are often the root cause of many live stream playback issues. In this guide we’ll go through some of the common causes of dropped frames and how to Fix FPS Drop in OBS, however most of this advice can be applied to any live stream encoder. If you play Roblox and you want to fix lagging in roblox then we have another guide.
- What is Frame drop in Steaming OBS
- Possible causes of dropped frames
- Quick Fix FPS Drop in OBS
There are two ways to tell if your stream is potentially dropping frames. The first is if viewers are complaining about a stuttering live stream. In some cases this could be an issue with live stream platform you’re using, or the issue could be on your end. FPS Unlocker can helps to remove FPS Cap
The second way of telling is in OBS itself. When you’re broadcasting a live stream, at the bottom of the OBS window you can find information about the stream status and if the stream is dropping any frames.
What is Frame drop in Steaming OBS
Your streaming program creates audio and video frames. It compresses these and then sends them out after they’ve been compressed according to the frame rate that you’ve set your program to. In order to send them out, it invokes an individual function called “send” for each video/audio packet that’s compressed when they’re created. This “send” function is socket function implemented by the operating system itself (it’s a Microsoft/Apple/Linux function — not a function created by your streaming program). If your connection doesn’t have issues, the “send” feature will complete immediately, with virtually no delay. Also, you won’t experience frame drops.
If, however, that “send” process isn’t completed in time (due to network congestion of any kind) the audio or video packets that you’re trying to transmit will begin to accumulate in a queue say, waiting for the moment to send them off. In the meantime, you’re encoding data at whatever number of frames per second. And you can’t sit and wait for the process to run out until the memory is exhausted at some point, and then something’s got be sacrificed. When they reach an exact point (about 700 milliseconds of backup data) this will cause the phenomenon known is known as “dropping frames” that is, when you’re forced to drop video frames to clear that buffered packet queue. This is the reason your stream may see what appears to be video stuttering as it occurs.
In the event of random internet congestions, having to drop frames following an amount of traffic is essential and essential to ensure stability of the stream and reduce latency.
What is the significance of it to ensure stability?
- In the event of sudden congestion, if it did not it could cause bursting because all the backed-up packets attempt to be sent out once the congestion is gone and could cause a decrease in stability of the network, possibly leading to an increase in network instability.
- In the event of constant congestion (i.e. that you have set the bitrate more than what your upload is able to maintain at a steady rate) this will wait for audio or video packets to be uploaded until you run out of memory. This is something that should be prevented.
What is the significance of latency?
- In the event of a spontaneous congestion, let’s assume it goes back for 5 seconds. If there weren’t any frame drops, your viewers would then be delayed by several seconds. This happens nearly every time you experienced congestion too.
- If there is constant congestion, what viewers see is constantly delayed and delayed, rendering it less of live streaming any more. This, and the memory running out thing due to the queue of packets with video and audio data compressed would increase in size.
In order to ensure stability on the network and reduce latency, after around 700 milliseconds of backed up audio/video data the system decides to begin dropping frames. If it was less than that, it could make it more susceptible to congestion. If it was higher, it might cause problems with latency or stream delay and so it attempts to maintain the number at a manageable level.
If it’s occurring frequently this is usually an indication that your bitrate may be too excessive for you to keep up in a steady manner.
Frame drops don’t occur because of a glitch or defect within the program, or a glitch in the program. They occur because program is calling”send” function. When the program calls “send” function. The function is too slow and the queued audio/video files begin to pile up, waiting to be sent out up to a volume that they have to be separated to ensure stream latency and stability.
It is only due to network congestion. Streaming software does not lose frames due to any other reason aside from network congestion.
What is the cause of network congestion?
An unstable connection to server, poor or unstable ISP as well as connection with an ISP are the most frequent, in less frequent instances, it could be a problem with routers or modems. In extremely rare instances it could be a different issue with the system or a few very unusual networks or driver. This might helps you to solve Fix FPS Drop in OBS while streaming
Possible causes of dropped frames
Pay attention to the words that are above: “maintain with stability”. The speed at which you transmit audio or video packets should be stable and consistent to ensure latency as well as additional stability, as mentioned in the previous paragraph. This doesn’t indicate that your internet connection isn’t able to upload at a faster rate however it does mean that it’s not able to upload at a set rate while maintaining stability. It is possible to have 30mb/s and be able maintain 3mb/s in a steady rate. Streaming software must be capable of uploading their content with a stable, consistent rate or else there could be congestion, which could result in frame dropand we need to Fix FPS Drop in OBS by going through each possible causes.
Possible reasons for dropped frames are:
- Your computer’s firewall/anti-virus/security software interferes with the connection
- You are behind a firewall or proxy that moderates your connection’s upload speed
- Your router is the slow, old, faulty, or misconfigured
- Somebody else or another of your devices on your network is using a lot of your upload bandwidth. For example:
- There is a large file being uploaded
- There are torrents actively being seeded on your network
- Somebody else is streaming
Quick Fix FPS Drop in OBS
1. Reduce the resolution of your streams
In general, the higher the stream resolution, the higher the CPU usage. Reducing the resolution to a smaller size may help reduce frame drops.
Alternatively if you have a newer Nvidia graphics card, you can try turning on hardware encoding. This offloads most of the processing onto the GPU.
2. Reduce the bitrate of your streams
If your upload bandwidth isn’t sufficiently matched to your bitrate, then you may experience stuttering. This occurs because OBS can’t maintain the specified bitrate, and will constantly be changing the bitrate. You want to find a bitrate that you can stream consistently, as any spikes in bitrate will likely cause stuttering.
3. If live streaming over WiFi try using an ethernet cable
Live streaming over WiFi can be incredibly unreliable as the signal strength can change constantly during the stream. Try broadcasting a live stream whilst using an ethernet cable connected directly to the modem. If this stops the frame drops, then you likely have WiFi issues.
If WiFi is the only option, then it’s recommended to find a WiFi channel that is the least congested, using an app like ‘WiFi Analyzer’ available on Android. Additionally make sure your WiFi channel is not set to ‘Auto’.
4. Check your firewall settings
In some cases firewalls could be blocking the port required for RTMP. Make sure outbound TCP port 1935 is accessible.
5. Broadcast to a server that is closest to you
Depending on the live streaming platform you’re using, you can likely broadcast to a range of servers in different locations. In general you’re best to stream to a server that is geographically closest to where you’re located.
6. Enable network optimizations
The optional network optimizations setting makes OBS use an event-based API instead of non-blocking sockets. While this should technically behave no differently to the regular network code, some users have reported that this helps with their dropped frames or disconnection issues. The network optimizations code also includes detailed logging of network events which can help when you’re posting a log file.
- On Windows only, go to
Settings -> Advanced -> Networkand click Enable network optimizations.
- I hope all these solution works to Fix FPS Drop in OBS while streaming and you’re ready to go live!