Estoy trabajando en una aplicación de comunicación webrtc, como parte de esta aplicación, necesito hacer cambios (cambiar el tamaño, cambiar el fondo, el fondo azul,...) en la imagen de la cámara web antes de enviarla a los suscriptores...
Esta es mi solución por ahora:
1 - establece la transmisión en un elemento de video en la memoria
2 - cuando comience el juego, inicie un bucle con tiempo de espera establecido para repetir el número 3
3 - renderizar video en lienzo
4 - capturar flujo de lienzo
Hasta aquí todo bien.
Pero cuando la pestaña está inactiva/oculta/invisible, el tiempo de espera establecido se reduce a 1 bucle por segundo :(...
La única otra solución que he encontrado es usar MediaStreamTrackProcessor , funciona pero carece del soporte del navegador que necesito (Firefox, Safari,...)
Intenté usar webworkers pero no puedo enviar una transmisión al trabajador y tampoco puedo capturar una transmisión dentro de un trabajador :(
Entonces, ¿alguna forma de enviar MediaStream o sus marcos (continuamente) al trabajador web? ¿O hay de todos modos (navegador cruzado) para obtener fotogramas de MediaStream continuamente (por lo que no necesitaré establecer el tiempo de espera)?