Documentation Index
Fetch the complete documentation index at: https://api-docs.rhombus.community/llms.txt
Use this file to discover all available pages before exploring further.
Esta página fue traducida automáticamente. Si encuentra errores o tiene sugerencias, contáctenos.
Descripción general
Las cámaras Rhombus ofrecen múltiples maneras de acceder al contenido de video:- Transmisión en vivo para monitoreo en tiempo real
- Miniaturas para vistas previas rápidas y paneles
- Clips de video grabado para reproducción histórica
- Capturas instantáneas para momentos específicos
Obtención de miniaturas de cámara
Todas las cámaras Rhombus suben automáticamente miniaturas que ofrecen instantáneas actuales de lo que ve la cámara. Estas miniaturas son ideales para vistas previas en paneles, interfaces de monitoreo y verificaciones rápidas de estado.Endpoint de miniaturas
Recupera las miniaturas de la cámara mediante una solicitud GET a:Todos los endpoints de
media.rhombussystems.com usan la misma autenticación que la API principal, así que asegúrate de incluir los encabezados de autenticación.cameraUuid y el mediaRegion de una cámara, usa el endpoint /camera/getMinimalCameraState para obtener una lista de todas las cámaras. En la respuesta, encontrarás los campos uuid y mediaRegion.
Implementación básica
Obtener fotogramas en momentos específicos
Para obtener una imagen JPEG en un momento determinado, usa el endpoint/video/getExactFrameUri para generar un URI de fotograma. Ejecuta una solicitud GET al URI de fotograma devuelto con los mismos encabezados de autenticación para obtener el fotograma solicitado directamente desde la cámara.
Transmisión de video en vivo
Rhombus ofrece múltiples maneras de incrustar y transmitir contenido de video en vivo en tus aplicaciones.Incrustar transmisiones compartidas como iframes (Recomendado)
La forma más común y recomendada es usar iframes para incrustar el reproductor de video Rhombus directamente en tu sitio. Esto trae el beneficio adicional de que los eventos de cámara y la analítica se cargan automáticamente en el reproductor. Necesitarás crear transmisiones compartidas para cada cámara que quieras incrustar. Esto se puede hacer en la consola, o desde la API usando el endpoint/api/camera/createSharedLiveVideoStream.
Ejemplo de componente React
Aquí tienes un componente React para incrustar transmisiones compartidas:Parámetros de URL para control mejorado
Puedes personalizar el reproductor incrustado mediante parámetros de URL. Todos los parámetros pueden establecerse entrue o false:
| Parámetro | Descripción |
|---|---|
disableautoplay | Activa o desactiva la reproducción automática al cargar |
hideevents | Activa o desactiva la línea de tiempo y los eventos relacionados |
realtime | Activa o desactiva la transmisión en tiempo real por defecto |
showheader | Activa o desactiva los botones de zoom y transmisión arriba |
showfooter | Activa o desactiva el nombre de la cámara y la marca de tiempo abajo |
lowRes | Fuerza baja resolución en la transmisión de video |
performanceMode | Fuerza el modo de rendimiento permitiendo el uso de GPU |
t | Marca de tiempo (milisegundos epoch) donde debe iniciar el video |
Uso de parámetros
Sigue esta estructura:https://{{url}}/?{{variable}}=true&{{variable}}=false
Ejemplo:
Uso en React con parámetros
Acceso a transmisiones MPEG-DASH sin procesar
Con autenticación de API, también puedes acceder a la transmisión MPEG-DASH sin procesar para usarla con cualquier reproductor estándar. Para mantener seguro el token de API y resolver problemas de CORS, recomendamos usar un servidor intermediario que actúe como proxy.Reproducción de video grabado
Accede a clips de video grabado para análisis y revisión históricos.Descargar clips VOD como MP4
Puedes descargar grabaciones de Video on Demand (VOD) directamente desde una cámara especificando la hora de inicio y la duración.Ejemplo en Python para descarga de VOD
Descargar clips de alerta
Puedes descargar clips correspondientes a alertas específicas. Esto es particularmente útil al usar webhooks que se activan cada vez que se crea una alerta en el sistema.Obtener detalles de alertas para descarga de clips
Si estás usando la API para obtener detalles de alertas (por ejemplo,/api/event/getPolicyAlertsV2), puedes usar los campos de la respuesta para construir la solicitud de medios:
Ejemplos de implementación completa
Componente React multipropósito
Aquí tienes un componente React integral que admite miniaturas, transmisiones compartidas y descargas de video:Ejemplos de uso
Mejores prácticas
Optimización del rendimiento
- Caché de miniaturas: Implementa caché del lado del cliente para miniaturas para reducir las llamadas a la API
- Carga diferida: Carga el contenido de video solo cuando sea necesario o cuando esté en el viewport
- Selección de calidad: Elige los ajustes de calidad apropiados según el caso de uso y el ancho de banda
- Pool de conexiones: Reutiliza las conexiones para múltiples solicitudes a la API
Consideraciones de seguridad
- Gestión de API keys: Almacena las API keys de forma segura y nunca las expongas en código del lado del cliente
- Solo HTTPS: Usa siempre HTTPS para todas las comunicaciones de la API
- Rotación de tokens: Implementa rotación regular de la API key
- Control de acceso: Limita el acceso a las cámaras según los permisos de usuario
Manejo de errores
Accesibilidad
Asegúrate de que tus implementaciones de video sean accesibles para todos los usuarios:Solución de problemas
Problemas comunes
La miniatura no carga- Verifica que el UUID de la cámara sea correcto
- Revisa los permisos de la API key
- Asegúrate de que la cámara esté en línea y accesible
- Verifica la conectividad de red
- Confirma el soporte de WebRTC/HLS en el navegador
- Revisa la configuración del firewall y proxy
- Ajusta los parámetros de calidad
- Verifica el ancho de banda disponible
- Considera usar transmisión de tasa de bits adaptativa
Modo de depuración
Habilita el registro de depuración para solucionar problemas:Próximos pasos
Reproductor de video
Crea un reproductor de video personalizado con reproducción HLS y controles de línea de tiempo.
Respaldo de grabaciones
Descarga y archiva grabaciones de cámara en almacenamiento local.