State diagram: NOALBS switches OBS from live to low and on to brb when the bitrate drops below the thresholds, and back again on recovery. Only several bad readings in a row (retryAttempts) trigger the switch.

What does NOALBS do?

NOALBS stands for "Nginx OBS Automatic Low Bitrate Switching". It regularly checks the stats of your RTMP, SRT or SRTLA server and controls OBS through its built-in WebSocket interface.

If the incoming bitrate drops or the mobile stream disappears completely, NOALBS automatically switches to a fallback scene you prepared. Once the signal is stable again, it can switch back to the live scene.

Phone / encoder
       ↓
RTMP, SRT or SRTLA server → stats → NOALBS → OBS WebSocket
                                             ├→ live
                                             ├→ low
                                             └→ brb
The biggest benefit: when your cellular connection or gear drops out, viewers don't watch a frozen picture for minutes. They automatically see the brb scene you prepared. BRB stands for "be right back" and describes the temporary state better than "offline".

Contents of the guide

1. The three building blocks

1. Stream stats

NOALBS reads the bitrate and connection state from the ingest server. For that, the right stats URL and the right stream name have to be entered.

2. Decision logic

The values it reads are compared against limits you set. Only after several bad readings does a scene switch happen.

3. OBS WebSocket

NOALBS picks the scene you want through OBS WebSocket 5.x. By default, OBS uses port 4455 for this.

2. Scenes and states

NOALBS states and their matching OBS scenes
NOALBS stateTypical OBS sceneUsed when
normalliveThe mobile stream is stable and above the bitrate you set.
lowlowThere's still a signal, but the bitrate no longer supports a clean picture.
offlinebrbThe stream is temporarily disconnected or has practically no usable data. offline is only NOALBS's technical name for the state.

The names in the config have to match the names of your OBS scenes exactly. Upper and lower case and spaces matter.

Optional scenes

Consistent IRL4YOU scene names: start, live, low, brb, pause, ende and refresh. All names are lowercase. An extra OBS scene named offline isn't intended.

3. Understanding the thresholds

Thresholds for bitrate and SRT round-trip time
SettingMeaningExample
lowBelow this bitrate, the stream counts as degraded.1000 kbit/s
offlineBelow this bitrate, the offline state is detected technically and OBS switches to the brb scene.100 kbit/s
rttHigh SRT round-trip time above which the stream counts as bad.1500 ms
rttOfflineVery high SRT round-trip time above which it switches to offline.3500 ms
Don't copy them blindly: the right values depend on resolution, encoder bitrate, server and the reaction time you want. An 8 Mbit/s stream needs different limits than a 2 Mbit/s stream.

4. Important switches in the config

Important NOALBS switches
FunctionWhat it does
bitrateSwitcherEnabledTurns automatic scene switching on or off.
onlySwitchWhenStreamingSwitches scenes only while OBS itself is streaming to a platform. For tests, false is often easier.
instantlySwitchOnRecoverSwitches back to the live scene right after recovery, without waiting through all the check attempts again.
retryAttemptsNumber of consecutive bad readings before the switch. With one check per second, five attempts is roughly five seconds.
autoSwitchNotificationAllows notifications about automatic switches once the chat connection is set up.
offlineTimeoutCan end the outgoing OBS stream automatically after a longer offline period.
recordWhileStreamingStarts a local OBS recording together with the live stream.

5. Which stream server does NOALBS monitor?

NOALBS supports several stats sources. What always matters is that the NOALBS machine or container can reach the address.

Nginx-RTMP from our guide

"streamServer": {
  "type": "Nginx",
  "statsUrl": "http://SERVER-IP:8081/stat.xml",
  "application": "live",
  "key": "YOUR_STREAM_KEY"
}

SRT live server in the glowf1sh container

"streamServer": {
  "type": "SrtLiveServer",
  "statsUrl": "http://127.0.0.1:8181/stats",
  "publisher": "publish/live/YOUR_LONG_KEY"
}

SRTLA through Redefined Streaming

NOALBS can also be used with an SRTLA relay from Redefined Streaming. The mobile stream then goes through the Redefined Streaming service to OBS, while NOALBS watches the stats provided for your own relay or feed.

In NOALBS you enter the stats URL and stream ID from the Redefined Streaming area. As soon as NOALBS can read bitrate and connection state from that, the automatic switches between live, low and brb work exactly as with your own SRTLA server.

