Back to articles
Technology Insight

Tự Host Hệ Thống Phân Tích Video An Ninh Bằng AI Với Agent Viseron Và Local LLM Trên VPS Linux

June 3, 2026

Giới thiệu xu hướng AI Edge trong giám sát an ninh

Trong kỷ nguyên số hiện nay, an ninh camera giám sát không còn dừng lại ở việc ghi hình thụ động. Sự bùng nổ của trí tuệ nhân tạo (AI) đã chuyển đổi các hệ thống NVR (Network Video Recorder) truyền thống thành các trung tâm phân tích dữ liệu theo thời gian thực. Tuy nhiên, việc gửi luồng dữ liệu video nhạy cảm lên các dịch vụ đám mây (Cloud) luôn tiềm ẩn rủi ro lớn về bảo mật dữ liệu và chi phí duy trì băng thông cao.

Chính vì lý do đó, giải pháp tự host (Self-hosted) hệ thống phân tích video bằng AI trên hạ tầng riêng như VPS Linux đang trở thành xu hướng tối ưu cho các doanh nghiệp và chuyên gia công nghệ. Bằng cách kết hợp giữa Agent Viseron — một nền tảng NVR mã nguồn mở mạnh mẽ — và Local LLM (Mô hình ngôn ngữ lớn chạy cục bộ), bạn có thể sở hữu một hệ thống giám sát thông minh độc lập, bảo mật tuyệt đối và có khả năng phân tích ngữ cảnh video chuyên sâu bằng ngôn ngữ tự nhiên.

---

Tổng quan về giải pháp: Viseron và Local LLM

Viseron là gì?

Viseron là một phần mềm NVR và thị giác máy tính (Computer Vision) tự host định hướng chạy hoàn toàn cục bộ (local-only). Được thiết kế theo kiến trúc hướng thành phần (component-based) tương tự như Home Assistant, Viseron cho phép tích hợp linh hoạt nhiều mô hình phát hiện chuyển động, nhận diện khuôn mặt (CompreFace, dlib), nhận diện biển số xe và phân loại vật thể (YOLOv7, TensorFlow) thông qua tăng tốc phần cứng (CUDA, OpenVINO, VA-API).

Tại sao nên kết hợp với Local LLM?

Mặc dù các mô hình thị giác máy tính truyền thống có thể phát hiện chính xác vật thể như "người" hoặc "xe hơi", chúng lại thiếu khả năng hiểu ngữ cảnh phức tạp. Khi kết hợp với các mô hình ngôn ngữ lớn hoặc mô hình thị giác đa phương thức (Vision-Language Models - VLMs) chạy cục bộ thông qua các AI Agent:

  • Truy vấn bằng ngôn ngữ tự nhiên: Bạn có thể hỏi hệ thống: "Có ai mang ba lô màu đỏ đi qua cửa sau vào buổi chiều không?"
  • Báo cáo tự động nâng cao: Hệ thống tự động tóm tắt các sự kiện diễn ra trong ngày thay vì chỉ gửi hàng loạt cảnh báo chuyển động rác.
  • Bảo mật tối đa: Toàn bộ quy trình phân tích và suy luận ngôn ngữ diễn ra ngay trên VPS Linux của bạn, không có bất kỳ dữ liệu nào bị rò rỉ ra Internet.
---

Chuẩn bị hạ tầng VPS Linux và môi trường

Để đảm bảo hệ thống vận hành mượt mà với các tác vụ giải mã video và suy luận AI, cấu hình VPS Linux cần đáp ứng các tiêu chuẩn kỹ thuật sau:

Khuyến nghị cấu hình tối thiểu:
- CPU: Tối thiểu 4 Cores (Ưu tiên các dòng CPU hỗ trợ AVX2).
- RAM: Tối thiểu 8GB (Nếu chạy kèm các mô hình LLM/VLM nhỏ như MiniCPM-V hoặc Llama-3-Vision, khuyến nghị 16GB RAM).
- Lưu trữ: SSD NVMe dung lượng lớn để lưu trữ file ghi hình video.
- Hệ điều hành: Ubuntu Server 22.04 LTS hoặc 24.04 LTS.
- Tùy chọn GPU: VPS có hỗ trợ NVIDIA GPU (vGPU) để kích hoạt tăng tốc CUDA cho cả Viseron và LLM.

Bước 1: Cập nhật hệ thống và cài đặt Docker

Đầu tiên, hãy kết nối SSH vào VPS của bạn và cập nhật toàn bộ hệ thống lên phiên bản mới nhất:

sudo apt update && sudo apt upgrade -y
sudo apt install curl git build-essential -y

Tiếp theo, tiến hành cài đặt Docker Engine và Docker Compose để quản lý các container một cách dễ dàng:

