| Item | Details |
|---|---|
| Manual Version | V1.5.0 |
| Last Updated | 2026-03-02 |
| Software Version | AIBox V1.4.0 and above |
| Scope | AIBox Full Edition (macOS / Linux / Docker deployment) |
| Role | Recommended Chapters |
|---|---|
| Regular User | 3 – 6 |
| System Admin | 3 – 8 |
| Operations | 3, 7, 8, 9 |
| Symbol | Meaning |
|---|---|
| 【Button】 | Clickable button in the UI, e.g. 【Save】, 【Create】 |
| "Menu" | Left sidebar navigation menu item, e.g. "Task Management" |
Field |
Form input field name |
| ⚠️ | Important notice |
| 💡 | Tips and tricks |
| 🔒 | Requires admin privileges |
AIBox (Smart Video AI Detection Platform) is an intelligent video analysis platform that integrates video stream ingestion, AI-powered detection, real-time alerting, and streaming output. The system supports RTSP cameras and video streams, leverages multiple AI algorithms for real-time video content detection, and delivers results via Webhook callbacks, video overlay output, and more.
| Module | Description |
|---|---|
| Dashboard | System status overview including sources, tasks, detection stats, and resource usage |
| Video Wall | Multi-view real-time video monitoring with customizable grid layouts |
| Input Sources | Add and manage RTSP cameras and video stream URLs |
| Output Streams | Configure FFmpeg stream output (RTSP/RTMP/RTP) |
| Model Management | Upload and manage YOLO detection model files |
| Task Management | Create, start, stop, and monitor AI detection tasks |
| Detection Results | View, filter, and export detection results and screenshots |
| Callback Management | Configure Webhook callback endpoints with JWT authentication |
| LLM Analysis | Use LLM vision models for intelligent image analysis |
| LLM Providers | Configure LLM service providers (OpenAI / Ollama, etc.) |
| User Management | Manage system user accounts and roles |
| System Config | Global system parameter settings |
| Algorithm | Description |
|---|---|
| YOLO Object Detection | General object detection (pedestrians, vehicles, animals, 80+ categories) |
| Intrusion Detection | Detect target intrusion within designated zones |
| License Plate Recognition | Detect license plates and recognize numbers via OCR |
| Line Crossing Counter | Count targets crossing a specified line |
| Open Vocabulary Detection (YOLO-World) | Custom object detection based on text keywords |
| Text-Prompted Detection (GroundingDINO) | Object detection based on natural language descriptions |
| HuggingFace Models | Load models from HuggingFace Hub for classification/detection |
| Browser | Minimum Version | Recommended |
|---|---|---|
| Google Chrome | 90+ | ✅ Recommended |
| Microsoft Edge | 90+ | ✅ Recommended |
| Mozilla Firefox | 85+ | ✓ Supported |
| Safari | 15+ | ✓ Supported |
⚠️ Video preview relies on HTTP-FLV playback (mpegts.js). Chrome or Edge is recommended for the best experience.
The system supports two roles:
| Role | Permissions |
|---|---|
| Regular User | View dashboard, video wall, sources, streams, tasks, results, callback logs, LLM analysis |
| Admin | All of the above + create/edit/delete operations + user management + system config + LLM providers |
💡 Default admin account: username
admin, password set during deployment. Contact your operations team for initial login credentials.
Enter the platform URL in your browser:
For example: http://ai-box.your-domain.com or http://aibox.your-domain.com
Open your browser and navigate to the platform URL to reach the login page
Enter your username in the Username field
Enter your password in the Password field (click the eye icon to reveal the password)
Click the 【Login】 button
Upon successful login, you will be redirected to the Dashboard
💡 You can switch the interface language in the top-right corner of the login page: 简体中文 / 繁體中文 / English
You can use a URL parameter to pass a JWT token for automatic login, ideal for third-party system embedding:
The token is automatically saved to the browser's local storage and removed from the URL.
Regular users cannot reset their own passwords. Please contact the system admin. Admins can edit user profiles and set new passwords in "User Management".
Click the 【Logout】 button in the top-right corner to sign out. The page will automatically redirect to the login page.
⚠️ Login tokens have an expiration time. After prolonged inactivity, you will be automatically redirected to the login page.
The system interface consists of three parts:
The left sidebar displays all feature module menus. Click the collapse/expand button to toggle the sidebar.
| Icon | Menu | Description | Access |
|---|---|---|---|
| 📊 | Dashboard | System overview | All users |
| 🖥️ | Video Wall | Multi-view live monitoring | All users (can be hidden in system config) |
| 📹 | Input Sources | RTSP source management | All users (editing requires admin) |
| 🔗 | Output Streams | Stream output management | All users (editing requires admin) |
| 📦 | Models | AI model management | All users (upload requires admin) |
| 📋 | Tasks | Detection task management | All users (creation requires admin) |
| 🖼️ | Results | Detection results viewer | All users |
| 🔗 | Callbacks | Webhook callback config | All users (editing requires admin) |
| 🔍 | LLM Analysis | LLM vision analysis | All users |
| 🔗 | LLM Providers | LLM provider config | 🔒 Admin |
| 👤 | Users | User account management | 🔒 Admin |
| ⚙️ | System Config | Global system settings | 🔒 Admin |
From left to right:
| Operation | Description |
|---|---|
| Add | Click the 【Add】/【Create】 button at the top, fill in the dialog form, and submit |
| Edit | Click the ✏️ edit button in the table row's action column |
| Delete | Click the 🗑️ delete button; a confirmation dialog will appear |
| Batch Delete | Select multiple rows and click the 【Batch Delete】 button |
| Filter | Use the filter controls at the top (dropdowns, search box) to filter data |
| Pagination | Switch page size (10/20/50/100) and navigate pages at the table bottom |
| Export | Click the 【Export】 button to download data as an Excel file |
Purpose: System status overview with key metrics and statistical charts.
Access: Automatically displayed after login, or click "Dashboard" in the sidebar.
Page Content:
Stat Cards (top row):
| Card | Description |
|---|---|
| Online Sources | Number of online/total input sources |
| Running Tasks | Number of running/total detection tasks |
| Total Detections | Cumulative detection result count |
| CPU Usage | Current server CPU utilization |
Charts (2×2 grid):
System Status (bottom cards):
💡 Dashboard data refreshes automatically every 10 seconds.
Purpose: Multi-view real-time video monitoring with customizable grid layouts.
Access: Click "Video Wall" in the sidebar.
Steps:
Notes:
Purpose: Manage RTSP cameras and video stream URLs connected to the system.
Access: Click "Input Sources" in the sidebar.
Click 【Add Source】 at the top of the page
Fill in the dialog:
Source Name: A recognizable name for the camera (required)RTSP URL: The camera's RTSP stream URL (required), e.g. rtsp://user:pass@IP:port/pathDescription: Notes (optional)Click 【Save】
Click the 【Play】 button in the table row to open a live video preview window. Click 【Test Connection】 to check if the RTSP stream is available; on success, resolution, frame rate, and codec info will be displayed.
⚠️ If a source is referenced by a detection task, deleting it may affect the related task.
Purpose: Configure streaming output URLs for detection result video (supports RTSP / RTMP / RTP).
Access: Click "Output Streams" in the sidebar.
Stream Name: Identifier for the output stream (required)Stream Type: Protocol type — RTSP / RTMP / RTP (required)Stream URL: Target push URL (required), e.g.:
rtsp://server-ip:554/live/stream1rtmp://server-ip:1935/live/stream1Status: Enable/disable toggleDescription: NotesClick the 【Play】 button in the table to preview the push stream via HTTP-FLV in a popup window.
💡 Output streams push detection-overlaid video to a streaming server. You can bind a detection task to an output stream in "Task Management".
Purpose: Upload and manage YOLO series detection model files.
Access: Click "Models" in the sidebar.
Model Name: Identifier for the model (required)Version: Model version number, e.g. v8n, v8s, v11nDescription: Model usage descriptionModel File: Click the upload area to select a .pt model file⚠️ Model files are typically large (tens to hundreds of MB). Please be patient during upload and do not close the page.
💡 The system includes pre-installed YOLOv8n and YOLOv11n models that can be used directly for detection tasks. Upload custom-trained models here if needed.
Purpose: Create, configure, and start/stop AI detection tasks. This is the most critical module of the system.
Access: Click "Tasks" in the sidebar.
Basic Information:
| Field | Description |
|---|---|
Task Name |
Task identifier (required) |
Input Source |
Select from added sources (required) |
Algorithm Configuration (dynamically displays options based on the selected algorithm type):
| Algorithm Type | Configurable Options |
|---|---|
| YOLO Object Detection | Model selection, confidence threshold |
| Intrusion Detection | Model, confidence threshold, detection zone drawing, person-only mode |
| License Plate Recognition | Model, confidence threshold, OCR toggle, OCR language, save plate images |
| Line Crossing Counter | Model, confidence threshold, line drawing, direction, target types |
| Open Vocabulary Detection | Detection keywords (comma-separated), confidence threshold |
| Text-Prompted Detection | Detection keywords, confidence threshold |
| HuggingFace Model | Model repo name, task type, Top-K, confidence threshold |
Advanced Configuration:
| Field | Description |
|---|---|
Frame Skip |
Detect every N frames; higher = better performance but less real-time (0 = every frame) |
Output Stream |
Toggle + select stream to overlay detection results and push |
Overlay Output |
Whether to overlay detection boxes and labels on the output stream |
Callback |
Toggle + select callback config to trigger Webhook on detection |
Event Detection |
Only record results when targets are detected (reduces unnecessary data) |
Video Recording |
Automatically record video clips when events are detected |
Clip Duration |
Duration of recorded video clips (1–30 seconds) |
Click 【OK】 to save the task
For "Intrusion Detection" and "Line Crossing Counter" algorithms, you need to draw detection zones or counting lines:
Each task has an "Auto-Start" toggle (switch in the table). When enabled, the task will automatically resume when the system restarts.
Click the 📋 log button to view detailed task execution logs in a popup window, useful for troubleshooting.
For "Open Vocabulary Detection" and "Text-Prompted Detection" tasks, click the 🪄 button to update detection keywords in real-time without restarting the task.
For running tasks with an output stream configured, click 🖥️ to preview the live video with detection results overlaid.
💡 A frame skip value of 3–5 is recommended for a good balance between detection accuracy and system resource usage.
Purpose: View, filter, and export AI detection result records.
Access: Click "Results" in the sidebar, or click the 📄 view results button in Task Management.
Filter controls are available at the top of the page:
Click the 【Export】 button at the top to export the current filtered results as an Excel (.xlsx) file.
💡 The detection results page auto-refreshes every 30 seconds to display the latest data.
Purpose: Configure Webhook callback endpoints to automatically push detection results to third-party systems.
Access: Click "Callbacks" in the sidebar.
Name: Callback configuration name (required)URL: HTTP endpoint URL to receive callbacks (required)Method: HTTP request method (POST / GET / PUT / PATCH / DELETE)Status: Enable/disable toggleJWT Token field with an existing tokenClick the 【Test】 button in the table to send a test message to the configured URL and verify connectivity.
Click the 【Logs】 button to view the push history for a callback configuration, including:
💡 When creating a detection task, you can associate a callback configuration. Results will be automatically POSTed to the callback URL when detected.
Purpose: Use LLM vision models (e.g. GPT-4o) to intelligently analyze uploaded images and perform object detection.
Access: Click "LLM Analysis" in the sidebar.
Steps:
Prompt field (e.g. "Detect all vehicles in the image", "Identify safety hazards")Provider dropdown⚠️ You must configure at least one LLM provider in "LLM Providers" before using LLM Analysis.
🔒 The following features are only visible to and operable by admins.
Purpose: Manage system user accounts, including creating, editing, and deleting users.
Access: Click "Users" in the sidebar.
Username: Login username (required, must be unique)Email: User email (must be a valid email format)Password: Login password (required, 8+ characters recommended)Role: Regular User / AdminClick the edit button on a user row to modify username, email, and role. Leave the password field empty to keep the current password.
Click the delete button and confirm to delete the user account.
⚠️ Do not delete all admin accounts, or you will be unable to access the admin panel.
Purpose: Configure LLM (Large Language Model) service provider connection information.
Access: Click "LLM Providers" in the sidebar.
| Field | Description |
|---|---|
Provider Type |
OpenAI / Ollama |
Provider Name |
Custom name |
Base URL |
API endpoint URL (OpenAI default: https://api.openai.com/v1) |
API Key |
API key (not required for Ollama) |
Organization |
Organization ID (optional) |
Project |
Project ID (optional) |
Model |
Model name (e.g. gpt-4o, gpt-4o-mini; supports manual input of custom model names) |
Description |
Notes |
Click 【Test】 to open a test dialog:
💡 To use OpenAI API-compatible third-party services (e.g. Azure OpenAI, Qwen, etc.), select the OpenAI type and modify the Base URL.
Purpose: Global system parameter settings.
Access: Click "System Config" in the sidebar.
Configurable Options:
| Setting | Description | Default |
|---|---|---|
| System Name | Platform name displayed on the login page and sidebar | Smart Video AI Detection Platform |
| Hash Comparison Window | Time window for adjacent frame deduplication (seconds) | 2.0 |
| Hash Difference Threshold | Threshold for determining different frames | 0.3 |
| Send Email on Startup | Whether to send notification emails when the system starts | Off |
| Detection Alert Sound | Whether to play a sound when a detection alert triggers | On |
| Show Video Wall Menu | Whether to show the Video Wall entry in the sidebar | On |
| ZLMediaKit Server Address | Streaming server HTTP address | http://zlm.your-domain.com:8080 |
| ZLMediaKit API Secret | Streaming server management API secret | Preset value |
Click 【Save】 at the top of the page to apply changes.
⚠️ After changing the ZLMediaKit address, all video preview features will use the new server address. Ensure it is correct and accessible.
| Possible Cause | Solution |
|---|---|
| Wrong username or password | Verify input, mind case sensitivity. Contact admin to reset password |
| Backend service not running | Contact ops to verify backend service status |
| Network unreachable | Check if you can ping the server IP |
| Token expired | Clear browser cache and log in again |
| Possible Cause | Solution |
|---|---|
| Frontend service not running | Contact ops to verify Nginx / frontend service status |
| Browser cache issue | Press Ctrl + Shift + R (Mac: Cmd + Shift + R) to force refresh |
| High network latency | Check network connection quality |
| First model load | First task start requires loading the AI model, which may take 30–60 seconds |
| Possible Cause | Solution |
|---|---|
| ZLMediaKit not running | Contact ops to verify streaming service status |
| ZLMediaKit address misconfigured | Admin should check the ZLMediaKit address in "System Config" |
| RTSP source offline | Click 【Test Connection】 in "Input Sources" to check stream availability |
| Unsupported browser | Use Chrome or Edge |
| Possible Cause | Solution |
|---|---|
| RTSP source offline | Confirm camera is online and check RTSP URL |
| Model file missing | Verify the selected model has been uploaded and the file is intact |
| Insufficient resources | Check CPU / memory usage; stop unnecessary tasks |
| Algorithm misconfiguration | Check algorithm parameters (detection zone, keywords, etc.) |
| Possible Cause | Solution |
|---|---|
| Task not running | Confirm task status is "Running" |
| Confidence threshold too high | Lower the confidence threshold (recommended: 0.3–0.5) |
| Keywords don't match | Check keyword settings for open vocabulary / text-prompted algorithms |
| Frame skip too high | Reduce frame skip to increase detection frequency |
| Event detection enabled | Event detection mode only records when target changes are detected |
| Possible Cause | Solution |
|---|---|
| Too much data | Use filters to narrow the export range and retry |
| Model file too large | Ensure network stability; don't close the page during upload |
| Insufficient disk space | Contact ops to free up server disk space |
Regular users cannot perform create, edit, or delete operations — the corresponding buttons are not displayed on the page. Contact your system admin to upgrade your role to admin if you need these permissions.
| Possible Cause | Solution |
|---|---|
| Callback not enabled | Check if the callback configuration "Status" is set to enabled |
| Task not linked to callback | Edit the task, enable "Callback" and select a callback config |
| Callback URL unreachable | Use the 【Test】 button to verify connectivity |
| JWT Token expired | Check error messages in callback logs and update JWT configuration |
| Term | Definition |
|---|---|
| RTSP | Real Time Streaming Protocol — used for camera video stream transmission |
| RTMP | Real Time Messaging Protocol — commonly used for live streaming |
| YOLO | You Only Look Once — an efficient real-time object detection algorithm |
| GroundingDINO | Text-prompted open-set object detection model |
| YOLO-World | Open vocabulary YOLO object detection model |
| ZLMediaKit | High-performance streaming media server used for video stream proxying and HTTP-FLV forwarding |
| HTTP-FLV | FLV video stream over HTTP, used for low-latency browser video playback |
| OCR | Optical Character Recognition |
| LLM | Large Language Model |
| JWT | JSON Web Token — an identity authentication token standard |
| Webhook | A callback mechanism that automatically sends HTTP requests to a specified URL when events occur |
| Confidence | The model's certainty level for a detection result, range 0–1, higher means more certain |
| Frame Skip | Execute detection every N frames to reduce CPU/GPU load |
| Hash Dedup | Filter duplicate frame detection results through image hash comparison |
The system supports URL query parameters to control interface behavior:
| Parameter | Values | Effect |
|---|---|---|
secret |
JWT string | Auto-login (token stored locally, then removed from URL) |
redirect |
Path (e.g. /tasks) |
Redirect to specified page after login |
theme |
light / dark / system |
Override current theme setting |
show_content_only |
1 / true / yes / on |
Hide sidebar and top bar (Kiosk/embed mode) |
Example:
| Action | Description |
|---|---|
Ctrl + Shift + R |
Force refresh page (clear cache) |
| Right-click / Double-click | Finish zone drawing |
| Click thumbnail | View full-size detection result image |
| Toggle auto-start switch | Switch directly in the task list, no need to open edit dialog |
If you encounter issues not covered in this manual, please contact technical support:
This manual was last updated on March 2, 2026. Please refer to the actual system functionality if you have any questions.