Important: don't use the normal playback address for OBS as the stats URL. What counts is the NOALBS or stats data that Redefined Streaming provides for your SRTLA feed.

Other supported sources include Node Media Server, Nimble, BELABOX, MediaMTX and WebSocket-based stats.

6. Connecting to OBS

OBS production desk for automated scene switching

In OBS, turn on the WebSocket server under Tools → WebSocket Server Settings. NOALBS needs the host, port and password.

"software": {
  "type": "Obs",
  "host": "127.0.0.1",
  "password": "YOUR_OBS_WEBSOCKET_PASSWORD",
  "port": 4455
}

If NOALBS runs on the same computer as OBS, 127.0.0.1 is the easiest choice. If NOALBS runs on a different machine, the OBS WebSocket interface has to be reachable over the network and protected by a strong password.

7. Chat commands and extras

The chat connection is optional. Automatic scene switching works without a chat bot. With a Twitch or Kick connection set up, additional commands are available depending on platform and version.

Optional chat commands
CommandPurpose
!bitrateShows the currently detected bitrate.
!switch SZENESwitches manually to an OBS scene.
!privacyActivates the prepared privacy scene.
!refreshTries to rebuild the media source through the refresh scene.
!trigger WERTChanges the low-bitrate threshold while running.
Protect your credentials: OAuth tokens and passwords never belong in screenshots, public downloads or on a web page.

8. Example: what happens when the connection drops?

  1. Your phone stream runs steadily at 6,000 kbit/s. OBS shows live.
  2. The cellular connection gets weak and falls below 1,000 kbit/s.
  3. NOALBS waits out the configured check attempts and switches to low.
  4. The stream or your gear drops out for a while. NOALBS internally detects offline and switches OBS to brb.
  5. The phone reconnects and delivers a stable bitrate again.
  6. NOALBS switches back to live. The media source restarts when the scene activates.

9. How to test your setup

  1. Open OBS and check the WebSocket connection.
  2. Start NOALBS with onlySwitchWhenStreaming: false at first.
  3. Start the phone stream and watch for the switch to live.
  4. Cut the bitrate sharply as a test and check low.
  5. Stop the sender completely and check the switch to brb.
  6. Start the sender again and check that the picture and the live scene come back.
  7. Only then add chat, automatic stream starts or more servers.
A good base setup: first test stats → OBS → three scenes until they work reliably. Extra bots and commands come afterward.

10. Limits and important notes

Current reference: the official NOALBS documentation on GitHub.

11. Quick checklist before your first use

12. NOALBS FAQ

Do I have to run NOALBS on the OBS computer?

Not necessarily. If NOALBS runs on the same computer as OBS, 127.0.0.1 is the easiest choice. If NOALBS is on a different machine, the OBS WebSocket interface has to be reachable over the network. Give it a strong password in that case.

Why is NOALBS stuck on the brb scene?

Most of the time the stats URL or the stream name is wrong. NOALBS then reads no bitrate and treats the stream as offline. Check both first, and whether the NOALBS machine can reach that address at all.

Which thresholds should I set?

The example values on this page are only a starting point. What fits depends on resolution, encoder bitrate, server and how fast you want it to react. Try the values with your own stream before you go live with them.

Does NOALBS work without a chat connection?

Yes. Automatic scene switching also works without a chat bot. The chat connection is optional. It adds commands and notifications, depending on platform and version.

Can I use NOALBS with an SRTLA relay?

Yes. Whether it's an SRTLA relay from Redefined Streaming or your own SRTLA server, NOALBS only needs to be able to read bitrate and connection state from the stats. You'll find more on building your own under setting up an SRTLA server.

Thanks to the NOALBS project

A heartfelt thank you to the developers and contributors of NOALBS. Their work gives the IRL streaming community an open solution that detects stream dropouts and automatically switches OBS to a suitable scene.

If you want to use the project, look at the source code, report bugs or follow its development, you'll find everything in the official project:

Visit the official NOALBS project on GitHub

IRL4YOU is an independent information site and is not officially affiliated with the NOALBS project.

NOALBS and RTMP directly on Windows

If you want to run Nginx-RTMP, NOALBS and OBS together on one Windows PC, there's a separate guide for that. It also explains why the historical Windows server package and the current NOALBS version have to be treated separately.

NOALBS setup service & consulting

Want to use NOALBS but still unsure about connecting to your RTMP, SRT or SRTLA server? We help you set it up and tune the configuration to your own streaming workflow.

Last technically reviewed: · Updated: · Published by IRL4YOU