差異重點
Flask「ipcam server」是輕量掃描+轉播(RTSP→MJPEG)的工具;
NVR是專用錄影與管理系統。
面向 | Flask ipcam server | NVR |
---|---|---|
目的 | 掃描 ONVIF、即時監看、臨時預覽 | 24/7 錄影、管理、查詢與回放 |
儲存 | 無內建錄影;需另接 FFmpeg/GStreamer | 內建持續/事件錄影、循環覆寫、保留策略 |
回放/檔案管理 | 無時間軸、索引、事件標記 | 時間軸回放、事件檢索、快照、剪輯、匯出 |
事件/AI | 無;需自行串接 | 移動偵測、人形/車牌、事件規則與通知 |
穩定性 | 走 OpenCV 軟轉 MJPEG,CPU 吃重;多路易爆 | 針對多路設計,支援硬體解碼與多串流 |
高可用 | 無 HA/熱備 | 常見 RAID、ANR(斷網續錄)、叢集/備援 |
裝置管理 | 僅列出 IP、拉流 | 通道管理、使用者/權限、健檢、韌體分發 |
網路/PoE | 不供電、不交換 | 多數機型內建 PoE 交換機與供電 |
合規/稽核 | 無水印、無稽核 | 浮水印、審計、日誌、法規報表 |
成本/彈性 | 成本低、可程式化 | 成本較高,但一體化與穩定度高 |
何時用哪個
-
用 Flask 版:實驗、現場勘測、開發驗證、臨時上牆。
-
用 NVR:正式場域、長期留存、多人權限管理、要事件告警與穩定回放。
若你要把 Flask 版往「準 NVR」靠攏,最低限度需加:
-
循環錄影:FFmpeg 分段
-f segment -segment_time 300 -reset_timestamps 1
;檔案輪替與清理。 -
索引與時間軸:把片段與事件寫 DB(SQLite/Postgres),提供
/api/playback?from=..&to=..
。 -
HLS/LL-HLS 輸出:讓瀏覽器原生播放,不靠 MJPEG。
-
健康檢查與自動重連:監看每路狀態,失敗即重拉。
-
權限與審計:JWT/LDAP、操作日誌、匯出簽章。