---
title: Mostrar medios con MPCDI
slug: hardware/es/mostrar-medios-con-mpcdi
docTags: 
createdAt: 2025-03-11T06:58:11.201Z
---

Los reproductores BrightSign admiten la especificación MPCDI para warping y edge blending. Esta página describe cómo mostrar contenido multimedia, incluidas imágenes, video y HTML, mediante MPCDI. Tenga en cuenta que se requieren algunos conocimientos de BrightScript para desarrollar aplicaciones MPCDI en reproductores BrightSign.

:::hint{type="info"}
La API descrita a continuación requiere BrightSignOS versión 7.0 o posterior.
:::

# Descripción general del soporte

Los reproductores de la Serie 4 (XTx44, XDx34, HDx24) y Serie 3 (XTx43, XDx33, HDx23, HO523) admiten todos los niveles del perfil MPCDI 2D Media.

Los reproductores 4Kx42 también admiten MPCDI, pero solo en Nivel 1 y Nivel 2. Recomendamos los reproductores Serie 3 o 4 para obtener velocidades de renderizado óptimas.

MPCDI Versión 1a está implementado en los reproductores Serie 3 y 4. No es compatible con los reproductores Serie 5.

## Tipos de contenido multimedia

MPCDI es compatible con objetos gráficos como *roImageWidget*, *roHtmlWidget*, y *roTextWidget*. No es compatible con el objeto *roVideoPlayer*; para aplicar MPCDI a un video, muestre el video como parte de una página HTML.

# API de BrightScript para MPCDI

La API de BrightScript está diseñada de modo que la información correspondiente a una región en particular debe extraerse del archivo *.mpcdi* y luego pasarse al método *roVideoMode.SetMpcdi()* . Una vez que la información de configuración de una región se pasa al reproductor, MPCDI se habilita y el contenido multimedia mostrado en widgets HTML, de imagen y de texto se deformará según la configuración.

Dado que el archivo de configuración MPCDI puede contener más de una región, el script autorun en el reproductor deberá seleccionar una región determinada del archivo *.mpcdi* y analizar los datos de esa región antes de utilizarlos para configurar el reproductor. Tenga en cuenta que cada reproductor puede mostrar solo una región MPCDI.

Si desea omitir la escritura de un script para analizar datos MPCDI y configurar el reproductor, puede usar el script de plantilla adjunto a esta página (consulte la sección **Script de plantilla MPCDI** más abajo para obtener más detalles).

## Habilitación de MPCDI

Para habilitar MPCDI, llame al método *roVideoMode.SetMpcdi()* :

### SetMpcdi(parameters As roAssociativeArray) As Boolean

Habilita MPCDI mediante un arreglo asociativo de parámetros. Este método devuelve `verdadero` si MPCDI se ha habilitado y `falso` si no pudo habilitarse. El arreglo asociativo debe contener los siguientes parámetros:

- `región` <font color="#7820c8">roAssociativeArray</font>: Un arreglo asociativo de parámetros que contiene datos de región:
  - `xresolution` <font color="#7820c8">int</font>: El ancho de la ventana gráfica, que corresponde al atributo `<XResolution>` en la etiqueta `<región>` del archivo de configuración *mpcdi.xml*
  - `yresolution` <font color="#7820c8">int</font>: La altura de la ventana gráfica, que corresponde al atributo `<YResolution>` en la etiqueta `<región>` del archivo de configuración *mpcdi.xml*
  - `x` <font color="#7820c8">float</font>: La posición horizontal de la coordenada de la región, que corresponde al atributo `<x>` en la etiqueta `<región>` del archivo de configuración *mpcdi.xml*
  - `y` <font color="#7820c8">float</font>: La posición vertical de la coordenada de la región, que corresponde al atributo `<y>` en la etiqueta `<región>` del archivo de configuración *mpcdi.xml*
  - `xsize` <font color="#7820c8">float</font>: El ancho de la coordenada de la región, que corresponde al atributo `<xsize>` en la etiqueta `<región>` del archivo de configuración *mpcdi.xml*
  - `ysize` <font color="#7820c8">float</font>: La altura de la coordenada de la región, que corresponde al atributo `<ysize>` del tag `<región>` del archivo de *configuración mpcdi.xml*&#x20;
- `blendmaps` <font color="#7820c8">roArray</font>: Un arreglo que contiene una o dos entradas que describen datos de mapas de mezcla. El arreglo debe contener una entrada que describa los parámetros del mapa alpha y puede contener una segunda entrada que describa los parámetros del mapa beta. Cada entrada debe tener los siguientes parámetros:
  - `mapname` <font color="#7820c8">string</font>: El nombre del mapa, que puede ser "alpha" o "beta"
  - `ancho` <font color="#7820c8">int</font>: El ancho del mapa, como se proporciona en el archivo *.png*&#x20;
  - `altura` <font color="#7820c8">int</font>: La altura del mapa, como se proporciona en el archivo *.png*&#x20;
  - `comdepth` <font color="#7820c8">int</font>: El número de componentes almacenados en el mapa, que corresponde al tag `<alphaMap>` o `<betaMap>` del archivo de *configuración mpcdi.xml*&#x20;
  - `tamaño` <font color="#7820c8">int</font>: El tamaño de los datos decodificados del archivo *.png* (en bytes)
  - `gammacorrection` <font color="#7820c8">float</font>: El valor de corrección gamma, que corresponde al atributo `<gammaEmbedded>` del tag `<alphaMap>` del archivo de *configuración mpcid.xml* (esta configuración no se aplica a un mapa beta)
  - `datos` <font color="#7820c8">roByteArray</font>: Los datos decodificados de *.png*&#x20;
