{{ liveCount }} live / {{ streams.length }} camera{{ streams.length !== 1 ? 's' : '' }}
System Online
Select a partition to continue
Groups in {{ partitionLabel }}
Cameras in {{ selectedGroup }}
Your boards
Board {{ currentBoard.n }}
Manage users
Loading…

No partitions configured

Seed partitions in SQLite before operators can navigate.

{{ p.code }}
{{ p.display_name }}
Open partition →

No cameras in {{ partitionLabel }}

Cameras appear here once they publish to rtmp://{{ hostname }}:1935/live/{{ selectedPartition }}-<group>-<camera>.

{{ g.group_name }}
{{ g.camera_count_total }} camera{{ g.camera_count_total !== 1 ? 's' : '' }}
{{ g.camera_count_live }}

No cameras in {{ selectedGroup }}

Point a camera to rtmp://{{ hostname }}:1935/live/{{ selectedPartition }}-{{ selectedGroup }}-<camera>.

LIVE
OFFLINE
Last seen {{ timeSince(stream.last_seen_at) }} ago
{{ stream.key }}
{{ stream.status === 'live' ? timeSince(stream.first_seen_at) : timeSince(stream.last_seen_at) + ' ago' }}

No boards yet

Create a board, then add cameras to it from any group view using the + button on each camera tile.

{{ b.n }}
{{ b.c.length }} camera{{ b.c.length !== 1 ? 's' : '' }}
+ New board

"{{ currentBoard.n }}" is empty

Open any group and use the + button on a camera to add it here.

LIVE
OFFLINE
MISSING
Offline
Camera not in roster
{{ stream.key }}
{{ stream.key }}
👥

No users

Use the + New user button to add the first one.

Email Role Status Created Actions
{{ u.email }} you {{ u.disabled_at ? 'disabled' : 'active' }} {{ formatDate(u.created_at) }}

Add {{ addToBoardTarget.key }} to…

{{ toast.text }}