Show documents
A .playout file holds a whole show, with as many playlists as you need: pre-show loop, walk-in, sermon clips. Documents auto-save once they've been saved the first time.
For Mac, iPhone and iPad · Free to try
Broadcast-style video playout for church, conference and live-event teams. Build a playlist, cue it, and send a clean feed to a projector, switcher or Apple TV while you watch a separate preview.
Features
FoShow is deliberately small: one window, one clean feed, and the tools to get a clip to air on time and without surprises. The same app runs on Mac, iPhone and iPad.
A .playout file holds a whole show, with as many playlists as you need: pre-show loop, walk-in, sermon clips. Documents auto-save once they've been saved the first time.
Independent A/B players give you cuts, crossfades and fade-through-black between clips, with frame-accurate seeking on both channels.
Trim in/out points in a scrubbable editor. Set a volume, the transition into the clip, and what happens at the end: advance, loop, hold the last frame, or fade to black.
Program output goes full-screen on an external display over HDMI or USB-C, or on an Apple TV by screen mirroring, from a Mac, iPhone or iPad. With the unlock it can also go straight to an AirPlay receiver. On the Mac, route its audio to a different Core Audio device while the preview plays through the system default.
The transport bar shows time remaining on the current clip and what plays next. The countdown turns amber under 30 seconds and red under 10, so hand-offs never sneak up on you.
Lock playout and every command that would change it is refused, from the keyboard and from remote control. A stray keypress or button press can't interrupt a live show.
Remote control
Every command goes through one dispatcher, so the keyboard, an ATEM panel, a Stream Deck, a phone and a script all share the same verbs and the same lockout rules.
FoShow answers the Blackmagic HyperDeck protocol on port 9993. Add it to ATEM Software Control or a hardware panel as a HyperDeck and roll clips from the switcher with no extra software.
Open FoShow's address on any phone or tablet on the network for transport, cue and lockout buttons. Nothing to install, so a volunteer can take over from the back row.
A JSON API under /api/v1 with bearer-token auth, plus OSC in and out with live state pushed to your feedback targets. Bonjour advertises FoShow so controllers find it without an address.
A free, open-source Companion module mirrors the whole API with actions, feedbacks, variables and a preset pack. See what's on the panel.
# What's on air right now?
$ curl -H "Authorization: Bearer $FOSHOW_TOKEN" \
http://foshow.local:7878/api/v1/status
# Cue a clip by name, then take it
$ curl -X POST -H "Authorization: Bearer $FOSHOW_TOKEN" \
-H "Content-Type: application/json" -d '{"name":"Sintel"}' \
http://foshow.local:7878/api/v1/cue/byName
$ curl -X POST -H "Authorization: Bearer $FOSHOW_TOKEN" \
http://foshow.local:7878/api/v1/take
# Lock playout for the rest of the service
$ curl -X POST -H "Authorization: Bearer $FOSHOW_TOKEN" \
-d '{"value":true}' http://foshow.local:7878/api/v1/lockout
Whatever you send it over, a command is a command. Cue by index, name or ID. Switch playlists by name or step through them. Fade to black and back. Lock and unlock.
While playout is locked, mutating commands return 423 Locked. Reads keep working, so dashboards and Companion feedbacks stay live.
Bitfocus Companion module
The FoShow module for Bitfocus Companion mirrors the HTTP API one-to-one. Add the connection, paste the token or pick FoShow from Bonjour, and the preset pack gives you a working panel immediately. The module is free and open source.
Play, pause, toggle, stop, next and previous. Cue by position or by file name so buttons survive reordering. Seek, set volume, mute, fade to black and restore. Switch playlists from a dropdown or by name, step through them, toggle loop, and engage lockout.
Light buttons from live state: playing, blacked out, transitioning, ready, muted, clip on-air, playlist loaded, loop on, lockout on, and a “time remaining is below N seconds” warning for hand-offs.
Current and next clip names, playlist name, playhead, duration and time remaining as m:ss or raw seconds, volume, mute, lock state, end action and the active A/B channel.
Transport and DSK, audio, playlist and safety pages, including “Now Playing” and “Next Up” text buttons that turn red in the last ten seconds.
/status.Module source and packages: github.com/mknerr/companion-module-foshow
Keyboard
On the Mac every key is a bare key, so an operator can cue and take without looking down. The number row cues clips one to ten.
| Space | Play / pause |
| Return | Take the cued clip |
| K | Stop |
| 1 – 9, 0 | Cue clips 1 – 10 |
| ] / [ | Next / previous clip |
| Home / End | Jump to in / out point |
| M | Mute the clean feed |
| ⌘⇧] / ⌘⇧[ | Next / previous playlist |
| ⌘L | Toggle playlist loop |
| ⌘⇧L | Lock or unlock playout |
Pricing
No subscription, no per-seat licence, no account. Download it from the App Store and run a full show before you decide.
$0
No time limit.
One-time purchase
$39.99once
Unlock inside the app to remove the watermark.
macOS 14 Sonoma or later, or iOS and iPadOS 17 or later. An external display, HDMI or USB-C video output, or an Apple TV for the clean feed. FoShow plays anything AVFoundation can decode, including H.264, HEVC and ProRes in .mov, .mp4 and .m4v.
FoShow asks for Local Network access, which remote control, HyperDeck and Bonjour need. Launch it once during setup so the prompt never appears mid-show.
NDI® output sends the clean feed, with its sound, to IP switchers and other NDI receivers. It is a separate one-time purchase inside the app: $29.99, or $59.99 together with the watermark unlock. Hit-time scheduling, so a clip ends at a wall-clock time, is coming as a free update.
NDI® is a registered trademark of Vizrt NDI AB. ndi.video