Select a stream from the sidebar or create a new one
Combined stream statistics across all streams you can access (last 24 hours).
Collecting GPU metrics...
Used by streams that enable Use for SceneSat. Keep per-stream custom credentials for non-SceneSat channels.
For long-lived refresh tokens, publish your Google OAuth app to In production. Tokens from apps still in Testing mode may expire quickly.
https://www.googleapis.com/auth/youtube.readonly and
https://www.googleapis.com/auth/youtube.refresh_token, paste it here, then save defaults.Tracks all Google API calls by client identifier and endpoint. Day buckets reset at midnight Pacific Time.
Click "Refresh Quota" to fetch usage counters.
Register manually prepared relay hosts here. The origin box is always available as the built-in local playback edge.
No edge relays configured.
Manual cleanup tool for viewer_stats. Refresh status first, then run a dry run before executing deletion.
Click "Refresh Status" to inspect current database retention status.
Aggregates old sample rows into weekly trend rows in viewer_stats_weekly, then removes the archived raw rows.
Click "Refresh Archive Status" to inspect weekly archive readiness.
/work/continuity-media
/work/assets/continuity.png
Loading shared assets...
Copy a direct link or iframe code for this stream player:
quality mode when supported.%Y-%m-%d (2026-02-23), %B %Y (February 2026), %A %B %d (Sunday February 23). Timestamp is when recording starts.-test stream key without creating a full stream configuration.
., _, -./live/<streamKey>. Encoders must publish to the dedicated primary/secondary ingest paths instead. The fields below show the RTMP form for convenience, but the same ingest path also works via RTSP, SRT, or WebRTC/WHIP.
/work.
/work volume.
:8554), SRT (:8890 with streamid=publish:...), or WHIP on webrtc.scenesat.com. Playback stays on /live/<streamKey>./live/<streamKey>. If Keep running is also enabled, the public output stays on the fallback media until GO LIVE. The fields below show the RTMP form, but the same ingest path also works via RTSP, SRT, or WebRTC/WHIP.
/live/<streamKey> output to the preview source. STOP LIVE returns to the fallback media for keep-running streams, or turns the public output off for normal streams.
/live/<streamKey> output is re-encoded to a safer H.264/AAC profile whenever it is fed by primary or secondary. Raw preview inputs stay untouched, so you can still inspect a problematic source honestly.
Compare live session bitrate against recent byte deltas to detect drift, stale samples, or counter resets.
Run a check to view live drift diagnostics for this stream.
_internal/{streamKey}/webrtc (audio Opus) for low-latency playback.NVENC_PRESET env var unless overridden.Opt-in mode: Only checked renditions will be created. Renditions not listed here or unchecked will NOT be created.
Standard renditions:
• 720p-60: 1280x720 at full source FPS (60→60, 59.94→59.94, 50→50; default ~4.8 Mbps CBR)
• 720p-30: 1280x720 at half source FPS (60→30, 59.94→29.97, 50→25; default ~2.8 Mbps CBR)
• 480p-30: 854x480 at half source FPS (60→30, 59.94→29.97, 50→25; default ~1.4 Mbps CBR)
• twitch: 1080p60 @ 5600k CBR (high profile, 2 B-frames)
You can tune encoder, profile, level, B-frames, GOP, FPS multiplier and bitrates per rendition below.
current_load / weight with deterministic tie-breaking per stream.
No registered edge relays available.
Changes saved but not yet applied to the active stream. Click "Apply Recording Config Now" below to apply immediately, or changes will take effect when the stream reconnects.
ARCHIVE_WEBHOOK_URL is configured, this stream will send the finalize webhook with a valid publish=1 query parameter appended.
If this stream is currently live, you can force-apply the recording settings immediately without stopping the stream:
This will immediately start or stop recording based on the "Enable recording" checkbox above.
For high-bitrate streams (12+ Mbps), use small DVR windows (10-30 segments) to minimize memory usage.
Configure DVR separately for each rendition (720p, 480p, twitch, etc.)
Typical settings:
• Viewing renditions (720p, 480p): 300-900 segments (10-30 minutes)
• Restream-only (twitch): 3-10 segments (just buffering)
Leave empty to use global credentials from docker-compose.yml environment variables. Only needed if this stream uses a different Twitch account than the default.
Leave empty to use global API key from docker-compose.yml environment variables. Only needed if this stream uses a different YouTube account/quota than the default.
Shows current YouTube Live health notices for this stream using the configured OAuth credentials.
Click "Refresh Health" to fetch latest YouTube live health.
Default check validates OAuth refresh/token health without YouTube Data API quota usage. Enable channel check only when needed.
Click "Validate Token" to verify token health. Enable channel binding check only when needed.
If your Google OAuth app is in Testing mode, refresh tokens can expire quickly (often about 7 days). Move it to In production first to improve token lifetime.
https://www.googleapis.com/auth/youtube.readonly (health check) and
https://www.googleapis.com/auth/youtube (API recovery/transition).refresh_token.invalid_grant = revoked/expired token or app/client mismatch;
unauthorized_client = wrong OAuth client configuration.
Quota usage: YouTube API has 10,000 units/day quota. Each live stream uses ~1,540 units per 24h broadcast. Supports up to ~6 concurrent streams.
Health checks also use quota:
Each health poll calls liveBroadcasts.list and liveStreams.list (roughly 2 units/poll).
At a 60s poll interval, that is about 2,880 additional units/day per active monitored stream.
Stream-scoped statistics are loaded directly from Stream Admin APIs and respect your stream access permissions.
Selected stream: -
| Source | Sessions |
|---|---|
| No data loaded. | |
| Client | Sessions |
|---|---|
| No data loaded. | |
| Bucket | Sessions |
|---|---|
| No data loaded. | |
| Country | Sessions |
|---|---|
| No data loaded. | |
| Viewport | Sessions |
|---|---|
| No data loaded. | |
| Bucket | Sessions |
|---|---|
| No data loaded. | |
| Timestamp | Combined | Local | Twitch | YouTube | HLS | Other | Geo | Bandwidth |
|---|---|---|---|---|---|---|---|---|
| Select a stream and click Refresh to load statistics. | ||||||||
| Start | End | Rendition | Status | Peak Viewers | Avg Bitrate | Resolution/FPS | Codecs |
|---|---|---|---|---|---|---|---|
| No session data loaded yet. | |||||||
scenesatrotational).Choose Deactivate Conflicts & Continue to disable conflicting destination(s) on the currently active stream(s) and proceed.