Skip to main content

Viseron en reComputer

Introducción

Viseron es un software NVR y de Visión Artificial autoalojado y solo local implementado en Python. El objetivo de Viseron es ser fácil de configurar y usar, mientras sigue siendo potente y flexible. Está diseñado para ejecutarse en una red local, sin dependencias externas y sin requerir servicios en la nube.

Prerrequisitos

Requisitos de Hardware

reComputer AI R2130reComputer AI Industrial R2145

Requisitos de Software

Actualizar sistema

Por favor usa el siguiente comando para ejecutar.

sudo apt update
sudo apt upgrade -y

Descargar docker y docker compose

Por favor usa el siguiente comando para instalar docker.

wget https://get.docker.com -O get-docker.sh
chmod +x
sudo sh get-docker.sh
sudo systemctl start docker
sudo systemctl enable docker
docker --version

El resultado se muestra a continuación:

pir

Por favor usa el siguiente comando para instalar docker compose.

sudo curl -L "https://github.com/docker/compose/releases/download/$(curl -s https://api.github.com/repos/docker/compose/releases/latest | jq -r .tag_name)/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
docker-compose --version

El resultado se muestra a continuación:

pir

Descargar Viseron

Crear carpetas

Por favor usa el siguiente comando para crear carpetas

cd ~
mkdir -p viseron_data/{timelapse,thumbnails,snapshots,segments,models,event_clips,config}

Descargar Modelo

Por favor usa el siguiente comando para descargar el modelo hef para el dispositivo hailo8.

cd ~/viseron_data/models
wget https://hailo-model-zoo.s3.eu-west-2.amazonaws.com/ModelZoo/Compiled/v2.16.0/hailo8/yolov8n.hef

Crear docker-compose.yaml

Por favor usa el siguiente comando para crear docker-compose.yaml.

cd ~ && nano docker-compose.yaml
services:
viseron:
image: roflcoopter/viseron:latest
container_name: viseron
shm_size: "1024mb"
volumes:
- /home/ain/viseron_data/segments:/segments
- /home/ain/viseron_data/snapshots:/snapshots
- /home/ain/viseron_data/thumbnails:/thumbnails
- /home/ain/viseron_data/event_clips:/event_clips
- /home/ain/viseron_data/timelapse:/timelapse
- /home/ain/viseron_data/config:/config
- /etc/localtime:/etc/localtime:ro
- /home/ain/viseron_data/models:/models
ports:
- 8888:8888
devices:
- /dev/hailo0

Configurar Viseron

Ejecutar Viseron

Por favor usa el siguiente comando para ejecutar viseron

cd ~
docker compose up

pir

Abrir puerto

Por favor abre el puerto 8888, verás un resultado como el siguiente:

pir

Configurar

Por favor sigue los pasos a continuación para configurar Viseron, y reemplaza la información de configuración según la dirección de tu cámara.

pir

# Viseron Configuration Example - Resolving Hailo component and camera identifier mismatch
# Core concept: All components use the same camera identifier "cam_front"

# 1. Camera Configuration (FFmpeg Component)
# This is the foundation for all detection features. Ensure the identifier here is correctly referenced by other components.
ffmpeg:
camera:
cam_front: # 🔑 Key identifier: other components must reference this name
name: "Front Door" # Camera display name (customizable)
host: 10.1.1.200 # IP address of the camera
port: 554 # RTSP port (usually 554)
path: /cam/realmonitor?channel=1&subtype=1 # RTSP stream path (replace with your camera's actual path)
username: admin
password: passw0rd
fps: 6 # Set the video stream frame rate
recorder:
idle_timeout: 1 # Idle timeout setting
codec: h264 # Recording codec

# 2. Hailo Object Detector Configuration
# This component uses Hailo-8 AI acceleration hardware for object detection and must point to a configured camera.
hailo:
object_detector:
model_path: /models/yolov8n.hef # 🔑 Important: Replace with the path to your HEF model file
# Add the following line based on your Hailo hardware version (e.g., hailo8 or hailo8l)
# hailo_arch: hailo8
cameras:
cam_front: # ⬅️ Must exactly match the identifier defined in the ffmpeg section above
fps: 2 # Detection frame rate (higher consumes more resources)
scan_on_motion_only: false # Set to true to perform AI detection only when motion is detected
labels:
- label: person # Detect the "person" class
confidence: 0.7 # Confidence threshold
trigger_event_recording: true # Trigger event recording when detected
- label: car # You can add other classes to detect
confidence: 0.7

# 3. Motion Detector Configuration (MOG2 Component)
# Can provide pre-triggering for Hailo AI detection to save computational resources.
mog2:
motion_detector:
cameras:
cam_front: # ⬅️ Use the same consistent identifier
fps: 2 # Motion detection frame rate

# 4. NVR (Network Video Recorder) Configuration
# Binds all the above components together and manages recording.
nvr:
cam_front: # ⬅️ Use the same consistent identifier
motion_detector: # Enable motion detection
enabled: true
object_detector: # Enable object detection
enabled: true
interval: 0.5 # Object detection trigger interval

# (Optional) Logger level adjustment, can be set to 'debug' for troubleshooting
logger:
default_level: info

Ejecutar

Por favor sigue los pasos a continuación para ejecutar el software.

pir

Resultado

Una vez que hayamos configurado todo, podemos ver la transmisión en vivo de la cámara actual. Hemos establecido los fps a 2, por lo que el video puede parecer un poco entrecortado.

pir

Soporte Técnico y Discusión de Productos

¡Gracias por elegir nuestros productos! Estamos aquí para brindarte diferentes tipos de soporte para asegurar que tu experiencia con nuestros productos sea lo más fluida posible. Ofrecemos varios canales de comunicación para satisfacer diferentes preferencias y necesidades.

Loading Comments...