Estoy desarrollando una aplicación en electron. Su propósito principal es mostrar una mejor GUI para ZoneMinder.
Estoy usando la API y otras cosas para acceder a los datos, el problema es que las transmisiones en vivo tienen un método que usa el acceso directo al cgi y, cuando tiene más de 6 transmisiones abiertas, la siguiente fallará.
Quiero tener una transmisión de video principal (con el monitor seleccionado) y debajo de ella, mini pantallas de video con vistas previas de los otros monitores en el mismo grupo.
Probé muchas fórmulas, busqué cualquier solución en cualquier lugar, etc. sin suerte.
Parte del código que dibuja el monitor principal img es:
var zm_main_img = new Image(); zm_main_img.setAttribute('class', 'video-main app-draggable'); var zm_img_src = zm_url_base + "/cgi-bin/nph-zms?scale=100&width=" + main_width + "px&height=" + main_height + "px&mode=jpeg&maxfps=" + zm_fpsm + "&monitor=" + monitor + "&token=" + zm_token + "&connkey=" + zm_connkey; zm_main_img.src = zm_img_src; zm_main_img.setAttribute('id', 'v_main_x'); video_main.appendChild(zm_main_img);Tenga en cuenta que las secuencias son mjpeg. Cuando traté de usar el modo "simple", es decir, solo una imagen (sin mjpeg), funciona, pero... no hay transmisión de video como se esperaba. También intenté verificar si las fuentes de subvideo están cargadas para volver a cargar el src, pero tengo serios problemas porque debo configurarlo como contenido dinámico (algunos grupos tienen una cantidad diferente de monitores).
Cuando estoy usando el inspector de código, puedo ver las múltiples conexiones abiertas y después de la sexta puedo ver muchas en "Pendiente". Después de horas quejándome de esto, descubrí que es una limitación impuesta por Chrome (y muchos otros navegadores). Entonces la cosa es:
Aquí tenéis el enlace al repositorio, por si queréis colaborar o ayudar.
¡Gracias por adelantado!