The Pyre.Stream desktop app
The desktop app is the production engine. It is not a companion to an OBS you
install separately: it bundles and manages its own OBS Studio and its own
ffmpeg, composites your scenes on your machine, and fans one encode out to every
destination from your own network card. On the local fan out path your video bytes
never touch a Pyre server at all.
The window is the dashboard
Section titled “The window is the dashboard”The main window is not a local copy of the app. It loads the same web shell that pyre.stream serves, and the app ships no local pages of its own beyond a splash screen. Everything you see in that window, the sidebar, Stream Manager, the Studio, is exactly what a browser tab would show you, with one difference: the page can tell it is running inside the app, so the desktop only controls appear.
The consequence is the useful part. A fix we ship to pyre.stream is there the next time you open the window. You are not waiting on a client update for a dashboard change, and the app version only matters for the parts that are genuinely native.
Those parts are the ones worth knowing about:
- The managed OBS, and the scenes it renders.
- The local RTMP listener your encoder publishes into, and the one
ffmpegprocess per destination that copies it out. - The delay, which is written to your own disk while it runs.
- The IRL switcher, which merges a phone and a local encoder.
- The tray icon, Streamer Mode, the quit guard and the updater.
- Reading your OBS folder, for the scene import.
- Reading whatever is playing on your machine, for the now playing card.
Get it
Section titled “Get it”-
Go to pyre.stream/downloads. The page detects your platform and offers the right build first, with the other one linked underneath.
-
On Windows, run the installer. Windows may still show a blue Windows protected your PC screen on the first launch. The installer is code signed, so this is a brand new application building reputation rather than a warning about the file. Choose More info, then Run anyway.
-
On macOS, open the app. The Mac build is for Apple Silicon (M1 or newer). It is signed with an Apple Developer ID and notarized, so it opens with no Gatekeeper prompt.
-
Sign in. Once you are signed in the app registers itself as one of your inputs, so it appears on the Sources page as a Computer without you adding anything. See Sources and devices.
There is also a Microsoft Store package of the Windows app. It is the same application, packaged as MSIX, with two differences that follow from how the Store works: the Store owns its updates rather than the app’s own updater, and launch at login is a Windows setting rather than a tray checkbox, because the install directory is read only and MSIX ignores the registry key the tray toggle would write.
The tray icon
Section titled “The tray icon”The app lives in the system tray while it runs. Right click the icon for:
Pyre.Stream Desktop v<version>, which is not clickable. This is the version actually running, and it is the number to quote in a bug report. Windows’ own Installed Apps list can lag behind an auto update.Show Pyre.Stream, which brings the main window back.Open Streamer Mode, described below.Stop Broadcast, which ends the fan out. It is only selectable while you are live, and readsStop Broadcast (not live)the rest of the time rather than offering you a button that would do nothing.Start Pyre.Stream with Windows, orStart Pyre.Stream at Loginon macOS. When it is on, the app starts hidden in the tray at login, ready to stream.Run studio (OBS) at launch, which is on by default. It brings your managed OBS up when the app starts, so your studio is warm and preview ready before you touch anything. It never starts a broadcast. Unticking it applies to the next launch: it does not close a studio that is already running.Quit Pyre.Stream Desktop.
Hovering the icon tells you the state without opening anything. It reads
Pyre.Stream — Ready (waiting for OBS) before a stream, and while you are live it
carries the elapsed time and the current bitrate.
Closing the window does not quit the app. It hides to the tray, and everything
that matters keeps running, including a broadcast that is on air. That is
deliberate, and it is the single most surprising thing about the app, so it is
worth saying plainly: the X button hides, and Quit Pyre.Stream Desktop is the
only thing that actually closes it.
Streamer Mode
Section titled “Streamer Mode”Streamer Mode is a second, smaller window holding a compact broadcast console: your program preview, the live bar, and your input devices. It is sized to sit beside a game rather than fill a screen.
Open it from Open Streamer Mode in the tray, from View ▸ Streamer Mode in
the menu bar, or with Ctrl + Shift + S
(Cmd + Shift + S on macOS).
It is a top level window rather than a child of the main one, which is deliberate: it minimizes to the taskbar and restores on its own, like any other window, instead of collapsing into a sliver whenever the main window moves.
What the app unlocks
Section titled “What the app unlocks”Most of the dashboard works the same in a browser. These are the parts that need the app, and where each one is documented:
| What the desktop app adds | Guide |
|---|---|
| Desktop Studio, the live view of the OBS running right now, editable rather than read only | The Studio and your scenes |
| Importing the scenes you already have in OBS, because only the app can read your OBS folder | The Studio and your scenes |
| Local fan out, and the stream modes that depend on it | Stream modes and Cloud Studio |
| Hosting a delay, which is written to your own disk | Add a delay mid stream |
| Program preview, OBS video settings and bonding link health in the cockpit | The Stream Manager |
| Local media capture and Fix it for me, so your stream hears the music you hear | Set up music and song requests |
One rule follows from that list rather than from any single row: on the desktop app there is no Plain mode. The app always composites in its own managed OBS, so the compositing question is not asked, and a saved setting of Plain is raised rather than honoured. Stream modes has the full picture.
IRL with two inputs
Section titled “IRL with two inputs”The app can run a stream from a phone and a local encoder at the same time. Your phone publishes as one input and your own OBS publishes as the other, and the app switches between them locally, which is why this is a desktop feature rather than something the cloud does for you. The phone side arms itself for the whole session: you press Go Live on the phone and it attaches, with nothing to enable on this end. When an input drops, the other one carries the stream. When both drop, the app holds a branded Connection Lost card on air for a grace window, five minutes by default, and ends the broadcast only if nothing has come back by then. The card is the same idea as the reconnect card on the cloud path, so Continuity and failover is the guide for what viewers see.
Quitting while a delay is draining
Section titled “Quitting while a delay is draining”Ending a stream that has a delay running plays the remaining footage out, so your viewers get your ending. Quitting the app during that drain would cut them off, so it is the one destructive thing here that the app stops and asks about. The dialog is titled Your viewers are still watching and says:
Pyre is still sending the last of your delayed stream.
Closing Pyre now cuts your viewers off before the ending they are still watching. Keep it open for a few more seconds, or cut now and end immediately.
Keep sending is the default and returns you to the app. Cut now and quit does exactly what it says, and it is spelled out rather than hidden behind the default button. See Add a delay mid stream.
Updates
Section titled “Updates”The app checks for a new version a few seconds after it starts and every four hours after that, and downloads the update in the background.
It will not interrupt a live broadcast. If a stream is running when an update finishes downloading, the prompt is held back and re-checked every five minutes until you are idle. Only then do you see it:
Update ready
Pyre.Stream 0.0.28 is ready to install.
Pyre.Stream will restart to apply the update and reopen automatically.
Restart now applies it immediately. Later costs you nothing: the update is already downloaded and installs the next time you quit the app, so a version you deferred is not a version you lost.
The Microsoft Store build is excluded from all of this by design. The Store owns its updates, and the app never checks a feed of its own there.
-
If an update seems stuck, check the tray menu’s top line first. That is the version genuinely running, and it settles the question faster than Installed Apps does.
-
If you keep seeing the prompt after a restart, quit from the tray rather than closing the window, so the deferred install actually runs.