Free tool
OBS bitrate overlay maker
Show your live bitrate and RTT on stream, straight from your SRT or SRTLA server's stats. Design it here, test the connection, and add one file to OBS.
Preview
Start from a look
A look changes the font, colours, icon and background. Your server and warning level stay as they are.This still uses the example stats address. That works when the stats server runs on the same machine as OBS, like an IRLhosting server. Otherwise, set your own under Server.
The link saves the design and server address, but not the stream key or API key. This browser remembers them for next time.
Add it to OBS
- Download the overlay and save it somewhere it will stay.
- In OBS, add a Browser source, tick Local file and pick the file.
- Set the width and height to 400 × 60, then drag it where you want it.
- Changed the design? Download again, save over the old file, and click Refresh in the source.
How the overlay works
The overlay is a small web page that runs inside an OBS browser source. Every couple of seconds it asks your stream server's stats page how your stream is doing, and shows the bitrate it's receiving. When the stream drops it switches to your No signal text, and when bitrate falls below your warning level it changes colour, so viewers (and you, on your return feed) can see a connection struggling before it drops.
Everything is in the one file: your design, the server address and the code. It doesn't load anything from IRLhosting, so it keeps working even if this page changes. The only things it fetches are your font from Google Fonts and the stats from your server.
Supported stats servers
| Server | Example stats address | Shows |
|---|---|---|
| SRT Live Server (SLS, irl-srt-server) | http://your-server:8181/stats with the publisher, like publish/live/feed1 | Bitrate, RTT, dropped packets |
| BELABOX cloud | http://use.srt.belabox.net:8080/your-stream-id | Bitrate, RTT, dropped packets |
| OpenIRL | http://your-server:8080/stats/play_your-id | Bitrate, RTT across bonded links, dropped packets |
| IRLhosting | Your IRLhosting server's stats address (ask on Discord if you can't find it) | Bitrate, RTT, dropped packets |
| RIST receiver | The receiver's stats page in librist's format, like http://your-server:8681/stats | Bitrate and RTT, added up across bonded links |
| MediaMTX | http://your-server:9997/v3/paths/get/mystream | Bitrate |
| NGINX RTMP | http://your-server/stat with the application name | Bitrate |
| Node Media Server | http://your-server:8000/api/streams/live/feed1 | Bitrate |
The stats server has to let browsers read its stats: it must send an Access-Control-Allow-Origin header. The Test connection button tells you if it doesn't.
Coming from the old editor?
Links you saved from the old bitrate overlay editor open here with your design. They now open with your settings even when the old editor lost them, which happened when the link contained a +. Overlays you already downloaded keep working, but the new file no longer needs unpkg.com for its icons and won't freeze on an old bitrate when the server stops answering, so it's worth downloading again.
FAQ
Bitrate overlay questions
Why does my overlay always say NO SIGNAL?
Either the stream isn't live, the stream key or publisher doesn't match what the server reports, or the browser can't read the stats page. Use Test connection: it tells you which one it is.
What does CORS mean for my stats server?
Browsers only let a page read another site's data if that site allows it with an Access-Control-Allow-Origin header. If Test connection says your server doesn't send it, add the header in the stats server's config or in the web server in front of it.
Does the overlay work with SRTLA bonding?
Yes. SRTLA bonds your connections into one SRT stream on the server, and the overlay reads that stream's bitrate from the server's stats, so it shows the total coming in across all your links.
Is my stream key safe?
The key is saved inside the overlay file on your computer and in this browser, and never sent to IRLhosting. The share link leaves it out, so you can send your design to someone safely.
What size should the browser source be?
400 by 60 pixels suits the default 22px text. Make it wider for bigger text or when you show RTT and dropped packets too. The preview shows the exact size to set.
More free tools
Finish your setup
NOALBS config generator
Build a config.json that switches OBS to your BRB scene when bitrate drops.
OpenSRT, SRTLA and RIST URL builder
Build stream URLs for Moblin, IRL Pro, OBS and BELABOX, with a latency helper.
OpenDisconnect protection
What viewers see when your signal drops, and how a cloud OBS keeps you live.
OpenBitrate drops shouldn't end your stream
A Cloud OBS server switches to your BRB scene when the bitrate drops and back when it recovers, with an SRTLA receiver built in.