Clear to Air

The control room for esports broadcasts. Pairs with your OBS. Ships with the graphics.

Free and open source, for tournament organisers who broadcast on OBS. Runs on Windows.

Early software. Tested against the built-in simulators and on one real OBS setup; testing with real games is in progress.

In the box

8
game packs, each with its own overlays, match model and simulator
5
games with a live data feed from the publisher driving the graphics
8
OBS scenes, built from the control room and installed into OBS
Free
AGPL-3.0+ for the app, MIT for the packs and the overlay renderer
How it works

It watches the things that fail quietly on a tournament stream.

Graphics are the easy part. Grassroots broadcasts usually go wrong because a source stopped, a caster's audio dropped, or someone changed the OBS scenes after rehearsal. Clear to Air checks for those before and during the show.

Preflight

A lamp that tells you whether the show is ready.

Preflight checks the OBS connection, the eight show scenes, the overlay browser sources, the audio in every scene, that the graphics sit above the game capture, that no rehearsal source is on program, that the sample event is gone, that no simulator is feeding the graphics, the replay buffer, the recording tracks and the free disk space.

It runs every ten seconds and on demand. The lamp is green when nothing fails and nothing warns, amber when there are only warnings, and red when something fails. Every problem comes with a fix written for the operator: which tab, which button, or which OBS setting.

Drift detection

Shows you where OBS no longer matches the collection.

Somebody "just tweaked one thing" in OBS after rehearsal. Drift detection compares what OBS is running with the collection Clear to Air generates: the scenes, the sources in each scene, whether each one is visible, the browser-source URLs and the audio.

Every difference is listed by scene and source. Read the list before you reinstall the collection, because a reinstall replaces changes made by hand in OBS.

Watchdogs

A caster on camera with no audio is caught in about ten seconds.

Four watchdogs run every five seconds: a caster's camera on program while their audio is silent, a game feed that stopped sending data, the replay buffer off while a series is live, and a recording drive filling fast with little space left. Each one shows up as a preflight warning until it clears.

For the silent caster it acts by itself: it reloads that person's audio source, at most once a minute. If the voice still does not come back, it tells you to have them rejoin with the same invite link.

Graphics

Series bug, lower thirds, ticker and full-frame cards for every game.

Each pack has four pages that OBS loads as browser sources: in-game (series bug, ticker and lower third), full-frame cards, standby and the caster desk. The cards cover head-to-head, rosters, bracket, scoreboard, MVP and schedule, plus what the game's format needs: map veto for CS2 and VALORANT, the draft for Dota 2 and LoL, standings for Apex, the set for fighting games, match stats for EA FC and game-by-game for Rocket League.

Packs are HTML and CSS under the MIT licence, as is the shared renderer they draw with, so you can restyle one, build your own, and share or sell it. Event colours, logo and font are set once in Setup and flow into every page.

Live data

Five games feed the graphics directly. The rest get a manual desk.

Where the publisher provides a live feed, it drives the scores, clocks and player stats with no typing: CS2 and Dota 2 through Game State Integration, Rocket League through its Stats API, League of Legends through the Live Client Data API, and Apex through the LiveAPI in private matches.

VALORANT has no live API, so it gets a manual round desk. After a map you can paste the end-of-game scoreboard text; Clear to Air reads the player rows, shows them by team, and applies them when you confirm. Fighting games and EA FC use the manual desk too, and every game can import teams and brackets from start.gg. Each game has a simulator, so you can rehearse a full match with nobody playing.

Runs on your OBS

It does not replace OBS. It stands next to it.

Clear to Air never sits between OBS and your encoder. A small agent runs on the broadcast PC, talks to OBS over OBS's own websocket, serves the overlays as local browser sources, and runs preflight, drift detection and the watchdogs on that machine.

The control room is a web page the agent serves at 127.0.0.1:7700. Remote seats are built and in beta: a producer or scorer on another laptop drives the desk through a relay that the broadcast PC dials out to. You can run that relay yourself today; a hosted one is coming.

  • Local first. If the venue internet drops, the agent, the overlays and the show keep running. One exception: VALORANT map art loads from valorant-api.com, so it will be missing offline.
  • Nothing installed inside OBS. No plugin to break on the next OBS update. It uses obs-websocket, which ships with OBS.
  • A normal OBS scene collection. Clear to Air builds it and installs it into OBS's own collection folder. From there OBS treats it like any other collection.
