|
| 1 | +--- |
| 2 | +description: Este wiki demuestra cómo usar viseron en recomputer. |
| 3 | +title: viseron en reComputer |
| 4 | +keywords: |
| 5 | + - reComputer |
| 6 | + - viseron |
| 7 | + - NVR |
| 8 | +image: https://files.seeedstudio.com/wiki/00_AI_Sensing/Application/go2rtc/go2rtc.gif |
| 9 | +slug: /es/viseron_on_recomputer |
| 10 | +last_update: |
| 11 | + date: 12/07/2025 |
| 12 | + author: Jiahao |
| 13 | + |
| 14 | +no_comments: false # for Disqus |
| 15 | +--- |
| 16 | + |
| 17 | +# Viseron en reComputer |
| 18 | + |
| 19 | +## Introducción |
| 20 | + |
| 21 | +Viseron[https://github.com/roflcoopter/viseron] es un software NVR y de Visión Artificial autoalojado y solo local implementado en Python. |
| 22 | + |
| 23 | +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. |
| 24 | + |
| 25 | +## Prerrequisitos |
| 26 | + |
| 27 | +### Requisitos de Hardware |
| 28 | + |
| 29 | +<table align="center"> |
| 30 | + <tr> |
| 31 | + <th>reComputer AI R2130</th> |
| 32 | + <th>reComputer AI Industrial R2145</th> |
| 33 | + </tr> |
| 34 | + <tr> |
| 35 | + <td><div style={{textAlign:'center'}}><img src="https://media-cdn.seeedstudio.com/media/catalog/product/cache/bb49d3ec4ee05b6f018e93f896b8a25d/1/_/1_24_1.jpg" style={{width:600, height:'auto'}}/></div></td> |
| 36 | + <td><div style={{textAlign:'center'}}><img src="https://media-cdn.seeedstudio.com/media/catalog/product/cache/bb49d3ec4ee05b6f018e93f896b8a25d/i/m/image-r2145.jpeg" style={{width:600, height:'auto'}}/></div></td> |
| 37 | + </tr> |
| 38 | + <tr> |
| 39 | + <td><div class="get_one_now_container" style={{textAlign: 'center'}}> |
| 40 | + <a class="get_one_now_item" href="https://www.seeedstudio.com/reComputer-AI-R2130-12-p-6368.html" target="_blank"> |
| 41 | + <strong><span><font color={'FFFFFF'} size={"4"}> Obtener Uno Ahora 🖱️</font></span></strong> |
| 42 | + </a> |
| 43 | + </div></td> |
| 44 | + <td><div class="get_one_now_container" style={{textAlign: 'center'}}> |
| 45 | + <a class="get_one_now_item" href="https://www.seeedstudio.com/reComputer-AI-Industrial-R2145-12-p-6486.html" target="_blank"> |
| 46 | + <strong><span><font color={'FFFFFF'} size={"4"}> Obtener Uno Ahora 🖱️</font></span></strong> |
| 47 | + </a> |
| 48 | + </div></td> |
| 49 | + </tr> |
| 50 | +</table> |
| 51 | + |
| 52 | +### Requisitos de Software |
| 53 | +### Actualizar sistema |
| 54 | + |
| 55 | +Por favor usa el siguiente comando para ejecutar. |
| 56 | + |
| 57 | +```bash |
| 58 | +sudo apt update |
| 59 | +sudo apt upgrade -y |
| 60 | +``` |
| 61 | + |
| 62 | +### Descargar docker y docker compose |
| 63 | + |
| 64 | +Por favor usa el siguiente comando para instalar docker. |
| 65 | + |
| 66 | +```bash |
| 67 | +wget https://get.docker.com -O get-docker.sh |
| 68 | +chmod +x |
| 69 | +sudo sh get-docker.sh |
| 70 | +sudo systemctl start docker |
| 71 | +sudo systemctl enable docker |
| 72 | +docker --version |
| 73 | +``` |
| 74 | +El resultado se muestra a continuación: |
| 75 | + |
| 76 | +<p style={{textAlign: 'center'}}><img src="https://files.seeedstudio.com/wiki/00_AI_Sensing/Application/moonfire/docker_install.png" alt="pir" width="800" height="auto"/></p> |
| 77 | + |
| 78 | + |
| 79 | +Por favor usa el siguiente comando para instalar docker compose. |
| 80 | + |
| 81 | +```bash |
| 82 | +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 |
| 83 | +sudo chmod +x /usr/local/bin/docker-compose |
| 84 | +docker-compose --version |
| 85 | +``` |
| 86 | + |
| 87 | +El resultado se muestra a continuación: |
| 88 | + |
| 89 | +<p style={{textAlign: 'center'}}><img src="https://files.seeedstudio.com/wiki/00_AI_Sensing/Application/moonfire/docker_compose_version.png" alt="pir" width="800" height="auto"/></p> |
| 90 | + |
| 91 | +## Descargar Viseron |
| 92 | +### Crear carpetas |
| 93 | +Por favor usa el siguiente comando para crear carpetas |
| 94 | +```bash |
| 95 | +cd ~ |
| 96 | +mkdir -p viseron_data/{timelapse,thumbnails,snapshots,segments,models,event_clips,config} |
| 97 | + |
| 98 | +``` |
| 99 | +### Descargar Modelo |
| 100 | +Por favor usa el siguiente comando para descargar el modelo `hef` para el dispositivo hailo8. |
| 101 | + |
| 102 | +```bash |
| 103 | +cd ~/viseron_data/models |
| 104 | +wget https://hailo-model-zoo.s3.eu-west-2.amazonaws.com/ModelZoo/Compiled/v2.16.0/hailo8/yolov8n.hef |
| 105 | +``` |
| 106 | + |
| 107 | +### Crear `docker-compose.yaml` |
| 108 | + |
| 109 | + |
| 110 | +Por favor usa el siguiente comando para crear `docker-compose.yaml`. |
| 111 | + |
| 112 | +```bash |
| 113 | +cd ~ && nano docker-compose.yaml |
| 114 | +``` |
| 115 | + |
| 116 | +```yaml |
| 117 | +services: |
| 118 | + viseron: |
| 119 | + image: roflcoopter/viseron:latest |
| 120 | + container_name: viseron |
| 121 | + shm_size: "1024mb" |
| 122 | + volumes: |
| 123 | + - /home/ain/viseron_data/segments:/segments |
| 124 | + - /home/ain/viseron_data/snapshots:/snapshots |
| 125 | + - /home/ain/viseron_data/thumbnails:/thumbnails |
| 126 | + - /home/ain/viseron_data/event_clips:/event_clips |
| 127 | + - /home/ain/viseron_data/timelapse:/timelapse |
| 128 | + - /home/ain/viseron_data/config:/config |
| 129 | + - /etc/localtime:/etc/localtime:ro |
| 130 | + - /home/ain/viseron_data/models:/models |
| 131 | + ports: |
| 132 | + - 8888:8888 |
| 133 | + devices: |
| 134 | + - /dev/hailo0 |
| 135 | +``` |
| 136 | +
|
| 137 | +## Configurar Viseron |
| 138 | +### Ejecutar Viseron |
| 139 | +Por favor usa el siguiente comando para ejecutar viseron |
| 140 | +
|
| 141 | +```bash |
| 142 | +cd ~ |
| 143 | +docker compose up |
| 144 | +``` |
| 145 | + |
| 146 | +<p style={{textAlign: 'center'}}><img src="https://files.seeedstudio.com/wiki/00_AI_Sensing/Application/viseron/docker.png" alt="pir" width="800" height="auto"/></p> |
| 147 | + |
| 148 | +### Abrir puerto |
| 149 | + |
| 150 | +Por favor abre el puerto 8888, verás un resultado como el siguiente: |
| 151 | + |
| 152 | +<p style={{textAlign: 'center'}}><img src="https://files.seeedstudio.com/wiki/00_AI_Sensing/Application/viseron/UI.png" alt="pir" width="800" height="auto"/></p> |
| 153 | + |
| 154 | + |
| 155 | +### Configurar |
| 156 | + |
| 157 | +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. |
| 158 | + |
| 159 | +<p style={{textAlign: 'center'}}><img src="https://files.seeedstudio.com/wiki/00_AI_Sensing/Application/viseron/viseron_config.png" alt="pir" width="800" height="auto"/></p> |
| 160 | + |
| 161 | +```yaml |
| 162 | +# Viseron Configuration Example - Resolving Hailo component and camera identifier mismatch |
| 163 | +# Core concept: All components use the same camera identifier "cam_front" |
| 164 | + |
| 165 | +# 1. Camera Configuration (FFmpeg Component) |
| 166 | +# This is the foundation for all detection features. Ensure the identifier here is correctly referenced by other components. |
| 167 | +ffmpeg: |
| 168 | + camera: |
| 169 | + cam_front: # 🔑 Key identifier: other components must reference this name |
| 170 | + name: "Front Door" # Camera display name (customizable) |
| 171 | + host: 10.1.1.200 # IP address of the camera |
| 172 | + port: 554 # RTSP port (usually 554) |
| 173 | + path: /cam/realmonitor?channel=1&subtype=1 # RTSP stream path (replace with your camera's actual path) |
| 174 | + username: admin |
| 175 | + password: passw0rd |
| 176 | + fps: 6 # Set the video stream frame rate |
| 177 | + recorder: |
| 178 | + idle_timeout: 1 # Idle timeout setting |
| 179 | + codec: h264 # Recording codec |
| 180 | + |
| 181 | +# 2. Hailo Object Detector Configuration |
| 182 | +# This component uses Hailo-8 AI acceleration hardware for object detection and must point to a configured camera. |
| 183 | +hailo: |
| 184 | + object_detector: |
| 185 | + model_path: /models/yolov8n.hef # 🔑 Important: Replace with the path to your HEF model file |
| 186 | + # Add the following line based on your Hailo hardware version (e.g., hailo8 or hailo8l) |
| 187 | + # hailo_arch: hailo8 |
| 188 | + cameras: |
| 189 | + cam_front: # ⬅️ Must exactly match the identifier defined in the ffmpeg section above |
| 190 | + fps: 2 # Detection frame rate (higher consumes more resources) |
| 191 | + scan_on_motion_only: false # Set to true to perform AI detection only when motion is detected |
| 192 | + labels: |
| 193 | + - label: person # Detect the "person" class |
| 194 | + confidence: 0.7 # Confidence threshold |
| 195 | + trigger_event_recording: true # Trigger event recording when detected |
| 196 | + - label: car # You can add other classes to detect |
| 197 | + confidence: 0.7 |
| 198 | + |
| 199 | +# 3. Motion Detector Configuration (MOG2 Component) |
| 200 | +# Can provide pre-triggering for Hailo AI detection to save computational resources. |
| 201 | +mog2: |
| 202 | + motion_detector: |
| 203 | + cameras: |
| 204 | + cam_front: # ⬅️ Use the same consistent identifier |
| 205 | + fps: 2 # Motion detection frame rate |
| 206 | + |
| 207 | +# 4. NVR (Network Video Recorder) Configuration |
| 208 | +# Binds all the above components together and manages recording. |
| 209 | +nvr: |
| 210 | + cam_front: # ⬅️ Use the same consistent identifier |
| 211 | + motion_detector: # Enable motion detection |
| 212 | + enabled: true |
| 213 | + object_detector: # Enable object detection |
| 214 | + enabled: true |
| 215 | + interval: 0.5 # Object detection trigger interval |
| 216 | + |
| 217 | +# (Optional) Logger level adjustment, can be set to 'debug' for troubleshooting |
| 218 | +logger: |
| 219 | + default_level: info |
| 220 | +``` |
| 221 | +
|
| 222 | +### Ejecutar |
| 223 | +
|
| 224 | +Por favor sigue los pasos a continuación para ejecutar el software. |
| 225 | +
|
| 226 | +<p style={{textAlign: 'center'}}><img src="https://files.seeedstudio.com/wiki/00_AI_Sensing/Application/viseron/run.png" alt="pir" width="800" height="auto"/></p> |
| 227 | +
|
| 228 | +
|
| 229 | +## Resultado |
| 230 | +
|
| 231 | +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. |
| 232 | +
|
| 233 | +<p style={{textAlign: 'center'}}><img src="https://files.seeedstudio.com/wiki/00_AI_Sensing/Application/viseron/viseron.gif" alt="pir" width="1000" height="auto"/></p> |
| 234 | +
|
| 235 | +## Soporte Técnico y Discusión de Productos |
| 236 | +
|
| 237 | +¡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. |
| 238 | +
|
| 239 | +<div class="button_tech_support_container"> |
| 240 | +<a href="https://forum.seeedstudio.com/" class="button_forum"></a> |
| 241 | +<a href="https://www.seeedstudio.com/contacts" class="button_email"></a> |
| 242 | +</div> |
| 243 | +
|
| 244 | +<div class="button_tech_support_container"> |
| 245 | +<a href="https://discord.gg/eWkprNDMU7" class="button_discord"></a> |
| 246 | +<a href="https://github.com/Seeed-Studio/wiki-documents/discussions/69" class="button_discussion"></a> |
| 247 | +</div> |
0 commit comments