Contents
Health Warning Banners
My Stream Never Shows Online
My Event Is Missing
No Matches Are Showing Up
Clips Are Missing or Look Wrong
My Upload Is Stuck
YouTube Channel Needs Re-Linking
Blue Alliance Posting Failed
YouTube Restream or Broadcast Won’t Cooperate
YouTube Hasn’t Started Playback
No Audio Track from OBS
YouTube Shows Healthy but Won’t Play
The Event Shows LIVE After the Stream Stopped
An Event Completed by Itself
The Event Shows Pre-Event Test and Start Push Is Refused
A Setting Is Locked
Sign Isn’t Updating
OBS Plugin Won’t Pair or Shows No Events
I Can’t Sign In
Getting More Help
Health Warning Banners
These banners show on the event status panel and in the OBS plugin dock (they’re the same checks, shown in both places):
| Banner | Exact condition | What to try |
|---|---|---|
| Incoming video codec is codec, but YouTube’s ingest requires H.264, AV1, HEVC, or VP9 | Your source isn’t one of those four video codecs | Switch your encoder to one of the listed codecs. Restream Re-encode is a platform-wide setting only system admins can turn on; it isn’t set per event |
| Incoming audio codec is codec, but YouTube’s ingest requires AAC | Your source audio isn’t AAC | Switch your encoder’s audio codec to AAC (or ask your system admin whether the platform-wide Restream Re-encode setting should be on) |
| Incoming stream’s keyframe interval is interval, but YouTube requires ≤4s (2s recommended) | Your keyframe interval is over 4 seconds. This banner shows only when system admins have turned the keyframe check on (it’s off by default) | In OBS, go to Settings > Output and set your keyframe interval to 2 seconds (the plugin does this for you automatically — see OBS Plugin Guide); once fixed, use the banner’s Re-check action to confirm |
| No audio track from OBS — YouTube may not start playback without audio | Your stream has video but no audio track (shown on the Incoming Stream row) | See No Audio Track from OBS |
| YouTube hasn’t started playback after time. … | Today’s broadcast has been starting on YouTube for more than 60 seconds (shown under “Today’s broadcast”) | See YouTube Hasn’t Started Playback |
| YouTube reports: YouTube’s own message | YouTube itself is flagging an ingest configuration problem (YouTube-channel mode only) | Read the message as shown — it’s passed through from YouTube directly — and check the same event in your channel’s Live Control Room |
The codec, keyframe and YouTube checks only run for events that restream; if your event only
records/clips (no restream), you won’t see them. When the platform-wide Restream Re-encode setting
is on, the codec and keyframe checks are skipped, because the platform converts the stream for
YouTube itself. The audio check only notices a missing audio track: audio that’s present but
silent passes every check (see the section YouTube Shows Healthy but Won’t Play). For which codecs are pushed as-is and which are
converted, see
Source Codec Rules.
My Stream Never Shows Online
The status panel shows a generic Offline while the platform isn’t receiving your stream. Work
through this checklist in order:
- Confirm the event is configured with a stream key, and that right now falls within the
event’s Stream window: publishes are accepted from one day before “Stream start” (as a
pre-event test) through “Stream end”. The event must also not be archived, and it must belong to
your own organization; otherwise the stream is refused as having no active event. See
Managing Events. - Confirm OBS (or the plugin) is using the correct, currently-active stream key for this event — a key that’s been disabled or doesn’t match won’t be accepted.
- Confirm there’s actually a network path from your encoder to the platform (this is the same RTMP connectivity your FTC A/V Setup Guide or FRC A/V Home setup already depends on).
- If you use the OBS plugin, read the dock’s banner: it says why a publish would be rejected
before you start streaming, for example:- “This event is archived — OBS publishes will be rejected.”
- “Current time is outside this event’s publish window (from one day before its start through
its end) — OBS publishes will be rejected.” - “This event is marked Completed — OBS publishes will be rejected unless it is reopened.” —
see An Event Completed by Itself. - “This event isn’t set up yet — OBS publishes will be rejected until an administrator
configures it.”
- If none of that explains it, contact your system admin — the specific rejection reason (bad
key, no active event, or a server-side issue) is recorded in server logs that only a system
admin can see; see
Monitoring and Troubleshooting.
My Event Is Missing
A handful of events (particularly off-season FRC events) aren’t shown to every organization automatically — an admin has to make them visible for your organization first, and a system-wide setting can hide off-season events entirely. If an event you expect isn’t showing up, ask your Client Admin to check Event Configuration Reference before assuming something’s broken.
No Matches Are Showing Up
The match list in an event’s control center is shown to every member of a Client for events in the Client’s region and for events the Client owns, including test events. “No match data available from the FIRST API for this event yet.” means FIRST hasn’t published a schedule yet; “Couldn’t refresh match data. Showing the list from time ago.” means the list on screen is the last one that loaded, and it catches up by itself; “Failed to load match data.” means nothing loaded — reload the page, and if it stays on an event your Client owns, contact support.
If your event is live but no matches ever appear, the dashboard won’t show you a warning for this today — it’s a background sync issue between the platform and the FIRST Events APIs that only shows up in server logs. Before contacting support, ask your Client Admin to double-check that the event’s code and season in its configuration exactly match what’s published on the FIRST Events website, and that its timezone looks right (see Event Configuration Reference). If that all looks correct and matches still aren’t appearing, contact support — this needs a system admin to check the sync directly.
Clips Are Missing or Look Wrong
If a clip’s recorded length comes out more than the clipping-tolerance setting shorter than expected, it’s no longer deleted automatically — it’s held with a Needs Review badge and a reason underneath it: “Shorter than the scheduled match; check before approving”. (System admins see the measured figures instead, e.g. “Clip duration 61.0s is more than 10s shorter than expected 150.0s”.) A User or above (or a system admin) needs to either Approve it (queues for upload normally) or Discard it (deletes the file and marks the match missed, the old automatic outcome) — see Clips, Uploads and Signage. If Approve or Discard shows an error and the clip stays in Needs Review, that’s usually a brief backend hiccup — clicking the same button again resolves it; contact an administrator only if the message explicitly says automatic recovery also failed. Check the Clips page for a run of clips stuck in Needs Review around the time something went wrong with your stream. A clip that runs a bit long usually just means slightly more pre/post-match footage than intended; it still publishes normally. Clip start/end padding around each match is a system-wide setting your system admin controls — see System Settings Reference.
My Upload Is Stuck
See Clips, Uploads and Signage for what each upload badge means. In short: Quota wait clears itself; Deferred and Paused both need a system admin; Failed just needs a Requeue click from a User or above. A failed upload shows why in red under its title — for example “The YouTube channel needs to be reconnected” or “YouTube rejected the upload” — and the same page lists what to do for each reason.
YouTube Channel Needs Re-Linking
If a linked YouTube channel’s row shows “Auth failed — re-link required” in red, its authorization has stopped renewing itself — uploads and restreams using that channel will fail until it’s fixed. A Client Admin needs to click Re-link on the YouTube and Slack Integrations page and sign in again to re-authorize it.
Blue Alliance Posting Failed
For FRC events, match results and video links are posted back to The Blue Alliance automatically. If a match’s Blue Alliance status shows as failed, it’s usually missing or incorrect Blue Alliance credentials on the event — see Event Configuration Reference for where those are entered. (FTC events don’t use The Blue Alliance at all, so a “skipped” status there is expected, not an error.)
YouTube Restream or Broadcast Won’t Cooperate
See Running a Live Event
for the full set of push/broadcast status text (the state table is under
Starting and Stopping the Push).
A few specific cases:
- “Holding — standby slate on YouTube” — OBS disconnected after the push started. Viewers see
a black standby slate, and the push resumes by itself when OBS reconnects. The line under the
row counts down; if OBS isn’t back when it reaches zero (10 minutes by default), the push gives
up with an error ending “Source did not return within Ns — giving up”. Reconnect OBS; don’t
press Stop Push. - Start Push refused with “No stream is coming in: …” — a push with no incoming stream is
refused rather than held. Fix your incoming stream first (see
above), then start the push. - Go Live stays dimmed — read the reason under the button; see
Running a Live Event
for what each reason means. - “Pushing — waiting for YouTube”, or Go Live dimmed with “Wait for YouTube to start receiving
the push” — the push is running but YouTube isn’t receiving it on today’s broadcast yet. Check
the “Today’s broadcast:” line under the row: today’s broadcast must exist and must not read
Ended. - “Push failing — retrying” (red) — OBS is connected, but the push to YouTube keeps stopping.
The line under the row gives the reason, which attempt failed and when the next one starts, for
example “YouTube closed the connection after 4s (source video codec AV1). Attempt 2 of 5
failed; trying again in 15s”. It retries by itself after 5, 15, 30 and 60 seconds; you don’t
need to click anything while it does. Note the reason, and check the health warning banners and
your OBS output settings in the meantime. After five failed attempts in a row it becomes a
Push error whose detail ends “Gave up after 5 attempts in a row”; fix the cause and click
Start Push again. If the reason is “The ingest server isn’t handing over the source’s video
(codec codec), so there is nothing to send to YouTube”, that’s a platform problem: contact
support (see Getting More Help) with the codec named in the message. - Go Live clicked, but the broadcast isn’t live yet — on a broadcast with the YouTube preview,
the status line reads “Going live — starting YouTube preview” while YouTube brings the preview
up, and the broadcast goes live by itself, normally within a minute. If the line goes back to
the plain status without going live (after 3 minutes, or because the push was stopped or
restarted), make sure the push is running and click Go Live again. See
The YouTube Preview. - The push stopped overnight with “Setup day is over; restart the push for today’s
broadcast” — the push was going to the setup-day test video, which only takes video on the
day before the event. Click Start Push to push to today’s broadcast. See
The Setup-Day Test Video. - “Push error” — read the detail text under the row. The push gives up rather than retrying
forever; fix the cause, then click Start Push again. Common messages:- “This push’s broadcast was replaced — Stop and Start Push to switch to the new one” — someone
replaced today’s broadcast while the push was running. Stop Push, then Start Push. - “This push’s YouTube broadcast was deleted — Stop and Start Push to use today’s broadcast” —
Stop Push, then Start Push. - “The YouTube broadcast for date has ended (status: status) and can’t receive video again
— replace it with a new broadcast on the event page to push again” — see
Replacing a Broadcast
before you replace it. - “The YouTube broadcast for date was created on a different YouTube channel than the event is
now set to — set the event back to that channel, or delete that broadcast and create one on
the new channel” — ask your Client Admin to check the event’s livestream channel. - “The restream worker has no internal stream read secret configured (…), so it can’t read the
source — ask an administrator to deploy it” — a platform problem; contact support (see
Getting More Help).
- “This push’s broadcast was replaced — Stop and Start Push to switch to the new one” — someone
- ”🔒 Needs …” reasons (for example ”🔒 Needs User or above”) are role limits, not faults; ask
someone with the right role.
YouTube Hasn’t Started Playback
What you see: you clicked Go Live (or YouTube is starting its preview), “Today’s
broadcast:” still reads Starting on YouTube (or Starting preview), and after 60 seconds an amber line
under it reads one of:
- “YouTube hasn’t started playback after time, and it isn’t receiving our stream. Check that the
push is running.” — YouTube isn’t getting video. Check the YT Restream row: the push must be
running (not Idle, Holding or Push error), and Incoming Stream must read
Online. - “YouTube hasn’t started playback after time. It is receiving our stream (ingest health:
health) but not playing it; viewers see a spinner. Check the preview in YouTube Studio.” —
YouTube has the video but won’t play it. Look for a “No audio track from OBS” warning (see
No Audio Track from OBS) and codec banners, and check the stream’s preview in YouTube Studio’s
Live Control Room. Then follow YouTube Shows Healthy but Won’t Play.
Don’t replace the broadcast to fix this; see the warning in that section.
No Audio Track from OBS
What you see: the Incoming Stream row’s dot is amber and its audio line reads “No audio
track from OBS — YouTube may not start playback without audio”. The same text shows in the OBS
dock.
What it means: your stream has video but no audio track at all. YouTube may refuse to start
playback without one.
What to do: in OBS, make sure an audio source (a mixer feed, desktop audio or a microphone) is
added and not muted, and that the audio meters move. If you stream through the plugin, the audio
settings it applied are fine; the missing piece is an audio source. The warning clears once audio
arrives.
YouTube Shows Healthy but Won’t Play
What you see:
- Incoming Stream reads Online.
- YT Restream reads Ready for Live (or Live to YouTube after Go Live).
- YouTube Studio calls the stream healthy or “excellent”.
- But the YouTube player spins, or the broadcast stays “starting”. YouTube may say it is “not
receiving enough video to maintain smooth streaming”.
What it means: green only means YouTube is receiving data. The dashboard warns when your
stream has no audio track, and when a broadcast is still starting on YouTube after a minute (see
YouTube Hasn’t Started Playback), but it can’t tell whether viewers can actually play the
stream. The known cause of this (the platform forwarding video without sound) is fixed, but a
stream YouTube can’t play can still look green — for example, one with silent audio or with an
audio codec other than AAC.
What to do, in order:
- Read the YT Restream row and the line under it (see the state table under
Starting and Stopping the Push). - Check the “Today’s broadcast:” line. An Ended broadcast can’t receive video again.
- Check for codec banners and the “No audio track from OBS” warning (see
Health Warning Banners). Audio must be AAC. Check in OBS that your stream actually has
audio (the audio meters move). - Don’t replace the broadcast to “fix” it. Replacing creates a new YouTube video with a new
link; viewers with the link you announced won’t see it. Replace only if the broadcast has
ended or was deleted, and then tell whoever announced the link. See
Replacing a Broadcast. - Don’t press Stop Push casually. It asks first, and while the broadcast is live it warns
“Today’s broadcast is live on YouTube — viewers will see the stream end.” - Report it to technology support (see Getting More Help) with the time and the exact text
of the YT Restream row.
Prevention: before an important event, run an unlisted test broadcast through the platform and
confirm that sound and picture play on YouTube. The full procedure is in
Pre-Event Testing and Test Broadcasts;
in short:
- Use a test event (or a private event of your own) with an unlisted YouTube broadcast.
- Stream from OBS, then Start Push.
- Go Live.
- Confirm on YouTube that both audio and video play.
- Stop Broadcast, then Stop Push.
The Event Shows Pre-Event Test and Start Push Is Refused
This is expected before the event’s start time. Encoders can publish from one day before the
start, and the event’s badge reads Pre-event test while they do. Start Push is refused with
“Pushing opens at the event’s start time. Video coming in now is a pre-event test feed.” At the
start time the badge switches to 🔴 LIVE by itself and Start Push becomes available. The live
preview works during a pre-event test.
To push a pre-event test to YouTube on the day before the event, create the event’s setup-day
test video; Start Push then sends the test feed to that unlisted video for that one day. See
The Setup-Day Test Video.
The Event Shows LIVE After the Stream Stopped
Wait about 2 minutes: an event whose incoming stream has stopped heals itself. There’s no manual
step to force it. If the event still reads 🔴 LIVE well after that, contact support (see
Getting More Help). If you need the event closed, Complete on its row (User or above)
does that; it doesn’t stop a YouTube broadcast or push, so stop those first.
An Event Completed by Itself
An In Progress event completes itself once its stream window has ended by more than a grace
period (120 minutes by default) and nothing is recording. A live feed is never cut. Once
completed, OBS publishes to it are refused — the OBS dock reads “This event is marked Completed —
OBS publishes will be rejected unless it is reopened.”
If you still need to stream to it, ask a Client Admin to click Reopen on its row in the
Events list, and check its stream window covers the time you need (a Client Admin can change it
on the event’s Basics tab). See
When an Event Completes.
A Setting Is Locked
A 🔒 next to a field’s label means the event’s current state locks that field; hover over the 🔒
to see why. Common lock messages:
- “The restream push is running. Stop the push to change the stream key.”
- “The YouTube broadcast for date is live. Stop the broadcast to change where it goes (restream
mode and channel).” - “Delete or complete the N current broadcast(s) first (dates) to change the restream mode or
channel.” - “Set by system administrators” (the event’s timezone)
See
Field Locks
for the full list, and
What Broadcasts Lock
for the locks YouTube broadcasts cause.
Sign Isn’t Updating
Check the sign’s sync status on the Signage page. Drifted means 3 consecutive playlist checks all confirmed this platform’s item is genuinely missing from the sign in AbleSign — a single API error, timeout, or unexpected response doesn’t cause this, it’s just retried on the next poll. Signs an event is controlling are checked every 2 minutes by default, and signs no event is controlling every 10 minutes, so an idle sign can take longer to show Drifted. What happens next depends on the system admin’s Signage Drift Action setting: by default the sign sits unmanaged until you click Re-apply; if it’s set to Reclaim, the platform re-applies automatically and notes the reclaim in the status text (retrying on its own if a reclaim attempt fails). Error shows the underlying failure message; if it’s unclear, pass it to your system admin. See Clips, Uploads and Signage.
OBS Plugin Won’t Pair or Shows No Events
- Pairing code expired — codes expire after a while; just click Pair with CHS Streaming again for a new one.
- Device was revoked — a revoked device can’t be silently reactivated; pair it again from scratch.
- Dock shows no events — a device isn’t tied to one stream key; you pick the stream key in the
dock, and the dock then lists every non-archived event configured with that key (events that
have already ended are still listed). Confirm you picked the right stream key, and that today’s
event exists, is configured with that same stream key, and hasn’t been archived. - You reinstalled or repaired OBS — re-run the plugin installer afterwards (see
Installing the OBS Plugin).
I Can’t Sign In
See
Logging In.
The first time, you must open the invite link your Client Admin sent you and sign in with the
Google account for the address it was sent to. Invite links expire after 7 days; if yours has
expired, ask your Client Admin for a new invite.
Getting More Help
If none of the above explains what you’re seeing, contact FIRST Chesapeake technology support at
technology@firstchesapeake.org.