Live Sessions
Live Sessions is the main WSDashboard page — your live operations center for monitoring every active stream. It displays real-time metrics, library content, and session details with full administrative controls — all updating automatically without page refreshes. WSDashboard surfaces every Emby, Jellyfin, and Plex session here the moment it starts.
Live session monitoring requires administrator privileges and the wsdashboard feature flag enabled in Settings > General > Feature Flags.
Key features
Real-Time Updates
Sessions appear and disappear automatically as streams start and stop — no manual refresh needed
Stats Banner
At-a-glance metrics including active streams, bandwidth, direct play vs transcode breakdown, and server status
Three View Modes
Switch between Categorical, Cards, and Table views to match your monitoring preference
Session Actions
Pause, resume, stop, kill, message, or mirror any active stream directly from the dashboard
Library Drawers
Browse recently added and newly released content with poster cards and metadata tooltips
GPU Telemetry
Monitor hardware transcoding performance with real-time GPU utilization charts on Intel-equipped servers
Stats banner
The hero stats banner sits at the top of the page and provides instant visibility into your streaming activity:
| Metric | What it shows |
|---|---|
Active Sessions | Animated counter showing how many streams are currently playing |
Paused Sessions | Count of streams currently paused by viewers or administrators |
Transcoding Sessions | Count of streams being transcoded rather than direct played |
Bandwidth | Current total bandwidth consumption across all active sessions |
Direct Play / Transcode | Breakdown pills showing how many sessions are using each playback method |
Server Badges | Icons showing which media servers are connected (green for Emby, purple for Jellyfin, amber for Plex) |
GPU Telemetry | GPU utilization pill (when Intel GPU detected) — click to open the GPU overlay |
A connection status indicator in the page header shows whether the real-time data feed is active. A green pulsing “Live” badge confirms the connection is healthy.
Library drawers
Two expandable drawer tabs sit below the stats banner:
- Recently Added — a horizontally scrollable strip of poster cards showing the newest content added to your libraries, sorted by date added
- What’s New — poster cards sorted by premiere or release date, showing newly released content
Each poster card displays media artwork with a small server badge. Hovering over a card reveals a tooltip with the title, episode details, year, duration, content rating, dates, and a brief overview. Clicking a poster card opens the full detail page in the Media Portal.
When multiple servers are configured, filter pills appear to filter drawer contents by server. Only one drawer can be open at a time.
Library drawers display content from your media libraries regardless of whether any streams are currently active.
Session monitoring
The sessions panel is the main content area showing all active streaming sessions. Each session displays:
- Media information — thumbnail, title, subtitle, year, and playback progress bar
- User — username with quick access to the user administration panel
- Device information — client application, device name, IP address with connection badge, and geographic location
- Stream information — bitrate, video codec, audio codec, and playback method (Direct Play, Direct Stream, or Transcode)
- Actions — administrative controls for the session
View modes
Three view modes are available, each suited to different monitoring scenarios:
Categorical View (default) — Sessions grouped by media type (Movies, TV Shows, Live TV, Music, Other). Each category is a collapsible section showing the category name, session count, and bandwidth. Sessions are displayed in a dense, multi-column table layout. Clicking on a device name, IP address, or username expands an inline detail panel below the session row with additional information.
Cards View — A responsive grid of richly styled cards, one per session. Each card features a blurred backdrop image, poster artwork, server badge, transcoding indicator, media and stream metadata, and a sliding controls panel. A progress bar along the bottom edge shows playback position.
Table View — A flat DataTable listing all sessions with sortable and filterable columns. Best for administrators managing many simultaneous streams at once.
Session actions
For each active session, administrators can perform these actions:
| Action | What it does |
|---|---|
Pause | Sends a pause command to the media server. The viewer's player will pause playback. The button changes to Resume. |
Resume | Resumes a previously paused session. |
Stop | Stops playback gracefully. The media server tells the client to stop playing. The session will disappear from the active list. |
Send Message | Opens a dialog to compose and send a text message to the viewer's device. The message appears as an on-screen notification in their media player. You can set a custom header and timeout duration. |
Kill Session | The most aggressive action. Disconnects the device entirely from the media server — not just stopping playback, but terminating the device's connection. Requires confirmation before executing. |
Mirror | Opens a floating video player dock that mirrors the session's HLS stream so the admin can see exactly what the user sees. Requires the Playback Mirror feature flag enabled in General Settings. See the Playback Mirror section below for full details. |
Stop sends a graceful stop-playback command — the device stays connected to the server but playback ends. Kill disconnects the device entirely from the media server, which is useful for removing unauthorized or misbehaving clients. Kill requires a confirmation dialog before executing.
Inline detail panels
In the Categorical View, clicking on certain metadata fields expands an inline detail panel below the session row:
- Clicking a device name — expands a device detail panel with device history, rename options, and connection stats
- Clicking an IP address — expands a geographic information panel showing city, country, ISP, coordinates, and a map
- Clicking a username — expands a user profile panel with watch history and policy controls
In the Cards View, clicking these fields opens the same information in a modal dialog instead of inline expansion.
Playback Mirror
Playback Mirror lets an admin open a floating, draggable video player that streams exactly what a user is currently watching — the same content, proxied through the QuickBox Pro server in real time.
Playback Mirror is disabled by default. Enable it in Settings → General → Feature Flags by toggling Playback Mirror on. The toggle only appears when the main WSDashboard feature flag is also enabled.
What the mirror does
When you click Mirror on any active session, a floating Picture-in-Picture (PiP) dock appears. The dock shows the session’s live HLS stream starting at the viewer’s current playback position. You can:
- Drag the dock anywhere on screen by its header bar
- Resize it from any edge or corner (8 resize handles)
- Mute / unmute audio
- Toggle fullscreen for a closer look
- Toggle Nerd Stats — a diagnostic overlay showing codec, resolution, bitrate, play method, playback position, and mirror token time remaining
- Minimize the dock to a tab at the bottom of the viewport and restore it later
- Close the mirror when finished
Supported servers
Playback Mirror works with all three supported media servers:
| Media Server | VOD (Movies & TV) | Live TV |
|---|---|---|
Emby | Supported | Supported |
Jellyfin | Supported | Supported |
Plex | Supported | Supported |
Live TV sessions mirror on all three media servers. Because a live channel is single-consumer (the media server will not open a second copy of the tuner), the dashboard mirrors Live TV differently from VOD: instead of asking the media server for another transcode, it runs its own relay off the multi-consumer channel source and serves it to your browser. The user’s own playback is never touched.
Security model
The mirror system is designed so your media server’s API credentials never reach the admin’s browser:
- Server-side proxy — the QuickBox Pro server fetches the HLS stream from the media server and rewrites segment URLs before sending them to the browser. Raw API keys and tokens are never exposed to the client.
- HMAC-signed tokens — each mirror session receives a short-lived token that is cryptographically signed server-side. The HLS player uses this token to authenticate segment requests. Tokens are never stored in plain text.
- Configurable TTL — by default, mirror tokens expire after 2 minutes. You can increase the TTL or disable expiry entirely in General Settings when the Playback Mirror flag is enabled. When TTL is disabled, the mirror runs until you close the dock or the source playback ends.
- Admin-only — mirror start requests require administrator session authentication plus CSRF verification. Regular dashboard users cannot initiate or view mirrors.
- Audit logged — every mirror start and stop is recorded in the server audit log.
Concurrent mirror limit
Each admin can have up to 3 concurrent mirror sessions. Opening a new mirror when you already have 3 active will automatically close the oldest one. In practice, opening a new mirror from the session list closes any previously open dock since the dock displays one session at a time.
Configuring TTL
The mirror TTL is set per-server in Settings → General → Feature Flags (the TTL sub-section appears below the Playback Mirror toggle when the flag is enabled):
- TTL enabled (default) — mirrors expire automatically after the configured duration (default: 120 seconds). Set a higher value for longer monitoring sessions.
- TTL disabled — mirrors run indefinitely until you manually close the dock, the source user’s playback ends, or the server restarts.
Use a short TTL
- Quick verification that a stream is playing correctly
- One-off quality checks
- You want mirrors to self-clean if you forget to close them
Disable TTL or set a long TTL
- Monitoring a long-running playback session for quality degradation
- Watching a live stream alongside a user during support
- Testing transcode behavior over an extended period
How the mirror stream works
The mirror always delivers HLS (HTTP Live Streaming) to your browser, but where the stream comes from depends on the session type:
- VOD (Movies & TV Shows) — the mirror requests a new transcode from your media server, scoped to the admin. Even if the user is direct playing a high-bitrate file, the mirror runs through the media server’s transcoder.
- Live TV — a live channel is single-consumer, so the media server will not open a second copy of the tuner for the mirror. Instead, the dashboard runs its own relay off the multi-consumer channel source and serves that as HLS. This means a Live TV mirror does not add a transcode job to your media server and does not disturb the user’s own playback.
In both cases:
- There is a startup delay of a few seconds while the stream warms up
- The mirror may lag the source by a few seconds due to HLS segment buffering
Opening a VOD mirror starts a new transcode job on your media server. On resource-constrained servers or during peak streaming load, avoid opening VOD mirrors unnecessarily. The Nerd Stats overlay shows the play method and bitrate so you can assess the load impact. Live TV mirrors use the dashboard’s own relay instead of a media-server transcode.
Real-time updates
The sessions panel updates automatically through a server-sent event connection. You do not need to refresh the page. When a new stream starts, it appears immediately. When a stream ends, it disappears. When playback state changes — pause, resume, bitrate shift, progress — the display updates live.
If the real-time connection drops, the dashboard automatically attempts to reconnect with progressive backoff. The connection status indicator in the header reflects the current state.
GPU telemetry overlay
On servers with an Intel integrated GPU, the Streaming Dashboard can display real-time GPU utilization in a floating overlay. The overlay shows:
- Three engine utilization lines — Render (3D), Video (decode/encode), and Copy (DMA/blit) engine percentages
- Current GPU frequency in MHz
- GPU temperature when sensor data is available
- 5-minute history chart with continuous updates every 2 seconds
The overlay is a draggable panel that persists its position. Toggle it on and off using the GPU telemetry button in the page header. This feature is only visible when Intel GPU hardware is detected on the server.
GPU telemetry currently supports Intel integrated GPUs (i915 driver) used for hardware transcoding. Dedicated NVIDIA or AMD GPUs are not displayed in this overlay.
Empty state
When no streams are currently active, the sessions panel shows an empty state message. The stats banner displays zero counts. The library drawers continue to function normally since they display library content rather than active session data.
If no media server is configured at all, the page displays a setup prompt directing you to configure at least one media server in the Streaming Dashboard settings.
Best practices
Do
- Use the Categorical View for quick at-a-glance monitoring of grouped sessions
- Use the Table View when managing many simultaneous streams and sorting by specific metrics
- Check the GPU telemetry overlay during heavy transcoding to monitor hardware utilization
- Use the Send Message action to notify viewers before performing maintenance
- Reserve Kill Session for genuinely unauthorized or problematic clients — Stop is sufficient for most situations
- Close the mirror dock when you are done — each open mirror consumes a transcode slot on the media server
- Use Nerd Stats in the mirror dock to check codec and play method before assessing quality issues
Don't
- Don't use Kill Session casually — it disconnects the device entirely, not just the current playback
- Don't rely solely on bandwidth numbers for quality assessment — check the playback method (Direct Play vs Transcode) for context
- Don't ignore a disconnected status indicator in the header — it means real-time data is not flowing
- Don't open mirrors on high-load servers during peak hours — each mirror starts a new transcode job
- Don't expect the mirror to be frame-accurate — HLS transcoding introduces a few seconds of lag relative to the source
FAQ
Related pages
Overview of all WSDashboard features, prerequisites, and server capability comparison
Server health, user management, device tracking, and libraries
Watch statistics, trending content, and activity history
Enable the Playback Mirror feature flag and configure mirror TTL
Install and configure the Emby media server
Plex-specific capability notes for WSDashboard
Join the Community
Media server operators sharing configs, getting support, and shaping the future of QuickBox Pro.