# Camera IP

Este bloque de función lee flujos de cámara RTSP/HTTP en un hilo de fondo y mantiene el último fotograma listo con un uso mínimo de CPU. Está diseñado para monitoreo en vivo y para alimentar de forma fiable bloques de procesamiento de imágenes incluso cuando ocurren interrupciones de red.

## 📥 Inputs

Este bloque de función no tiene entradas.

## 📤 Outputs

`Image` — Fotograma actual recuperado de la cámara IP configurada.

## 🕹️ Controls

`Status` — Muestra el estado actual de la conexión (ejemplos: Waiting for camera link, Connecting..., Live, Reconnecting...).

`Camera link` — Pegue el enlace RTSP/HTTP completo de su cámara (por ejemplo rtsp\://camera-ip/stream).

`Username` — Nombre de usuario opcional de la cámara cuando se requiere autenticación.

`Password` — Contraseña opcional de la cámara cuando se requiere autenticación.

(sugerencia) Después de editar el enlace de la cámara o las credenciales, el bloque espera un breve momento antes de reconectarse para que pueda terminar de escribir.

## 🎯 Key Features

* Lector en hilo de fondo que mantiene el último fotograma disponible para los bloques siguientes usando una CPU mínima.
* Soporta enlaces RTSP y HTTP de cámara, con autenticación opcional por `Username`/`Password`.
* Actualizaciones automáticas de estado para indicar progreso y problemas de conexión.
* Reintento automático con retrasos incrementales en caso de fallos.
* Mantiene el último fotograma válido disponible mientras se realizan intentos de reconexión.
* Cargador opcional de fotogramas en segundo plano (cuando está configurado) para reenviar fotogramas a un servicio remoto.

## ⚙️ How it runs

* Proporcione un enlace de cámara válido en el control `Camera link` (y las credenciales si es necesario).
* El bloque intentará conectarse en segundo plano y actualizará el control `Status`.
* Una vez conectado, el bloque mantiene continuamente el fotograma más reciente listo en la salida `Image` para que otros bloques lo consuman.
* En caso de problemas de conexión, el bloque muestra mensajes de estado y realiza reintentos automáticos; el último fotograma bueno permanece disponible hasta que se reciba uno nuevo.

## 📝 Usage Instructions

1. Introduzca la URL de la cámara en `Camera link`.
2. Si la cámara requiere autenticación, rellene `Username` y `Password`.
3. Espere hasta que `Status` muestre un estado live/connected.
4. Conecte la salida `Image` a bloques de procesamiento o visualización posteriores.

Bloques sugeridos para usar después:

* Use `Show Image` para previsualizar fotogramas en un visor.
* Use `Image Resizer` o `Image Resize` si necesita reducir el tamaño de los fotogramas antes del procesamiento.
* Use `Record Video` o `Image Logger` para guardar fotogramas o grabaciones.
* Envíe a bloques de IA/análisis como `Object Detection`, `Object Detection - Custom`, `Pose Estimation` o `Mask Detection` para inferencia en vivo.
* Use `Image ROI Select` / `Image ROI Polygon` / `Image ROI Polygon Multi` para recortar o limitar el área de procesamiento antes de la detección.
* Use `Background Removal (RMBG-1.4)` o `Background Removal (BiRefNet)` si necesita extracción del primer plano.
* Combine con `Object_Detection_Tracker` para mantener identidades a lo largo de los fotogramas.

## 💡 Tips and Tricks

* Si su cámara soporta ONVIF y prefiere instantáneas ocasionales en vez de un stream continuo, pruebe `Camera IP (ONVIF)`.
* Para flujos de procesamiento más rápidos, reduzca la resolución en la configuración de la Cámara.
* Para depurar la conectividad, verifique la misma URL en un reproductor externo (por ejemplo VLC) y confirme las credenciales.
* Use `Show Image` para verificar el contenido del fotograma antes de enviarlo a bloques de detección o registro.
* Al grabar sesiones largas, prefiera `Record Video` para evitar llenar el disco con muchas imágenes individuales; use `Image Logger` para guardar fotogramas selectivos.
* Si solo necesita analizar partes de la escena, recorte con `Image ROI Select` o defina polígonos con `Image ROI Polygon Multi` para reducir detecciones falsas y acelerar el procesamiento.
* Combine con `Object Detection` (o `Object Detection - Custom`) y luego con `Object_Detection_Tracker` para aplicaciones de seguimiento y conteo monitorizadas (por ejemplo, alimentando resultados a `Traffic Intersection Analysis`).

## 🛠️ Troubleshooting

* Sin conexión / estado atascado en waiting: Verifique que la URL de la cámara sea correcta y accesible en la red. Pruebe el stream en un reproductor externo.
* Errores de autenticación: Compruebe nuevamente `Username` y `Password` y vuelva a introducirlos.
* Fotogramas intermitentes o reconexiones: Esto puede deberse a inestabilidad de la red o problemas en la cámara; el bloque reintentará automáticamente. Considere conectar una red más estable o usar una grabación local si es necesario.
* Fotogramas en blanco o formatos no soportados: Use `Show Image` para inspeccionar la salida. Si el visor indica datos no soportados, pruebe un formato de stream diferente o utilice la URL recomendada por el proveedor de la cámara.
* Alto uso de CPU: Si el procesamiento posterior es pesado, reduzca la resolución con `Image Resizer` o procese fotogramas a una tasa menor insertando lógica de limitación (por ejemplo, control de flujo personalizado).

Si necesita otra interfaz de cámara (USB, controladores de cámara especializados o instantáneas ONVIF), consulte los bloques de entrada de imagen correspondientes como `Camera USB` o `Camera IP (ONVIF)` para adaptar su hardware y flujo de trabajo.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.augelab.com/spanish/bloques-de-funcion/input-output/image-inputs/camera-ip.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