- `deformación` <font color="#7820c8">roAssociativeArray</font>: Un arreglo asociativo de parámetros que contiene datos de warp:
- `ancho` <font color="#7820c8">int</font>: El ancho del mapa de warp geométrico, que se proporciona en el archivo *.pfm*&#x20;
- `altura` <font color="#7820c8">int</font>: La altura del mapa de warp geométrico, que se proporciona en el archivo *.pfm*&#x20;
- `datos` <font color="#7820c8">roArray</font>: Los datos extraídos del archivo *.pfm* como un arreglo de valores float

### Deshabilitar MPCDI

Para deshabilitar MPCDI, pase Invalid al método `SetMpcdi()`.

### Ejemplo

:::CodeblockTabs
BrightScript

```text
vm = CreateObject("roVideoMode")
mpcdi_params = invalid
vm.SetMpcdi(mpcdi_params)
```
:::

# Script de plantilla MPCDI

El script *.brs* adjunto a esta página extraerá todos los datos relevantes de un archivo *.mpcdi* y lo utilizará para configurar MPCDI en el reproductor. Luego muestra hasta tres widgets HTML: un widget puede usarse para mostrar un video o imagen como una página HTML simple, mientras que los otros dos muestran páginas HTML de la web.

La función `Main()` acepta un arreglo de parámetros:

:::CodeblockTabs
BrightScript

```text
[mpcdi_enabled, widget_count, filename.mpcdi, mode, ip_media_filename]
```
:::

- `mpcdi_enabled` string: Una marca que determina si MPCDI está habilitado ("on") o deshabilitado ("off")
- `widget_count` int: El número de widgets que se mostrarán en pantalla (1, 2 o 3). Si especifica un solo widget, el widget de imagen/video se mostrará en pantalla completa.
- `filename.mpcdi` string: El nombre del archivo *.mpcdi*
- `modo` string: El modo del widget de imagen/video ("image" o "video")
- `ip_media_filename` string: El nombre del archivo multimedia que se mostrará en el widget de imagen/video.

Para modificar las páginas HTML mostradas por el segundo y tercer widget, cambie las cadenas `SetUrl()` en la función `ShowUserWidgets()` .

# Configuración de regiones MPCDI

Si está utilizando el script de plantilla adjunto a esta página, deberá asignar cada reproductor a una región MPCDI antes de ejecutar el script. Esto se hace escribiendo la asignación de región en el registro del reproductor. El script de plantilla recuperará el valor del registro y lo utilizará para extraer los datos correctos de la región del archivo *.mpcdi*.

Puede escribir asignaciones de región en el registro usando BrightSign Shell, o puede usar BrightScript.

## BrightSign Shell

Realice los siguientes pasos en cada reproductor BrightSign que forme parte de la pantalla MPCDI:

1. Conecte el reproductor a una PC usando un cable de [puerto serie](docId\:SWGkSZsxGnsV_a1q-1NYv) o [Habilitar Telnet y SSH](docId\:ym2AUSwSoTnaSBIUceIoW).
2. Apague el reproductor y retire la tarjeta microSD u otro almacenamiento.
3. Encienda el reproductor.
4. Espere hasta que aparezca la pantalla de inicio de BrightSign en la pantalla.
5. Presione el botón SVC en el reproductor. Esto dará como resultado la entrada en la shell `BrightSign>` .
6. Escriba "registry write brightscript mpcdi\_region \[region id]", donde \[region id] se refiere al atributo id en el archivo *mpcdi.xml* asociado con la región que desea asignar al reproductor. Presione Enter cuando termine.
7. Escriba "reboot" y presione Enter.

Si más adelante necesita recuperar el ID de región almacenado en el registro del reproductor, puede introducir el siguiente comando en la shell: "registry read brightscript mpcdi\_region"

## BrightScript

Incluya lo siguiente en su script autorun, plugin o independiente:

:::CodeblockTabs
BrightScript

```text
reg = CreateObject("roRegistrySection", "brightscript")
reg.write("mpcdi_region","region id")
```
:::

El "region id" se refiere al atributo `identificación` en el archivo *mpcdi.xml* asociado con la región que desea asignar al reproductor. Si este código forma parte de un autorun, deberá desarrollar un mecanismo para diferenciar entre reproductores y asignar automáticamente el ID de región correcto.

También deberá reiniciar el reproductor en algún momento (por ejemplo, llamando a `RebootSystem()`) antes de mostrar MPCDI para que la escritura en el registro entre en vigor.

Si más adelante necesita recuperar el ID de región almacenado en el registro del reproductor, puede llamar al método *roRegistrySection.Read()*.

::File{src="https://api.archbee.com/api/presign/TYAqEnq_Txckpox4eAKHe-tQaoM8Iqxj0V9hpTgHA0L-20250409-181454.brs" label="mpcdi.brs"}

