# Which of three failures you have
Before changing a setting, look at the exact words OBS is showing you. It uses different wording for different failures, and all of it comes from OBS's own interface strings.[6]
- The status bar reads "Disconnected, reconnecting in N second(s) (attempt N)". You were live, the connection dropped mid-stream, and OBS is retrying by itself. Most of this guide is about this case. When it gets back in, the status bar says "Reconnection successful".[6]
- A "Failed to connect" box appears when you press Start Streaming. You never went live, so reconnect settings are irrelevant. If the box says "Could not access the specified channel or stream key", OBS reached a server that did not accept the stream. OBS's own text asks you to double-check the key and adds: "If it is correct, there may be a problem connecting to the server."[6] Our Twitch stream key FAQ covers finding and resetting it.
- OBS says it is still streaming, but Twitch shows you offline or viewers see a frozen picture. OBS only starts reconnecting after a network write actually fails,[7] so for now it does not know anything is wrong. Look at what Twitch received instead: Twitch Inspector charts the session from the ingest side, the view Twitch describes as how your bitrate looks "once they arrive at our ingest server".[2]
# What the OBS log line tells you
Every drop leaves the same shape in the log: a low-level socket error, then Disconnected from and the server address, then Reconnecting in N seconds.. with two full stops. The first two lines come from OBS's RTMP output, the last from its output core.[7][3] Here is a real sequence from the OBS forums thread quoted above, trimmed to the lines that matter.[13]
17:15:17.659: RTMPSockBuf_Fill, remote host closed connection
17:15:17.660: Output 'adv_stream': Reconnecting in 3.04 seconds..
17:15:22.146: Output 'adv_stream': Reconnecting in 4.63 seconds..
17:15:27.913: Output 'adv_stream': Reconnecting in 7.04 seconds..
17:15:36.087: Output 'adv_stream': Reconnecting in 10.70 seconds..
17:15:46.793: [rtmp stream: 'adv_stream'] Interface: Intel(R) Ethernet Controller (3) I225-V (ethernet, 1000↓/1000↑ mbps)
17:15:48.055: [rtmp stream: 'adv_stream'] Connection to rtmp://ingest.global-contribute.live-video.net/app (52.223.192.188) successful
17:35:35.665: WriteN, RTMP send error 10060 (4097 bytes)
17:35:35.666: [rtmp stream: 'adv_stream'] Disconnected from rtmp://ingest.global-contribute.live-video.net/app
17:35:35.666: Output 'adv_stream': Number of dropped frames due to insufficient bandwidth/connection stalls: 750 (1.1%)
17:35:35.666: Output 'adv_stream': Reconnecting in 2.00 seconds..Three parts of that excerpt are worth finding in your own log.
- The number after "RTMP send error". On Windows it is a Winsock error code. 10060 is WSAETIMEDOUT, which Microsoft describes as a case where "the established connection failed because the connected host has failed to respond". 10054 is WSAECONNRESET: "An existing connection was forcibly closed by the remote host."[12] If a burst of errors appears in the same millisecond, the first code is the one that describes the failure.
- The "Interface:" line. On Windows, OBS normally logs which network adapter the connection to Twitch actually used, whether it is "ethernet" or "802.11" (Wi-Fi), and the link speed. If that adapter has counted transmit or receive errors, OBS adds a warning that starts "Interface has non-zero error counters".[7] It is the fastest way to find out a stream went out over Wi-Fi when you believed the cable was in use.
- The waits. 3.04, 4.63, 7.04, 10.70 seconds: each is about 1.52 times the one before. After the successful reconnect, the next drop starts again at 2.00 seconds. That is the rule in OBS's source, explained in section 4.[3]
| Code in the log | What OBS tells you | Where to look first |
|---|---|---|
| 10054 (connection reset) | The connection was reset by the peer. This usually indicates internet connection problems between you and the streaming service. | The route to the ingest server. Lower bitrate, then try a different Twitch server |
| 10053 (connection aborted) | The connection was aborted. This usually indicates internet connection problems between you and the streaming service. | Your own machine. Microsoft says the software in your host computer aborted it: security software, VPN client, or a local time-out |
| 10060 (timed out) | The connection timed out. Make sure you've configured a valid streaming service and no firewall is blocking the connection. | Mid-stream: an upload that stalled. At start: a firewall or a wrong server address |
| 10013 (permission denied) | The connection was blocked. Check your firewall / anti-virus settings to make sure OBS is allowed full internet access. | Firewall or antivirus rules for OBS |
| 11001 (host not found) | Hostname not found. Make sure you entered a valid streaming server and your internet connection / DNS are working correctly. | DNS, or a mistyped custom server address |
| 10065 (no route to host) | Error reaching host. Make sure that the interface you have bound can access the internet and that the streaming service supports the address family you selected (see Settings → Advanced). | Bind to IP and IP Family under Settings, Advanced, Network |
# Dropped frames are not what disconnects you
Most guides treat dropped frames and disconnects as one problem, and they often do share a cause: an upload that cannot keep up with the bitrate. In OBS's code they are two separate events with separate triggers, and knowing that changes how you read the stats window.
OBS drops frames when the backlog of video waiting to be sent grows past a threshold. For the first group of frames it is allowed to discard, the default is 700 milliseconds.[7] Dropping is how OBS tries to keep the connection: shed data and catch up. The stream is flagged as disconnected only when a write to the network socket fails.[7] That write can take a while to fail. OBS's bundled RTMP library sets a 15-second send timeout on the socket,[9] so on OBS's default network path a connection that stops moving completely can hang for up to that long before OBS gives up on it. That is our reading of the source, not something OBS documents. It fits the forum log: at the moment of disconnect, 750 dropped frames, or 1.1% of the output.[13]
# Twitch's 90 seconds against OBS's retry clock
Your viewers will see this message for up to 90 seconds while you troubleshoot and reconnect. Also, the recorded VOD will be continuous to ensure the best viewing experience.— Twitch Help, "Disconnect Protection", read 17 September 2026
Disconnect Protection is a Twitch setting, not an OBS one. Twitch's instruction is to "toggle on the Disconnect Protection preference" on the Stream Settings page and to make sure Temporary Backup Image is enabled.[1] OBS's built-in Twitch entry links to dashboard.twitch.tv/settings/stream when it asks for your stream key, which is the settings area to open.[14] Twitch lists OBS Studio, Streamlabs OBS, XSplit, Twitch Studio and the Twitch mobile app as supported, and still says "It’s best to run a quick test yourself". If you do not get back in time, "your stream will end as normal."[1]
Now the other clock. With Automatically Reconnect ticked under Settings → Advanced, OBS defaults to a Retry Delay of 2 seconds and Maximum Retries of 25.[4][5] The first wait is the Retry Delay. After every further failed attempt, OBS multiplies the wait by a factor between 1.5 and 1.55, picked at random when the stream output is created. Each wait is capped at 15 minutes, and a successful reconnect resets the sequence.[3] That is the 3.04, 4.63, 7.04, 10.70 run in the forum log.
| Retry Delay | Attempts starting within 90 s | Last attempt starts after |
|---|---|---|
| 1 s (minimum) | 8 to 9 | 59 to 75 s |
| 2 s (default) | 7 | 64 to 75 s |
| 3 s | 6 | 62 to 70 s |
| 5 s | 5 | 66 to 72 s |
| 10 s | 4 | 81 to 87 s |
| 20 s | 2 | 50 to 51 s |
| 30 s (maximum) | 2 | 75 to 77 s |
Two practical points follow. First, keep Retry Delay low. If you raised it to 20 or 30 seconds to give the router more time, only two attempts start inside the window. Second, Maximum Retries has almost nothing to do with Disconnect Protection. At the default of 25, OBS keeps trying for roughly three hours of accumulated waiting,[3] long after Twitch has ended the stream. A reconnect that lands after the window has closed is going live again, not continuing the old broadcast.
# Fixes, in the order the log points to
- Turn on Disconnect Protection first, whatever the cause. It does not prevent drops. It turns a short one into a slate instead of an ended stream and a broken VOD.[1]
- Read the Interface line. If it says 802.11, the stream is on Wi-Fi, and Twitch's advice is to use a "wired (ethernet) connection over wireless whenever possible".[2] If it says ethernet but OBS warns about non-zero error counters,[7] test another cable, port or adapter driver before you call your ISP.
- Reset or timed out mid-stream: lower the bitrate, then change the server. Drop 200 to 500 kbps as Twitch suggests.[2] If resets continue well below your upload speed, change the ingest server. Twitch notes that when "a well-configured stream that used to work fine starts to show instability", switching servers changes the network path.[2] Our guide to choosing a Twitch ingest server covers how to pick one.
- Aborted or blocked: look at security software and VPNs. OBS's message for a blocked connection names firewall and antivirus directly,[8] and Twitch lists "anti-virus, proxies" among the software causes of an unstable stream.[2]
- Undo network experiments. Under Settings → Advanced → Network, Enable network optimizations and Enable TCP pacing are both off by default.[4] OBS's own tooltip for TCP pacing says it "may increase the risk of dropped frames on unstable connections".[6] If you turned either on while chasing this problem, turn it off and test one stream.
- Drops on Twitch, but not on YouTube from the same PC. That pattern has one specific setting worth ruling out, IP Family. Our Twitch Inspector guide walks through it with the thread where it was solved.
- Short congestion bursts: consider dynamic bitrate. OBS describes it as: "Instead of dropping frames to reduce congestion, dynamically changes bitrate on the fly." Its tooltip also warns: "When the bitrate drops, it can take up to a few minutes to restore."[6]
A stable stream keeps the viewers you already have. Finding new ones is the other half
Fixing disconnects stops a live channel from losing its audience mid-broadcast. Getting discovered in the first place is the problem Streamrise works on: Twitch viewers paced across a session rather than dropped in a spike, so a channel climbs a viewer-sorted directory instead of appearing from nowhere.
- 2021 delivering Twitch viewers since
- 60-day drop refund
- No password required
# Changes that look related and are not
- Raising Maximum Retries. The default of 25 already keeps OBS trying for hours past Twitch's 90-second hold.[4][3] More retries do not bring the stream back any sooner.
- Turning off Automatically Reconnect. With it off, OBS passes a retry count of zero to the output,[11] and a zero count means a disconnect simply ends the stream.[3] You trade a recoverable drop for a guaranteed one.
- Turning on network optimizations to fix a Twitch drop. It exists only on Windows, it is off by default, and OBS disables it by itself for RTMPS connections with the log line "Disabling network optimizations, not compatible with RTMPS".[7] It changes how OBS writes data to the socket. It cannot fix a bad route, a failing cable or a firewall rule.
# What a drop costs the channel
Twitch describes the feature by what it protects: "This feature helps you keep your stream online and viewers engaged during network disconnects."[1] A viewer who opens your channel during an unprotected drop finds it offline. With protection on, that viewer sees the slate, and the VOD stays in one piece. The streamer with nine VOD files for a one-hour broadcast was looking at the unprotected version.[13]
If you already have fragments, our guide to Twitch VODs covers highlights and how long past broadcasts are kept. For stream problems that are not disconnects, such as bitrate spikes, dips and an overloaded encoder, start with our broadcast health guide and OBS encoding overloaded with low CPU usage.
# The bottom line
When OBS keeps disconnecting from Twitch, do two things before you touch bitrate or buy a router. Turn on Disconnect Protection on Twitch, so that a short drop is a 90-second slate instead of an ended stream and a split VOD. And leave OBS's Retry Delay at 2 seconds or lower, so its growing waits actually land inside that window.
Then let the log choose the fix. The Interface line tells you whether you were on a cable at all. The code after "RTMP send error" separates a route problem from a local software problem from a stalled upload. A reconnect that fails with -3 every time is a stream key or server issue, not your Wi-Fi.
Every number in this guide can be checked without an account. The reconnect timing and error messages are in OBS's public source at the 32.2.2 tag, the 90 seconds are in Twitch Help, and the error codes are in Microsoft's reference. The attempt counts are our arithmetic on that source, and the callout under the table says what they leave out.
# Frequently asked questions
Why does OBS keep disconnecting from Twitch?
OBS marks a stream as disconnected when a write to the network socket fails, and it logs the socket error just before the "Disconnected from" line. The causes Twitch itself lists are an upload running at its limit, Wi-Fi, a bad network path to the ingest server, and software such as antivirus or proxies. The error code in your log narrows it down: a reset points at the route, an abort at software on your own PC, a timeout at a stalled upload. Turn on Twitch Disconnect Protection while you find the cause.
What is Twitch Disconnect Protection and how do I turn it on?
It is a Twitch setting that keeps a dropped stream online behind a slate for up to 90 seconds while your software reconnects, and keeps the VOD continuous. Twitch says to toggle on the Disconnect Protection preference on the Stream Settings page and make sure Temporary Backup Image is enabled. Twitch lists OBS Studio, Streamlabs OBS, XSplit, Twitch Studio and the Twitch mobile app as supported. If you do not reconnect within 90 seconds, the stream ends as normal.
What should the OBS Retry Delay be for Twitch?
Leave it at the default of 2 seconds, or lower it to 1. OBS waits the Retry Delay before the first attempt and multiplies the wait by 1.5 to 1.55 after each failure. At 2 seconds, up to seven attempts can start inside Twitch's 90-second Disconnect Protection window. At 1 second, eight or nine. At 20 or 30 seconds, only two. These counts ignore the time each attempt takes, so treat them as a maximum.
Do dropped frames cause OBS to disconnect?
Not directly. In OBS's code, frames are dropped when the unsent backlog passes a threshold, 700 ms by default for the first group of frames, and that is meant to keep the connection alive. A disconnect is flagged only when a socket write fails. Both usually come from the same upload problem, which is why they show up together, but a disconnect can also happen with very few dropped frames.
Why do I have several VODs from one stream?
Because the stream went offline and came back. Without Disconnect Protection, or when the reconnect takes longer than 90 seconds, Twitch ends the broadcast, and the reconnect starts a new one. Twitch says that with Disconnect Protection on, the recorded VOD is continuous. Turn it on, keep the OBS Retry Delay low, and fix the cause the log points to.
What does "Failed to connect to server" mean in OBS?
It means OBS never went live, so it is a different problem from a mid-stream disconnect. Check the log for the reason. A timed-out or blocked connection usually points to a firewall or antivirus rule. "Hostname not found" means DNS or a mistyped server address. "Could not access the specified channel or stream key" means a server answered but did not accept the stream, so check the stream key first.