curl -fsSL [https://get.docker.com](https://get.docker.com) -o get-docker.sh
sudo sh get-docker.sh
---

Cấu hình Agent Viseron qua Docker Compose

Chúng ta sẽ triển khai Viseron bằng Docker. Tạo một thư mục riêng cho dự án và khởi tạo file cấu hình cấu trúc:

mkdir ~/viseron-ai && cd ~/viseron-ai
mkdir config recordings

Tạo file docker-compose.yml

Tạo file docker-compose.yml bằng trình chỉnh sửa nano hoặc vim:

version: '3.8' 
services:
  viseron:
    image: roflcoopter/viseron:latest
    container_name: viseron
    restart: unless-stopped
    network_mode: host
    volumes:
      - ./config:/config
      - ./recordings:/recordings
      - /etc/localtime:/etc/localtime:ro
    environment:
      - TZ=Asia/Ho_Chi_Minh
    # Nếu sử dụng NVIDIA GPU, bỏ chú thích đoạn dưới đây:
    # deploy:
    #   resources:
    #     reservations:
    #       devices:
    #         - driver: nvidia
    #           count: all
    #           capabilities: [gpu]

Cấu hình file config.yaml cho Viseron

Trong thư mục ./config, tạo file config.yaml để thiết lập camera (RTSP stream) và trình phát hiện vật thể (Object Detector). Dưới đây là cấu hình mẫu kết nối với một camera IP bằng giao thức RTSP và bật tính năng phát hiện người:

ffmpeg:
  camera:
    camera_1:
      name: Văn phòng Chính
      host: 192.168.1.100
      port: 554
      path: /stream1
      username: admin
      password: YourSecurePassword

mog2:
  motion_detector:
    cameras:
      camera_1:
        fps: 2

darknet:
  object_detector:
    cameras:
      camera_1:
        fps: 1
        labels:
          - label: person
            confidence: 0.75
        trigger_event_recording: true

nvr:
  camera_1:
    title: Hệ thống Giám sát
    guid: camera_1_vsn
---

Tích hợp Local LLM và Kiến trúc Agentic AI

Để nâng cấp Viseron từ một NVR thông thường thành một hệ thống có nhận thức, chúng ta cần triển khai một Local LLM / VLM API Gateway (ví dụ: thông qua Ollama hoặc LocalAI) đóng vai trò là backend suy luận cho AI Agent.

Bước 1: Chạy Ollama trên VPS

Cài đặt Ollama để chạy các mô hình ngôn ngữ lớn và mô hình thị giác (Vision) trực tiếp trên máy chủ Linux:

curl -fsSL [https://ollama.com/install.sh](https://ollama.com/install.sh) | sh

Tải về mô hình thị giác đa phương thức dung lượng nhẹ (ví dụ: Llama-3-Vision hoặc Moondream2) để phân tích hình ảnh trích xuất từ video:

ollama run moondream

Bước 2: Kết nối Viseron Event Trigger với Agent Script

Viseron hỗ trợ xuất bản các sự kiện (Events) qua giao thức MQTT hoặc Webhooks khi phát hiện ra vật thể. Chúng ta có thể viết một Agent script bằng Python nhỏ để lắng nghe sự kiện từ Viseron, trích xuất ảnh snapshot từ camera tại thời điểm xảy ra sự kiện, gửi đến Local LLM để phân tích sâu, sau đó đưa ra kết luận logic.

Kiến trúc luồng xử lý: [Viseron phát hiện người] -> [Gửi Webhook kèm Ảnh] -> [AI Agent gọi Local LLM phân tích hành vi] -> [Gửi thông báo chi tiết qua Telegram/Discord].

---

Tối ưu hóa hiệu năng và bảo mật hệ thống

Việc vận hành đồng thời cả xử lý luồng video (Video Streaming) và suy luận AI (LLM Inference) trên một máy chủ VPS đòi hỏi sự quản lý tài nguyên nghiêm ngặt:

  • Sử dụng Substream để phát hiện chuyển động: Cấu hình Viseron đọc luồng video độ phân giải thấp (Substream - ví dụ 640x480) để chạy thuật toán AI phát hiện vật thể, và chỉ dùng luồng độ phân giải cao (Mainstream - 4K/1080p) để ghi hình luồng gốc nhằm tiết kiệm CPU/GPU.
  • Áp dụng Quantization cho LLM: Luôn sử dụng các mô hình định dạng mã hóa nén (Quantized 4-bit hoặc 8-bit) của LLM để giảm thiểu dung lượng RAM/VRAM tiêu thụ mà không làm suy giảm đáng kể độ chính xác.
  • Phân tầng lưu trữ (Storage Tiers): Thiết lập chính sách lưu trữ của Viseron để tự động chuyển các video cũ từ ổ SSD sang các phân vùng lưu trữ có chi phí rẻ hơn (Object Storage gắn kèm hoặc HDD) hoặc tự động xóa sau một khoảng thời gian nhất định nhằm tránh tràn đĩa hệ thống.
---

Lời kết

Thiết lập thành công hệ thống phân tích video an ninh bằng AI thông qua Agent Viseron và Local LLM trên VPS Linux không chỉ giúp bạn làm chủ hoàn toàn công nghệ, bảo vệ dữ liệu riêng tư tuyệt đối mà còn mở ra tiềm năng tự động hóa không giới hạn. Đây chính là bước đi chiến lược giúp các doanh nghiệp tối ưu chi phí hạ tầng giám sát, sẵn sàng đón đầu kỷ nguyên AI Edge đang diễn ra mạnh mẽ.

Tự Host Hệ Thống Phân Tích Video An Ninh Bằng AI Với Agent Viseron Và Local LLM Trên VPS Linux | DPTCloud