Pregunta: ¿es posible obtener una imagen de búfer sin procesar de una cámara USB sin ningún procesamiento? Parece que no importa qué formato tenga la salida de la cámara internamente cuando la tome con getUserMedia, la convierte a RGB.
Problema: tengo una salida de cámara YUV 4: 2: 0 que estoy sacando a través de USB desde un microcontrolador. Lo que estaba planeando hacer es incrustar información de datos en la imagen en el canal Y, por ejemplo, en las últimas 2 líneas. Pero el problema con el que me encuentro es que cuando tomas la imagen de la cámara con getUserMedia y la pegas en el cuadro de video y luego usas los datos del cuadro de video como búfer, está en RGB. Podría intentar convertir el RGB nuevamente en YUV, pero creo que en algunos casos extremos los datos tienen pérdida, ya que hay errores de redondeo o los espacios de color no coinciden perfectamente. Básicamente, solo estoy buscando una manera de mantener mi búfer de la cámara sin editar.
Por lo que estoy leyendo, cuando un navegador captura una transmisión de video, la convertirá a un formato RGBA. Realmente no parece una forma de evitar esto.
Entonces, lo que estoy haciendo es usar una aplicación de electrones y tomar la imagen a un nivel del sistema operativo y pasar la imagen hacia arriba.
Estoy pensando en usar opencv o esta biblioteca https://github.com/node-ffi-libraries/node-ffi-library-libuvc-v0.0.6 . que es una interfaz de cámara USB de nivel inferior.