Encoder List View
Encoders are displayed as cards on the dashboard with comprehensive status information and interactive controls. Each encoder card contains the following elements:
Card Header
- Device Icon: Visual representation of the encoder device type
- Device Name: Full encoder name with location information
- Health Status Indicator: Color-coded status (Healthy/Warning/Critical/Offline) with visual badge
Services Section
- Expandable/Collapsible: Click to show/hide detailed service information
- Service Summary: Shows active/total services (e.g., "8/16 active")
- Instance Grid: Grid showing encoder instances (numbered 1–16)
- Instance Status: Each instance shows its operational state with color coding:
- Green (Healthy): Running normally - no restarts, no errors
- Yellow (Warning): Running but unstable - has restarted at least once since launch
- Orange (No Input): Running but no input signal detected on the ST 2110 source
- Red (Error): Instance has crashed or encountered a fatal error
- Blue pulsing (Starting): Instance is starting up or restarting
- Gray (Stopped): Instance is stopped
- Dashed border (Unconfigured): Slot has no encoder instance configured
System Alerts
Real-time monitoring alerts displayed as compact badges:
- Ping: reachability. On the central dashboard this is the dashboard's own
round trip to the device; the device itself measures reachability of its
own default gateway. Both are correct - they measure different paths.
- CPU: processor utilization (yellow ≥ 70 %, red ≥ 85 %)
- RAM: memory usage (yellow ≥ 70 %, red ≥ 85 %)
- Network: link utilisation of the busiest interface (yellow ≥ 70 % of the
negotiated link speed, red ≥ 85 %) plus link errors - CRC/FIFO/overrun
counters measured against a baseline taken at start. The dropped counter is
shown for information and never raises an alarm: on Linux it counts traffic
the host did not want (unknown port, ignored multicast) and a perfectly
healthy box accumulates it continuously.
- Logs: system log analysis and error detection
- License: license validation and expiration
- Connection: how many network interfaces are up
- Time Sync: system time synchronization status
Each alert shows last value, timestamp, and can be acknowledged by clicking.
Performance Metrics
Bottom status bar displaying: - Uptime: How long the device has been continuously running - CPU Usage: Current processor utilization percentage - RAM Usage: Current memory utilization percentage
Instance Tooltip Details
Hovering over an instance grid square shows a tooltip with: - Status badge: Color-coded label (Healthy / Warning / No Input / Error / Starting / Stopped) - Input: ST 2110 source type and resolution - Video: Resolution, codec (H.264), and bitrate - Audio: Format (AAC), bitrate, and number of tracks - Output: MPEG-TS destination IP and port - Restart count: Number of times the instance has restarted (shown if > 0) - Input signal: "No input signal detected" warning when the ST 2110 source has no signal - Output status: "Output not active" warning when the FFmpeg output pipeline is not producing frames - Encoding FPS: Real-time frames-per-second of the encoding output (e.g. "29.8 fps") - Last error: Most recent error message displayed in red, if any
Interactive Features
- Hover Tooltips: Service instances show detailed configuration when hovered
- Click Navigation: Click anywhere on card to navigate to detailed encoder view
- Drag & Drop: Cards can be reordered using the grip handle
- Visual Feedback: Hover effects and gradient highlights on interaction
Encoder Detail View
The detailed view shows comprehensive encoder information including: - ST 2110 source configuration (multicast IP, port, payload type) - BLUE line redundancy source configuration (if configured) - Running status with FPS and uptime - GPU assignment and load balancing - Control buttons (Start/Stop/Restart) - Activity logs and export functionality
ST 2110 Source Configuration
Each encoder instance receives uncompressed video and audio over SMPTE ST 2110: - Video Source (RED): Multicast IP, port, payload type (ST 2110-20) - Audio Source (RED): Multicast IP, port, payload type, channels, sampling rate (ST 2110-30) - Video Source (BLUE): Redundant video path (if configured) - Audio Source (BLUE): Redundant audio path (if configured)
Encoding Pipeline
Each instance runs an FFmpeg pipeline: - Input: ST 2110-20 video + ST 2110-30 audio via Intel MCL/DPDK - Video Encoding: H.264 hardware-accelerated via Intel VA-API (h264_vaapi) - Audio Encoding: AAC - Output: MPEG-TS over UDP to configured destination
GPU Load Balancing
The encoder daemon automatically distributes streams across available Intel GPUs: - GPU index is shown per instance - Each GPU handles up to ~8 concurrent 4K25 streams
Naming an Instance
Each instance card shows a name, by default Encoder N. Click the name (a pencil appears on hover) and type your own, e.g. Reuters or Camera 3; Enter or ✓ saves, Esc or ✕ cancels, and clearing the field restores the numbered default. Names are up to 40 characters.
The name lives on the encoder, not in your browser - every operator on every browser sees the same name. Renaming is metadata only: a running encoder keeps encoding, nothing restarts.
Instance Status Indicators
Each encoder instance card in the detail view displays the same color-coded status as the dashboard grid: - Green (Healthy): Running normally - Yellow (Warning): Running but has restarted - check stability - Orange (No Input): Running but no ST 2110 input signal detected - Red (Error): Fatal error occurred - Blue pulsing (Starting): Instance is starting or restarting - Gray (Stopped): Instance is not running
Instance Health Monitoring
The encoder daemon monitors each instance in real time: - Input signal detection: Monitors pipeline to determine if the ST 2110 source is active - Output monitoring: Parses FFmpeg stderr to track encoding FPS and detect output failures - Restart tracking: Counts how many times an instance has been restarted, visible in the UI as a warning indicator - FPS badge: Each running instance shows a real-time FPS badge on the output section (e.g. "29.8 fps")
Troubleshooting
- No input signal: Verify ST 2110 source is transmitting; check multicast IP, port, and VLAN configuration on the network switch
- Encoder offline: Verify network connectivity and encoder power status; check systemd service status
- Low FPS / dropped frames: Check GPU utilization - if near capacity, consider redistributing streams across GPUs
- Instance stuck in Starting: The FFmpeg pipeline may be waiting for valid ST 2110 input; check source availability
- Red/Error status: Check instance logs via the Logs button for the specific FFmpeg error message