The direct answer: NOALBS is automation around a stack; StreamableRun is the managed show layer

NOALBS is a real and useful IRL tool. Its official README describes a cross-platform executable that watches bitrate or connection data from an ingest server and uses OBS WebSocket to switch OBS scenes when a source is low bitrate or disconnected. It can be the missing bit of glue in a DIY chain: phone or encoder to a relay, relay statistics to NOALBS, NOALBS to a local or self-hosted OBS, then OBS to a platform.

That does not make NOALBS an IRLToolkit-style server or a Cloud OBS alternative on its own. It does not provide the relay, the OBS host, the ingest endpoint, the public output, destination management, or an operator workspace. Those are adjacent jobs you choose and run. NOALBS decides what an already-running OBS instance should do when the stat source meets the rules you configured.

StreamableRun is the better default only when you need the managed production and operations layer: Cloud Hosted OBS, contribution ingests, prepared fallback scenes or clips, destination control, remote producer access, and stream-drop protection in one workflow. Pick NOALBS when you deliberately want to own the assembly and behavior of an OBS/relay stack. Pick StreamableRun when the public show needs to stay operable while the field source is having a bad day. Neither answer is a universal replacement for the other.

NOALBS and StreamableRun: what each one actually owns

This comparison was checked against NOALBS's official GitHub project and release record, OBS's official WebSocket materials, and StreamableRun's public product surface on July 12, 2026. It is a workflow comparison, not an uptime, price, or protocol benchmark. Test the exact app version, plan, relay, encoder, and destination you intend to use.

Decision pointStreamableRunNOALBS
Primary jobManaged Cloud Hosted OBS workflow for ingests, scenes, fallbacks, destinations, recordings, and remote production.DIY rules engine that reads relay statistics and controls an OBS instance through OBS WebSocket.
Where the program runsCloud Hosted OBS is the production layer; the field device contributes a source.Your local, remote, or self-hosted OBS instance. You supply its host, scenes, relay, output, and access path.
Low bitrate and source lossA producer can keep the program on a rehearsed recovery, privacy, clips, or backup-source scene while the contribution feed recovers.Thresholds and retry rules can select configured OBS scenes after the chosen stats backend reports a condition.
Chat and bot controlUse the managed production workflow for scene, ingest, and destination operations; verify any account-specific control features before show day.Official commands include restricted start, stop, scene, source, trigger, and status actions for its supported Twitch/Kick chat configuration.
Operations and securityThe stream team operates a managed application surface rather than maintaining an OBS host and relay stack.You own app updates, the OBS host, firewall and remote access, relay status endpoint, secrets, bot token, scenes, logs, and recovery.

NOALBS can switch an OBS scene; it does not itself make a phone connection healthier, bond carriers, relay a stream, or guarantee that a public destination remains live. Treat the monitored metric, the OBS program, and the platform output as separate boundaries.

What NOALBS does well, and its current project state

The DIY appeal is not fake. NOALBS gives an operator explicit rules: normal, low, and offline scene names; bitrate, SRT RTT, and SRT RTT-offline triggers; a retry count; and an option to return to normal immediately on recovery. Its example config says the poll loop checks once a second, so five retries is roughly five seconds before a switch. That is a sensible way to stop a single noisy sample from causing a public cut, provided you tune it on the route you will actually walk.

It is also not fair to call the project stale. As of this article's July 12, 2026 check, the official repository's latest release is v2.18.0, published July 6, 2026. That release added a WebSocket statistics backend: a relay can push bitrate, RTT, and connection updates to NOALBS instead of waiting for HTTP polling, with an immediate evaluation path and optional fast-degrade/delayed-recovery behavior. The repository is public, MIT-licensed, not archived, and still has open issues. That means active development, not a promise that every relay, OBS release, or custom config will be painless. Pin a release and rehearse upgrades privately.

NOALBS's official configuration lists backends for NGINX, Node Media Server, Nimble, SRT Live Server, BELABOX, MediaMTX, RIST, Xiu, an OBS source, and now a documented WebSocket stats shape. That list is a stats-integration list, not a claim that NOALBS runs those relays or turns every endpoint into interchangeable transport. Your relay needs to expose the supported data in the way the selected backend expects. Confirm that before building a show around a dashboard screenshot.

The two signal paths: automation beside OBS versus Cloud OBS production

