Saltar a contenido

Integración de flujos de cámaras RTSP en aplicaciones .NET

Video Capture SDK .Net VideoCaptureCoreX VideoCaptureCore

Soporte multiplataforma

El motor VideoCaptureCoreX funciona en Windows, macOS, Linux, Android e iOS vía GStreamer; el motor clásico VideoCaptureCore es solo Windows. Consulta la matriz de soporte de plataformas para detalles de códecs y aceleración por hardware, y la guía de despliegue en Linux para la configuración en Ubuntu / NVIDIA Jetson / Raspberry Pi.

Configurar fuentes de cámaras RTSP estándar

Implementar flujos de cámaras RTSP en tus aplicaciones .NET proporciona acceso flexible a cámaras de red y flujos de video. Esta capacidad permite monitorización en tiempo real, funcionalidades de vigilancia y procesamiento de video directamente dentro de tu aplicación.

Para opciones de conexión adicionales y protocolos alternativos, consulta nuestra documentación detallada de cámaras IP, que cubre un amplio rango de enfoques de integración de cámaras.

// Crear el objeto de configuración de fuente RTSP
var rtsp = await RTSPSourceSettings.CreateAsync(new Uri("url"), "login", "password", true /*¿capturar audio?*/);

// Asignar la fuente al objeto VideoCaptureCoreX
VideoCapture1.Video_Source = rtsp;

Optimización para streaming RTSP de baja latencia

La baja latencia es crítica para muchas aplicaciones en tiempo real, incluyendo monitorización de seguridad, sistemas interactivos y transmisión en vivo. Nuestro SDK proporciona configuraciones especializadas para minimizar el retraso entre la captura y la visualización.

Nuestro SDK incluye un modo dedicado específicamente diseñado para streaming RTSP de baja latencia. Cuando está configurado correctamente, este modo típicamente alcanza latencias por debajo de 250 milisegundos, lo que lo hace ideal para aplicaciones sensibles al tiempo.

// Crear el objeto de configuración de fuente.
var settings = new IPCameraSourceSettings();

// Configurar dirección IP, nombre de usuario, contraseña, etc.
// ...

// Establecer el modo RTSP de baja latencia.
settings.Type = IPSourceEngine.RTSP_LowLatency;

// Establecer modo UDP o TCP.
settings.RTSP_LowLatency_UseUDP = false; // true para usar UDP, false para usar TCP

// Asignar la fuente al objeto VideoCaptureCore.
VideoCapture1.IP_Camera_Source = settings;

NUEVO: modo de ultra baja latencia (60-120 ms)

VideoCaptureCoreX ahora incluye un modo dedicado de baja latencia que alcanza 60-120 ms de latencia total — hasta 10 veces más rápido que el modo estándar. Perfecto para vigilancia en tiempo real, monitorización interactiva y aplicaciones de seguridad.

// Crear configuración de fuente RTSP
var rtsp = await RTSPSourceSettings.CreateAsync(
    new Uri("rtsp://192.168.1.100:554/stream"), 
    "admin", 
    "password", 
    true); // habilitar audio

// Habilitar modo de baja latencia — optimiza para un retraso mínimo (60-120 ms)
rtsp.LowLatencyMode = true;

// Asignar la fuente a VideoCaptureCoreX
VideoCapture1.Video_Source = rtsp;

Cómo funciona: - Establece el búfer de jitter RTSP a 80 ms (frente a los 1000 ms por defecto) - Optimiza el buffering interno de la cola (máximo 2 fotogramas) - Deshabilita el reordenamiento de paquetes para minimizar el retraso - Compromiso: optimiza velocidad sobre estabilidad

Cuándo usarlo: - ✓ Vigilancia y monitorización en tiempo real - ✓ Sistemas de seguridad en vivo - ✓ Aplicaciones de video interactivas - ✓ Sistemas de control remoto - ✗ Grabación en redes inestables (usa el modo predeterminado) - ✗ Captura para archivado a largo plazo (usa el modo predeterminado)

Configuración avanzada:

Para un control ajustado, puedes configurar manualmente los parámetros de latencia:

var rtsp = await RTSPSourceSettings.CreateAsync(uri, login, password, audioEnabled);

// Configuración manual de baja latencia
rtsp.Latency = TimeSpan.FromMilliseconds(50);  // Tamaño de búfer personalizado
rtsp.BufferMode = RTSPBufferMode.None;          // Sin buffering de jitter
rtsp.DropOnLatency = false;                     // No descartar fotogramas

Ejemplos de implementación y aplicaciones de referencia

Estos proyectos de ejemplo demuestran patrones prácticos de implementación RTSP y pueden servir como puntos de partida para tu propio desarrollo. Revisar estos ejemplos te ayudará a comprender las mejores prácticas para la integración RTSP.

Solución de problemas en conexiones RTSP

Cuando trabajas con cámaras RTSP, puedes encontrarte con problemas de conectividad relacionados con la configuración de red, los ajustes del firewall o la autenticación. Estos son los factores clave a considerar:

  • Verifica la conectividad de red entre tu aplicación y la cámara
  • Asegúrate de proporcionar las credenciales de autenticación correctas
  • Comprueba si hay firewalls bloqueando los puertos requeridos (típicamente 554 para RTSP)
  • Considera usar TCP en lugar de UDP si experimentas pérdida de paquetes
  • Prueba los flujos de cámara con VLC o herramientas similares para aislar problemas específicos de la aplicación

¿Necesitas la URL RTSP para tu cámara? Explora nuestro directorio de marcas de cámaras IP para URLs RTSP específicas por marca y ejemplos de conexión.

Documentación relacionada