videooutput
20 min
el objeto salida de video le permite configurar y recuperar ajustes no persistentes relacionados con una salida de video (el modo de video en sí se configura con el objeto videomodeconfiguration docid\ ctnltbmj0 cs5tbiiyotf ) idl de videooutput interface videooutputevent { attribute string type; }; callback videooutputeventcallback = void (videooutputevent event); \[ constructor(string interfacename) ] interface videooutputconfiguration { attribute string type; promise\<size> getvideoresolution(); promise\<size> getgraphicsresolution(); promise\<size> getoutputresolution(); promise\<void> adjustgraphicscolor(colorproperties); promise\<edididentity> getedididentity(); promise\<string> getedid(); promise\<void> setmultiscreenbezel(int xpercentage, int ypercentage); promise\<void> setbackgroundcolor(int color); promise\<void> setpowersavemode(bool enable); promise\<bool> getpowersavemode(); promise\<void> set3dmode(int mode); promise\<bool> isattached(); \[type == "hdmi"] promise\<outputstatus> getoutputstatus(); \[type == "hdmi"] promise\<void> disableaudio(bool disable); \[type == "hdmi"] promise\<txhdcpstatus> gettxhdcpstatus(); \[type == "hdmi"] promise\<void> forcehdcpon(bool); promise\<void> setsyncdomain(string domain) promise\<void> setmpcdi(string filename); void addeventlistener(string type, videooutputeventcallback callback); void removeeventlistener(string type, videooutputeventcallback callback); }; interface edididentity { attribute string manufacturer; attribute int product; attribute int serialnumber; attribute int weekofmanufacture; attribute int yearofmanufacture; attribute string monitorname; attribute string textstring; attribute string serialnumberstring; attribute bool bt2020rgbsupport; attribute bool bt2020yccsupport; attribute bool sdreotfsupport; attribute bool hdreotfsupport; attribute bool hdrst2084support; }; interface outputstatus { attribute bool outputpresent; attribute bool outputpowered; attribute bool unstable; attribute string audioformat; attribute int audiosamplerate; attribute int audiobitspersample; attribute int audiochannelcount; attribute string eotf; }; interface size { attribute int width; attribute int height; }; interface colorproperties { attribute int constrast; attribute int saturation; attribute int hue; attribute int brightness; }; creación de objetos para crear un objeto videooutput , primero cargue el módulo brightsign/videooutput usando el método require() luego cree una instancia de la clase videooutput con un valor de cadena que especifique la salida de video que se va a configurar (actualmente, los valores aceptados son " hdmi 1 ", " hdmi 2 ", " hdmi 3 ", " hdmi 4 " y " vga ") var videooutputclass = require("@brightsign/videooutput"); var videooutputhdmi = new videooutputclass("hdmi 1"); videooutputconfiguration utilice esta interfaz para realizar operaciones en la salida de video eventos se genera un videooutputevent cuando cambia el estado de conexión en caliente de la salida hdmi ® tiene una propiedad type tipo el tipo de evento es hotplugevent métodos getvideoresolution() promise\<size> getvideoresolution() devuelve la resolución actual del plano de video getgraphicsresolution() promise\<size> getgraphicsresolution() devuelve la resolución actual del plano gráfico getoutputresolution() promise\<size> getoutputresolution() devuelve la resolución actual de salida de video en la mayoría de los casos, los valores devueltos por los métodos getvideoresolution(), getgraphicsresolution() y getoutputresolution() serán idénticos los valores "graphicsresolution" y "videoresolution" diferirán cuando se seleccione un modo de video 4k y no esté habilitado el modo gráfico de resolución completa el plano gráfico permanece en hd (1920x1080), mientras que el plano de video se expande a 4k (por ejemplo, a 3840x2160) el valor "outputresolution" diferirá de los otros dos valores cuando la salida de video se escale por ejemplo, al escalar de hd a 4k, los valores "graphicsresolution" y "videoresolution" permanecerán en 1920x1080, mientras que los valores "outputresolution" indicarán 3840x2160 adjustgraphicscolor() promise<> adjustgraphicscolor(colorproperties) ajusta la salida de video y gráficos del reproductor usando las opciones en la instancia propiedades de color proporcionada getedididentity() promise\<edididentity> getedididentity() devuelve información edid de un monitor/televisor compatible como una interfaz edididentity getedid() promise\<string> getedid() devuelve información edid de un monitor/televisor compatible como una cadena codificada en hexadecimal setmultiscreenbezel() promise<> setmultiscreenbezel(int xpercentage, int ypercentage) ajusta el tamaño del marco utilizado en los cálculos para pantallas multipantalla, permitiendo a los usuarios compensar el ancho de los marcos de sus pantallas los cálculos para los porcentajes son los siguientes xpercentage = (ancho del bisel entre pantallas activas / ancho de pantalla activa) 100 ypercentage = (altura del bisel entre pantallas activas / altura de la pantalla activa) 100 la medida del marco es, por lo tanto, el total de los marcos superior e inferior en el caso de y, o de los marcos izquierdo y derecho en el caso de x cuando este valor se establece correctamente, las imágenes distribuidas en múltiples pantallas tienen en cuenta el ancho de los marcos, lo que produce una mejor alineación de las imágenes setbackgroundcolor() promise<> setbackgroundcolor(int color) especifica el color de fondo utilizando un valor hexadecimal #rrggbb (8 bits para cada color) setpowersavemode() promise<> setpowersavemode(bool enable) deshabilita la salida hdmi y las sincronizaciones para la salida vga si se pasa verdadero la ausencia de señal hará que algunos monitores entren en modo de espera getpowersavemode() promise\<bool> getpowersavemode() devuelve verdadero si el modo de ahorro de energía está habilitado en la salida de video set3dmode() promise<> set3dmode(int mode) establece el modo de salida de video 3d, que se especifica pasando uno de los siguientes parámetros 0 video mono estándar (predeterminado) 1 video estéreo lado a lado 2 video estéreo arriba y abajo isattached() promise\<bool> isattached() devuelve verdadero si el conector de video hdmi/vga está conectado a un dispositivo de salida (es decir, el edid de la pantalla puede leerse correctamente) este método siempre devolverá falso si se ha llamado a setpowersavemode(true) en la salida getoutputstatus() \[type == "hdmi"] promise\<outputstatus> getoutputstatus() devuelve estado de salida que describe el estado actual de la salida de video y se define a continuación disableaudio() \[type == "hdmi"] promise\<void> disableaudio(bool disable) deshabilita la salida de audio si se pasa verdadero , el video continuará saliendo gettxhdcpstatus() \[type == "hdmi"] promise\<txhdcpstatus> gettxhdcpstatus() devuelve el estado actual de autenticación hdcp de la salida de video forcehdcpon() \[type == "hdmi"] promise\<void> forcehdcpon(bool) puede utilizarse para forzar la autenticación hdcp en la salida de video incluso sin forzar hdcp, todavía puede haber hdcp en la salida si una entrada hdmi ha solicitado autenticación setsyncdomain() promise\<void> setsyncdomain(string domain) pasar cualquier cadena habilitará la sincronización genlock para deshabilitar genlock en el dominio, pase una cadena vacía a este método la sincronización genlock bloqueará la sincronización vertical de la salida de video a la referencia del reloj del sistema luego, se utiliza ptp para sincronizar el reloj del sistema de múltiples reproductores (por ejemplo, en un muro de video) setmpcdi() promise\<void> setmpcdi(string filename) los usuarios que construyan un archivo mpcdi según el perfil multimedia 2d version1a deben pasar videooutputhdmi setmpcdi("sd /filename mpcdi") al reproductor para decodificar el archivo y aplicar warp y blend a la salida según los requisitos establecidos en filename mpcdi (reemplace "filename" con el nombre de su archivo real) pasar una cadena vacía desactivará warp y blend, y la imagen volverá al formato normal los reproductores series 4 implementan todos los niveles del perfil multimedia mpcdi 2d (versión 1a) close() promise\<void> close() este método cierra la instancia, evitando que siga consumiendo recursos si no se llama, la recolección de basura determina cuándo se destruirá la instancia edididentity esta interfaz contiene información edid sobre una pantalla conectada fabricante \<font color="#6554c0">string\</font> producto \<font color="#6554c0">int\</font> numerodeserie \<font color="#6554c0">int\</font> weekofmanufacture \<font color="#6554c0">int\</font> año de fabricación \<font color="#6554c0">int\</font> monitorname \<font color="#6554c0">string\</font> cadenadetexto \<font color="#6554c0">string\</font> serialnumberstring \<font color="#6554c0">string\</font> bt2020rgbsupport \<font color="#6554c0">bool\</font> bt2020yccsupport \<font color="#6554c0">bool\</font> sdreotfsupport \<font color="#6554c0">bool\</font> hdreotfsupport \<font color="#6554c0">bool\</font> hdrst2084support \<font color="#6554c0">bool\</font> outputstatus esta interfaz contiene información sobre un dispositivo de pantalla hdmi conectado las entradas outputpresent y outputpowered siempre serán falso si se ha llamado a setpowersavemode(true) en la salida outputpresent \<font color="#6554c0"> bool\</font> una marca que indica si la salida hdmi está conectada a un dispositivo de pantalla o no esto se basa en el estado de la línea hdmi hpd este valor siempre debe ser verdadero cuando hay un dispositivo conectado; sin embargo, depende de que la pantalla conectada cumpla con esta especificación outputpowered \<font color="#6554c0">bool\</font> un indicador que indica si el dispositivo de visualización está encendido (es decir, rx alimentado) esto se basa en el estado de terminación diferencial tmds inestable \<font color="#6554c0">bool\</font> un indicador que indica si la señal de visualización es inestable o estable audioformat \<font color="#6554c0">string\</font> el formato de la salida de audio un valor "pcm" indica que el reproductor está enviando una salida decodificada audiosamplerate \<font color="#6554c0">int\</font> la frecuencia de muestreo de audio (en hercios) audiobitspersample \<font color="#6554c0">int\</font> el número de bits por muestra de audio audiochannelcount \<font color="#6554c0">int\</font> el número de canales de audio en la salida eotf \<font color="#6554c0">string\</font> la función actual de transferencia electroóptica (eotf) utilizada por la pantalla los siguientes son valores posibles "hdr (gamma)" "sdr (gamma)" "smpte 2084 (pq)" "future (bbc/nhk)" "unspecified" tamaño esta interfaz representa una resolución de video ancho \<font color="#6554c0">int\</font> la altura de la pantalla/plano altura \<font color="#6554c0">int\</font> el ancho de la pantalla/plano propiedadesdecolor esta interfaz se pasa al método adjustgraphicscolor() cada uno de los siguientes parámetros tiene un valor predeterminado de 0 y puede aceptar un rango de valores entre 1000 y 1000 contraste \<font color="#6554c0">int\</font> saturación \<font color="#6554c0">int\</font> matiz \<font color="#6554c0">int\</font> brillo \<font color="#6554c0">int\</font> estadotxhdcp esta interfaz es devuelta por el método gettxhdcpstatus() estado \<font color="#6554c0">string\</font> el estado hdcp de la salida hdmi, que puede ser uno de los siguientes valores " no requerido " hdcp no es requerido por el reproductor hdcp es requerido por el reproductor si el video ha sido decodificado localmente y necesita protección o si el script ha llamado al método forcehdcpon() tenga en cuenta que, incluso si este parámetro indica no requerido , hdcp aún podría estar activo en modo passthrough si una fuente hdmi ascendente (es decir, un dispositivo conectado al puerto de entrada hdmi del reproductor) lo ha solicitado " autenticado " hdcp ha sido habilitado y negociado correctamente " autenticación en curso " hdcp ha sido habilitado pero la autenticación está incompleta " authentication failed " hdcp ha sido solicitado pero no pudo ser negociado ejemplo var videooutputclass = require("@brightsign/videooutput"); var videooutputhdmi = new videooutputclass("hdmi"); videooutputhdmi getoutputstatus() then( function(data) { console log("\nprint the hdmi output status"); console log(json stringify(data)); }) catch( function(data) { console log(json stringify(data)); })