entrada de video
9 min
el objeto entrada de video le permite recuperar información sobre la entrada hdmi ® y configurar ajustes edid para ella idl de videoinput callback videoinputeventcallback = void (videoinputevent event); interface videoinputconfiguration { videoinputconfig defaultconfig(); promise\<videoinputconfig> getconfig(); promise\<status> applyconfig(videoinputconfig config); promise\<hdmiinputstatus> getstatus(); void addeventlistener(string type, videooutputeventcallback callback); void removeeventlistener(string type, videooutputeventcallback callback); }; interface videoinputconfig { attribute bool enableac3; attribute bool enableeac3; attribute bool enabletruehdmlp; attribute bool enabledts; attribute bool enabledtshd; attribute int maxsamplerate; attribute int maxchannelcount; attribute string lockaudioto; attribute bool disablehdcprepeater; attribute bool disableyuvcolor; }; interface status { attribute bool rebootrequired; }; interface hdmiinputstatus { attribute bool devicepresent; attribute int width; attribute int height; attribute bool interlaced; attribute float framerate; attribute float pixelclock; attribute string colorspace; attribute string audiotype; attribute int audiosamplingrate; }; creación de objetos para crear un objeto videoinput , primero cargue brightsign/videoinputmodule usando el método require() luego cree una instancia de la clase videoinput var videoinputclass = require("@brightsign/videoinput"); var vi = new videoinputclass(); videoinputconfiguration use esta interfaz para recuperar y modificar datos de entrada de video eventos se genera un videoinputevent cuando cambia el estado de conexión en caliente de la entrada hdmi ® tiene una propiedad de tipo tipo el tipo de evento es hdmiinputchange métodos defaultconfig() videoinputconfig defaultconfig() devuelve inmediatamente una interfaz videoinputconfig que contiene valores predeterminados de informes edid para la entrada hdmi getconfig() promise \<videoinputconfig> getconfig() devuelve una interfaz videoinputconfig que contiene la configuración actual de informes edid para la entrada hdmi applyconfig() promise \<status> applyconfig(videoinputconfig config) configura los informes edid para la entrada hdmi de forma predeterminada, el edid de entrada incluye modos de video de la pantalla conectada a la salida hdmi, algunos modos de video compatibles con el reproductor y compatibilidad con audio pcm de hasta 48khz; no informa códecs multimedia propietarios que puedan ser decodificados por el dispositivo conectado a la salida hdmi, por lo que puede usar este método para anunciar dicha compatibilidad si está disponible en el endpoint este método devuelve una promesa que contiene una interfaz status que indica si se requiere un reinicio para que los ajustes de informes edid especificados surtan efecto getstatus() promise \<hdmiinputstatus> getstatus() devuelve el estado actual de la entrada hdmi close() promise \<void> close() este método apaga la instancia, evitando que siga consumiendo recursos si no se llama, la recolección de basura determina cuándo se destruirá la instancia videoinputconfig esta interfaz contiene datos de configuración relacionados con la entrada de video enableac3 \<font color="#6554c0">bool\</font> una marca que especifica si ac 3 es compatible enableeac3 \<font color="#6554c0">bool\</font> una marca que especifica si e ac 3 es compatible enabletruehdmlp \<font color="#6554c0">bool\</font> una marca que especifica si truehd mlp es compatible enabledts \<font color="#6554c0">bool\</font> una marca que especifica si dts es compatible enabledtshd \<font color="#6554c0">bool\</font> un indicador que especifica si dts hd es compatible maxsamplerate \<font color="#6554c0">int\</font> la frecuencia máxima de muestreo de audio pcm compatible en hz (p ej , la frecuencia de muestreo predeterminada es 48000) maxchannelcount \<font color="#6554c0">int\</font> la cantidad de canales pcm anunciados a través de edid el valor predeterminado es 2, lo que permite la mezcla estéreo aumentar este valor a 6 permite que la fuente envíe pcm multicanal si ac 3 o e ac 3 están habilitados en el reproductor, el audio multicanal es compatible independientemente de la configuración de m axchannelcount maxhdcpversion \<font color="#6554c0">int\</font> la versión máxima compatible de hdcp anunciada por la entrada hdmi el valor predeterminado es 2, lo que indica compatibilidad con hdcp 2 2 también puede establecerse en 1, lo que limita la compatibilidad anunciada a hdcp 1 4 bloquearaudioa \<font color="#6554c0">string\</font> si el reloj de frecuencia de muestreo de audio está sincronizado con el reloj de video (" video ") o el reloj de audio (" audio ") de la señal hdmi entrante la determinación también puede dejarse al software del sistema (" auto ") disablehdcprepeater \<font color="#6554c0">bool\</font> deshabilita la funcionalidad de repetidor hdcp si se establece en verdadero , el dispositivo fuente conectado a la entrada hdmi verá el dispositivo como no compatible con hdcp y degradará el video que envía o dejará de enviarlo por completo disableyuvcolor \<font color="#6554c0">bool\</font> modifica el edid que el reproductor envía a los dispositivos conectados a la entrada hdmi si se establece en verdadero , anunciará que solo es compatible con modos de video rgb y no con modos yuv estado esta interfaz es devuelta por el método applyconfig() rebootrequired \<font color="#6554c0">bool\</font> un indicador que indica si se requiere reiniciar para que el cambio en la configuración de edid surta efecto hdmiinputstatus esta interfaz contiene información sobre la fuente de video conectada a la entrada hdmi devicepresent \<font color="#6554c0">bool\</font> si hay una fuente de entrada hdmi presente ( verdadero ) o no ( falso ) ancho \<font color="#6554c0">int\</font> el ancho del video fuente altura \<font color="#6554c0">int\</font> la altura del video fuente entrelazado \<font color="#6554c0">bool\</font> un indicador que indica si la fuente de video es entrelazada frecuencia de cuadros \<font color="#6554c0">float\</font> la velocidad de fotogramas del video fuente pixelclock \<font color="#6554c0">float\</font> la frecuencia de reloj de píxeles del video fuente (en mhz) colorspace \<font color="#6554c0">string\</font> el espacio de color del video fuente, que puede ser uno de los siguientes " rgb ", " ycbcr420 ", " ycbcr422 ", " ycbcr444 " audiotype \<font color="#6554c0">string\</font> la codificación de audio del video fuente, que puede ser " pcm " o " comprimido " audiosamplingrate \<font color="#6554c0">int\</font> la frecuencia de muestreo de audio del video de origen (en hz) ejemplo var videoinputclass = require("@brightsign/videoinput"); var vi = new videoinputclass(); var inputconfig = {}; inputconfig enableac3 = true; vi applyconfig(inputconfig) then( function(data) { if (data rebootrequired === true) { system reboot(); } else { console log("reboot not required ") } }) catch( function(data) { console log(json stringify(data)); }); vi getconfig() then( function(data) { console log(" current config "); console log(json stringify(data)); }) catch( function(data) { console log(json stringify(data)); });