A NOALBS path usually looks like this: phone app, camera encoder, or local OBS → your RTMP, SRT, SRTLA, RIST, or other relay path → stats page or stats WebSocket → NOALBS → OBS WebSocket → OBS scene selection → one or more platform outputs. The video does not pass through NOALBS. The app observes a number or connection state from the server and asks OBS to cut to a scene. That separation is useful because you can change the relay or the source while keeping the scene rules, but it is also why every arrow needs its own test.

A StreamableRun path is phone, Moblin, IRL Pro, local OBS, or hardware encoder → StreamableRun contribution ingest → Cloud Hosted OBS program with main, backup, privacy, BRB, and clips scenes → Twitch, Kick, YouTube, or a configured custom RTMP destination. The field device does not need to own the public show. A remote producer can keep the program on a deliberate screen while the source is repaired or swapped.

For a phone on a shaky route, SRTLA and other bonding-aware workflows can help the contribution path, while RTMP remains a common compatibility path. Do not collapse that into one feature. NOALBS can react to relay stats when its selected backend supplies them; it does not aggregate carrier links. StreamableRun's value is on the managed production side after the contribution reaches it: keep the program, scenes, team controls, and destinations out of the phone. Check the particular mobile app and account ingest documentation for the protocol your show uses.

Bitrate-triggered switching is not the same as disconnect protection

NOALBS gives you a clean automation model: the relay reports sustained low bitrate, high SRT RTT, or offline status; the configured retry rule is met; OBS switches to the matching low or offline scene. That can save an operator from watching one graph forever. A good setup makes the low scene visually honest and lightweight, and keeps a separate privacy scene outside the automatic list so a deliberate safety cut is not immediately undone by a recovery event.

But a scene switch happens inside the OBS instance NOALBS controls. It does not prove that OBS is still publishing, that the relay's stats are fresh, that the platform accepted the output, or that the fallback media is healthy. A phone can be connected to a relay while its audio is unusable. A relay can report low bitrate while the platform output is the actual failure. A metric is a trigger, not an incident diagnosis.

StreamableRun should be chosen when the recovery requirement is broader: preserve the viewer-facing program with fallback scenes or clips, switch to another prepared ingest, and let a producer work on destination and scene decisions remotely. That is the difference between a useful automatic cut and a managed recovery workflow. Either setup still needs a test in which you kill the field feed, restore it, force poor conditions, and verify what viewers—not just the control screen—see and hear.

Bot commands and OBS WebSocket are powerful enough to deserve access rules

NOALBS can be great for a small trusted team. Its documented commands include admin-only start, stop, record, profile/collection, scene, source, and stream-server controls; moderators can change trigger thresholds and request source or server information; the public can be allowed a bitrate command. The app supports Twitch and Kick chat configuration, but its README says it will only respond in chat when using Twitch. Do not assume a chat control works the same way on every platform or give it broad permissions because a test account behaved nicely.

OBS WebSocket is the control plane underneath that. OBS includes obs-websocket by default from OBS Studio 28 onward, and the project's official documentation recommends password protection because the endpoint can remotely control OBS. Keep NOALBS and OBS WebSocket on a private network or a narrow, authenticated access path when possible. Do not expose port 4455 to the public internet, paste its password into a stream setup screenshot, or put production secrets in a config repository.

The same restraint applies to the NOALBS bot token, relay stats URLs, stream keys, SRT passphrases, and remote-desktop credentials. Use a separate bot account where your platform flow allows it, limit who is in NOALBS's admin list, disable public controls unless a command has a real audience benefit, rotate leaked credentials, and keep the .env file out of backups and screen shares. Managed production does not remove the need for role discipline; it reduces the number of servers and control bridges your team has to secure and upgrade.

Best fits, failure boundaries, and the honest cost method

Choose NOALBS when you already have an OBS machine and a stats-capable relay that you want to own, your operator is comfortable maintaining both, and scene automation is the actual missing piece. It is especially appealing for a private lab, a specialized relay workflow, or a technically experienced team that wants exact trigger behavior and is willing to carry the on-call burden. That is real DIY control, not a compromise.

Choose StreamableRun when a public IRL show needs a managed Cloud Hosted OBS control workflow: a field source, a backup source, a safe scene, destination routing, remote production, and a recovery path a second person can run. That is where StreamableRun is superior based on its verified managed-production surface. It is not superior because an automation executable is bad; it is superior when assembling and operating all of the adjacent pieces is not the job you want during a live show.