Game packs

Eight games. One desk.

Each pack is a set of overlays and a matching match model: series formats, map pools, veto or draft, roster sizes. Switch game and the whole control room follows.

CS2
Counter-Strike 2
Live data · GSI
VALORANT
Riot Games
Manual · scoreboard paste
Rocket League
Psyonix
Live data · Stats API
LoL
League of Legends
Live data · Live client
Dota 2
Valve
Live data · GSI
Apex
Apex Legends, private matches
Live data · LiveAPI
FGC
Street Fighter 6, Tekken 8, Guilty Gear Strive, Mortal Kombat 1
Manual · start.gg
EA FC
EA Sports FC
Manual · start.gg

Green: a live feed from the publisher drives the graphics. Brass: the operator drives them from a manual desk built for the game's format. Game names belong to their publishers.

Free and open source

Free to use, free to change, yours to run.

Clear to Air costs nothing. There is no licence key, no watermark and no account. Run it on your own PC for as many shows as you like, for as long as you like.

AGPL-3.0+The app
The agent, the control room and the relay, under the GNU Affero GPL, AGPL-3.0 or later. Use it, change it and run it for free. If you ship a changed version, including as a hosted service, you publish your changes too.
MITThe packs and the overlay renderer
The game packs and the shared overlay renderer they load, so a pack stands on its own. Restyle the packs that ship with it, or build your own. Packs you make are yours to share or sell.
TMThe name and the lamp
"Clear to Air", the lamp mark and the wordmark are trademarks and stay with the project. Forks are welcome under a different name.
Support the project

How the work gets paid for.

The app stays free whichever of these happens. Supporters, sponsors and paid services pay for the time that goes into it.

Donation

Become a supporter

Give monthly or once. It keeps releases coming and pays for testing on real shows.

Become a supporter
Sponsorship

Sponsor

Your logo on this site, in the README and on the About screen inside the app. For esports organisations, hardware brands, venues and leagues.

Talk to us about sponsoring
Coming

Hosted control room

Hand the desk to a producer or scorer on a laptop anywhere. Running the relay yourself is free. Our hosted relay will be free while it is in beta, and later becomes a supporter perk.

Run the relay yourself
Paid service

Setup and custom packs

We set Clear to Air up for your league or event, run it on the day if you want, train your crew, and build branded overlay packs to your design.

Ask about setup
Questions

The ones organisers ask first.

Is it really free?

Yes. The app is AGPL-3.0+ and the overlay packs and their renderer are MIT. Nothing in the app is held back for paying users. The project is paid for by supporters, sponsors, and setup and custom-pack work for leagues and events.

How finished is it?

It is early. It has been tested against the built-in simulators and on one real OBS setup, and testing with real games is in progress. Rehearse a full show with it before you put it on air.

Does it replace OBS?

No. OBS keeps doing the capture, mixing, encoding and streaming. Clear to Air builds the scenes, feeds the overlays, cuts between scenes, and watches for the problems OBS does not warn you about.

Does it work offline?

Yes. The agent runs on the broadcast PC and serves the overlays itself, so a show keeps running with no internet. VALORANT map art is fetched from valorant-api.com and will be missing offline. Remote seats go through the relay, so they need a connection to it.

Which games have live data?

CS2, Dota 2, Rocket League, League of Legends and Apex (in private matches), each through the publisher's own feed. VALORANT, fighting games and EA FC are run from a manual desk, with team and bracket import from start.gg. For VALORANT you can also paste the end-of-game scoreboard text to fill in player stats.

Can I bring my own design?

Yes. Colours, logo and font are set per event, and team colours per team. The packs are HTML and CSS under the MIT licence, so a designer can restyle one or replace it, and the control room keeps driving it.

Is it allowed by the publishers?

Game State Integration is an official Valve feature for CS2 and Dota 2. Rocket League's Stats API is part of the game, and the Apex LiveAPI is Respawn's own. Riot's policy allows broadcast overlays in OBS and bans overlays that give players a real-time advantage in game; Clear to Air only makes the first kind. Nothing here reads game memory or injects into a game client.

Something else? Ask in GitHub Discussions.

Public launch

Get notified.

The public release is not out yet. Leave an address and we will email you once, when it is.

One email at launch. No newsletter.