---
# System prepended metadata

title: VAPIX Best Practices
tags: [VAPIX]

---

# VAPIX Best Practices

:::info
基於 ServicePleX 平台，提供客戶一簡單、易用的 VMS (Video Management System) 功能，監控攝影機以支援 Axis camera 為主，型號必須支援 VAPIX APIs。
:::

## 基本功能

| VMS功能  | 對應的 VAPIX APIS 與說明 | 
| -------- | -------- | 
| 即時影像串流     | /axis-cgi/mjpg/video.cgi、/axis-cgi/h264/video.cgi、/axis-cgi/rtsp（取得MJPEG、H.264、RTSP串流）     | 
| 錄影排程與控制   | /axis-cgi/record/record.cgi（錄影控制，需支援的型號與韌體）、錄影可搭配NAS或SD卡管理     |
| 錄影回放   | /axis-cgi/record/list.cgi、/axis-cgi/record/clip.cgi（查詢、下載、分段錄影檔案，需支援的型號與韌體）     |
| 事件 / 警報管理   | /axis-cgi/eventstream.cgi（即時事件串流）、/axis-cgi/io/port.cgi（IO警報）、/axis-cgi/motion/motion.cgi（動態偵測）     |
| PTZ 控制   | /axis-cgi/com/ptz.cgi（雲台方向、變焦、預設點控制）     |
| 影像參數設定   | /axis-cgi/param.cgi、/axis-cgi/image/settings.cgi（解析度、亮度、壓縮率等調整）     |
| 裝置/網路管理   | /axis-cgi/network_settings.cgi（網路設定）、/axis-cgi/admin/param.cgi（系統參數）     |
| 使用者權限管理   | /axis-cgi/usergroup.cgi（帳號與權限設定，部分型號支援）     |
| 裝置狀態監控   | /axis-cgi/param.cgi?action=list（查詢狀態）、/axis-cgi/systeminfo.cgi（系統資訊）     |


## ServicePleX

:::info
要讓 ServicePleX 平台具備 Axis camera 的「基本管理」能力，建議開發以下幾種實用 custom widgets，涵蓋即時影像、錄影、狀態監控與控制等核心需求。
:::

* 1. **即時影像預覽 Widget**
功能：顯示 Axis camera 的即時串流（支援 MJPEG/HTTP、RTSP/HLS Proxy）。
說明：可用 ``<img>`` 或 ``<video>`` 標籤嵌入串流網址，並支援動態切換串流來源。
用途：讓使用者在儀表板即時監看現場畫面。
* 2. **快照/影像擷取 Widget**
功能：一鍵取得當前畫面快照，並顯示於儀表板。
說明：調用 Axis API 或 Node-RED 服務取得 JPEG 圖片，支援下載或存檔。
用途：事件發生時，快速保存現場證據。
* 3. **錄影控制與回放 Widget**
功能：啟動/停止錄影、查詢錄影檔案、播放錄影片段。
說明：整合 VAPIX/ONVIF API 控制錄影，並以播放器呈現錄影檔（建議支援 HLS/MPEG-DASH）。
用途：遠端管理錄影、快速查找回放事件。
* 4. **事件/告警監控 Widget**
功能：顯示 Axis camera 偵測到的事件（如移動偵測、IO 觸發、異常警報）。
說明：接收來自 Axis camera 或中介服務（如 Node-RED）的事件訊息，並以列表/彈窗方式呈現。
用途：及時反應現場異常，並可追蹤事件歷史。
* 5. **基本狀態監控 Widget**
功能：顯示攝影機線上/離線狀態、網路連線品質、儲存空間、韌體版本等資訊。
說明：定時查詢 Axis camera 狀態 API，並以卡片或表格呈現。
用途：方便運維人員監控設備健康狀態。
* 6. **遠端控制 Widget（可選）**
功能：PTZ（雲台）控制、重啟、韌體升級、設定參數。
說明：調用 VAPIX/ONVIF API，提供按鈕或滑桿操作介面。
用途：提升遠端維運效率，減少現場操作需求。
* 7. **設備管理/設定 Widget（可選）**
功能：顯示與編輯攝影機基本參數（如名稱、IP、串流參數）。
說明：可與 ThingsBoard 設備屬性同步，方便批量管理。
用途：統一管理多台攝影機配置。

**實作建議**
依據 ServicePleX 的 Widget 開發指南，可用 HTML/JS/CSS 建立上述功能，並支援自訂設定（如串流網址、事件類型）。

若需進階功能（如錄影回放、PTZ），建議整合 Node-RED 或中介服務，將複雜控制流程封裝成 API，Widget 僅負責前端互動。

可將上述功能分為多個小型 Widget，組成一個「Axis Camera 管理儀表板」，方便維運與擴充。

## 總結

**基本必備**
- 即時影像預覽
- 快照擷取
- 事件/告警監控
- 基本狀態監控

**進階可選**
- 錄影控制與回放
- 遠端控制（PTZ/重啟）
- 設備管理/設定

以上 custom widgets 組合後，即可滿足 Axis camera 在 ServicePleX 上的「基本管理」需求，並可根據實際場景逐步擴充高階功能。


## Github

* [vapix-python](https://github.com/derens99/vapix-python)