Tengo un proceso n. ° 1 que realiza el procesamiento de imágenes en tiempo real en una transmisión de video.
Necesito renderizar este video en una página HTML en Chrome (proceso n. ° 2 en la misma computadora), en un canvas o elemento img o video HTML5.
Dado que tengo 1000x1000 píxeles x 3 bytes RGB, a 20 fps, son 57 MB/s para enviar entre el proceso n.° 1 y el proceso n.° 2 (Chrome).
Probado:
Uso de codificación en tiempo real PNG, JPG, BMP + multipart/x-mixed-replace . Es bastante lento, consulte Enviar datos de imagen RGB desde Python numpy a una página HTML del navegador
Enviar los bytes de la imagen sin procesar con una solicitud HTTP es mejor, pero recibir el XHR en JS y hacer putImageData con tantos datos sigue siendo un uso intensivo de la CPU, consulte Actualizar fotogramas de un video en una página HTML, a partir de datos de imagen sin procesar entrantes
¿Qué opciones hay para enviar más de 100 MB/seg (en el caso futuro, 2000x2000 píxeles de video a 20 fps) desde un proceso n.º 1 a un proceso n.º 2 (Chrome) en la misma computadora?
¿Puede Chrome acceder a algunos datos del proceso n.° 1 directamente sin tener que enviar o recibir a través de un cuello de botella HTTP? ¿Es posible la comunicación entre procesos con memoria compartida entre el proceso n. ° 1 y Chrome?
¿Se puede hacer esto en una capa de extensión de Chrome?
NB: el proceso #1 está escrito en C++ o Python