Price this as an operating cost, not just a subscription line. For NOALBS, include the OBS host or remote machine, relay/VPS or service, storage and bandwidth if relevant, bot setup, monitoring, backups, update time, incident time, and a spare path when the host dies. For StreamableRun, include the plan and any required destinations, then verify plan limits and workflow fit directly with the product before committing. Finally price the rehearsal: a system that has not survived a private failure drill does not yet have a useful recovery claim.

  • NOALBS failure boundary: the app can be healthy while the stats source, relay, OBS host, OBS output, or platform output is failing elsewhere.
  • StreamableRun failure boundary: the field device and its mobile network still need a tested contribution path; Cloud OBS cannot make an unreachable phone send video.
  • Shared boundary: a wrong scene, missing audio, expired key, bad destination setup, or over-broad operator access can still hurt the show. Rehearse people as well as software.

Move from NOALBS carefully, or keep a private parallel test

Do not migrate by changing the public output five minutes before a stream. First inventory the jobs NOALBS currently owns: the relay stats source, thresholds, retry timing, normal/low/offline scene names, privacy behavior, chat permissions, OBS profile, destinations, and the person who receives alerts. This catches the common mistake of copying scenes but forgetting that NOALBS was also hiding a broken source or changing a threshold from chat.

Next, build the StreamableRun version privately. Add the primary phone or encoder ingest, a backup phone or local OBS ingest if the show has one, and explicit main, low-quality, BRB, privacy, clips, and recovery scenes. Add each destination, then test every destination independently. Keep NOALBS and its current output off the public route during this phase; a parallel private destination or unlisted test is enough to compare audio, scene timing, reconnection, and operator controls without splitting the audience.

Run a short soak test with a real route. Force the primary source offline, return it, make its bitrate deliberately poor, mute or break audio, switch to backup, and stop one destination while leaving another running. Write down who sees the condition, who changes the scene, and who verifies the viewer player. Only then choose a cutover. If your DIY stack continues to solve a special relay need, it can stay upstream as a clearly owned technical component; do not keep duplicate public outputs just because they used to exist.

Troubleshoot the layer that is actually broken

NOALBS will not change scenes: confirm OBS WebSocket is enabled, the host, port, and password match the config, the current OBS scene is one NOALBS is allowed to manage, and the selected backend can read current stats for the right publisher. Then read the NOALBS logs. Do not keep lowering thresholds until something moves; a bad stats URL or wrong scene spelling will not become healthy at 200 kbps.

NOALBS changes scenes but viewers still see a bad stream: inspect the OBS output and platform ingest separately. Make sure the fallback scene has a working media source and sane audio, then verify that OBS is still streaming and the destination has not rejected or throttled the output. If the phone source recovered but remains visually stale, test the source's reconnect behavior inside OBS before blaming the switching rule.

A StreamableRun source or destination looks wrong: separate contribution health from program health. Check the mobile app or encoder first, then the named ingest, then the active Cloud OBS scene and audio, then each destination player. Put the public show on a safe prepared scene before changing an unstable field device. Random restarts across every layer erase the evidence you need to find the actual failure.

Other resources

Use these primary sources to verify current NOALBS release behavior, its configuration expectations, OBS WebSocket control behavior, and the StreamableRun product surface before changing a live setup. The release record matters because self-hosted automation should be tested as a versioned component, not treated as a permanent script.

Quick answers

Frequently asked questions

Is NOALBS an IRLToolkit or Cloud OBS alternative?

Not by itself. NOALBS is an OBS automation tool that relies on a separate OBS instance and relay or statistics source. It can be part of a DIY IRL stack, but it does not supply the managed Cloud OBS, relay, destination, and production-control workflow that a hosted production service provides.

Can NOALBS work with SRTLA or RTMP?

NOALBS's README says it can react to sources delivered through RTMP, SRT, SRTLA, RIST, and other paths when the configured server backend supplies the relevant status data. Verify the exact relay/backend integration and stats format before relying on it. NOALBS does not itself relay the protocol or bond a connection.

Does NOALBS automatically fix a disconnected phone stream?

No. It can use the status it receives to switch OBS to a configured scene, which can protect the program visually. The phone, app, relay, OBS source, and platform output still need their own reconnect and recovery behavior.

Should I expose OBS WebSocket so a remote producer can use NOALBS?

Usually no. Keep OBS WebSocket behind a private network or tightly controlled authenticated access path, use its password protection, and avoid putting the port or password in public guides, screenshots, or shared chat. Remote production needs deliberate access boundaries, not an open control port.

Can I run NOALBS and StreamableRun together?

Yes, for a private parallel test or when a separately owned upstream relay has a real technical reason to remain. Give each component a clear job and keep only one planned public output. Do not add a second live path without rehearsing how it affects scenes, audio, destinations, and incident ownership.