---
title: videooutput
slug: develop/es/videooutput
docTags: 
createdAt: 2025-03-27T16:58:54.124Z
---

El objeto *salida de video&#x20;*&#x6C;e 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)*&#xA0;&#x20;*).

**IDL de videooutput**

```javascript
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`").

```javascript
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 HDM&#x49;*®* . Tiene una propiedad type:

- `tipo`: El tipo de evento es `hotplugevent`

### Métodos

**getVideoResolution()**

```javascript
Promise<Size> getVideoResolution() 
```

Devuelve la resolución actual del plano de video.

**getGraphicsResolution()**

```javascript
Promise<Size> getGraphicsResolution() 
```

Devuelve la resolución actual del plano gráfico.

**getOutputResolution()**

```javascript
Promise<Size> getOutputResolution() 
```

Devuelve la resolución actual de salida de video.

:::hint{type="info"}
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()**

```javascript
Promise<> adjustGraphicsColor(ColorProperties) 
```

Ajusta la salida de video y gráficos del reproductor usando las opciones en la instancia `Propiedades de color` proporcionada.

**getEdidIdentity()**

```javascript
Promise<EdidIdentity> getEdidIdentity()
```

Devuelve información EDID de un monitor/televisor compatible como una interfaz EdidIdentity.

**getEdid()**

```javascript
Promise<String> getEdid()
```

Devuelve información EDID de un monitor/televisor compatible como una cadena codificada en hexadecimal

**setMultiScreenBezel()**

```javascript
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()**

```javascript
Promise<> setBackgroundColor(int color)
```

Especifica el color de fondo utilizando un valor hexadecimal `#rrggbb` (8 bits para cada color).

**setPowerSaveMode()**

```javascript
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()**

```javascript
Promise<bool> getPowerSaveMode()
```

Devuelve `Verdadero` si el modo de ahorro de energía está habilitado en la salida de video.

**set3dMode()**

```javascript
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()**

```javascript
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()**

```javascript
[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()**

```javascript
[type == "hdmi"] Promise<void> disableAudio(bool disable)
```

Deshabilita la salida de audio. Si se pasa `Verdadero`, el video continuará saliendo.

**getTxHdcpStatus()**

```javascript
[type == "hdmi"] Promise<TxHdcpStatus> getTxHdcpStatus()
```

Devuelve el estado actual de autenticación HDCP de la salida de video.

**forceHdcpOn()**

```javascript
[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()&#x20;**

```javascript
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()**

```javascript
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()**

```javascript
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.

:::hint{type="info"}
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.&#x20;
- `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

```javascript
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));
        })
```

