Paquets del SDK

Tots els paquets es publiquen sota l'àmbit @xiboplayer a npm.

Nucli

@xiboplayer/core

Orquestració independent de plataforma — el cervell central que connecta tot.

  • Gestió del cicle de col·lecció (RegisterDisplay, RequiredFiles, Schedule, etc.)
  • Cau offline amb fallback a IndexedDB
  • Optimització de salt CRC32
  • Gestió de connectors de dades
  • Execució de comandes

npm · GitHub

@xiboplayer/renderer

Renderitzador de dissenys XLF — analitza el XML de dissenys Xibo i el renderitza al DOM.

  • Reutilització d'elements (pre-crear tots els widgets, alternar visibilitat)
  • Tipus de widget: vídeo, imatge, àudio, PDF, text, rellotge, ticker, pàgina web, HLS, incrustat
  • Transicions: esvaïment, vol (8 direccions de brúixola) via Web Animations API
  • Servidor de Control Interactiu (pont postMessage)
  • Accions tàctils/teclat
  • Renderitzat de capes superposades amb z-index basat en prioritat

npm · GitHub

Comunicació

@xiboplayer/xmds

Comunicació amb el CMS — transport dual amb superfície d'API idèntica.

  • XmdsClient: transport SOAP/XML (totes les versions del CMS)
  • RestClient: transport REST/JSON (càrregues 30% més petites, cau ETag 304)
  • Els 10 mètodes XMDS v5 + GetWeather + BlackList
  • Detecció de canvis CRC32

npm · GitHub

@xiboplayer/xmr

Missatgeria push en temps real — encapsula la biblioteca oficial de WebSocket de Xibo.

  • 14 gestors de comandes (collectNow, screenshot, changeLayout, overlayLayout, revertToSchedule, purgeAll, etc.)
  • Reconnexió amb reculada exponencial (10 intents)
  • Comprovació de TTL/expiració
  • Rotació de claus RSA via Web Crypto API

npm · GitHub

Dades

@xiboplayer/cache

Gestió de fitxers i mitjans — descàrregues paral·leles amb verificació d'integritat.

  • Descàrregues paral·leles de 4 blocs amb dimensionament dinàmic
  • Validació MD5 (spark-md5)
  • Reescriptura d'URLs de CSS de fonts
  • Detecció de cau corrupte i neteja automàtica
  • Barreres de cua per a resiliència offline

npm · GitHub

@xiboplayer/schedule

Gestió de programació — analitza el XML de programació del CMS en una línia de temps de reproducció.

  • Franges horàries (recurrència diària, setmanal, mensual)
  • Programació de campanyes amb reproducció cíclica
  • Intercalació d'interrupcions/quota de veu
  • maxPlaysPerHour amb distribució uniforme
  • Programació de capes superposades amb prioritat
  • Geotanques i criteris meteorològics

npm · GitHub

@xiboplayer/stats

Estadístiques i registre — seguiment de prova de reproducció amb enviament al CMS.

  • Seguiment de durada per disseny i per widget
  • Estadístiques d'events (tàctil, webhook) amb etiquetes
  • Divisió per límit d'hora per a l'agregació correcta del CMS
  • Agrupament de registres (limitat a 50 per especificació del CMS)
  • Informe d'errors amb període de deduplicació de 5 minuts
  • Persistència a IndexedDB amb poda automàtica

npm · GitHub

Configuració

@xiboplayer/settings

Configuració de pantalla — analitza i gestiona la configuració enviada pel CMS.

  • EventEmitter per a actualitzacions reactives
  • Aplicació de finestra de descàrrega
  • Configuració d'interval de captures de pantalla
  • Nivell de registre des del CMS
  • Anàlisi de configuració d'etiquetes del CMS

npm · GitHub

@xiboplayer/utils

Utilitats compartides — la base utilitzada per tots els paquets.

  • Logger (basat en nivells amb destinació CMS)
  • Classe base EventEmitter
  • fetchWithRetry (reintent configurable amb reculada, HTTP 429 Retry-After)
  • Config (generació de clau de maquinari, adreça del CMS, localStorage)
  • Client de l'API del CMS (77 mètodes per a l'API de gestió del CMS v4)

npm · GitHub

Plataforma

@xiboplayer/sw

Utilitats del Service Worker — servei de mitjans i estratègies de cau.

  • Streaming progressiu per blocs amb peticions Range
  • Resolució de mitjans basada en XLF
  • Barreres de descàrrega ordenades per disseny
  • Reescriptura d'URLs de CSS de fonts
  • Cau primer amb fallback a xarxa

npm · GitHub

@xiboplayer/crypto

Criptografia — gestió de parells de claus RSA.

  • Generació de claus RSA-1024 via Web Crypto API
  • Exportació de clau pública per al registre al CMS
  • Suport de rotació de claus (comanda XMR rekey)

npm · GitHub

@xiboplayer/sync

Sincronització multipantalla — suport per a video walls entre pestanyes i dispositius.

  • Model líder/seguidor amb transports intercanviables
  • BroadcastChannel per a sincronització a la mateixa màquina (entre pestanyes)
  • Transport WebSocket per a sincronització entre dispositius a la LAN (video walls)
  • Aïllament de grups — múltiples video walls comparteixen un relay sense interferències
  • Transicions de disseny i inici de vídeo sincronitzats
  • Delegació d'estadístiques/registres a través del líder
  • Reconnexió automàtica amb reculada exponencial i re-unió automàtica al grup

npm · GitHub

@xiboplayer/proxy

Proxy CORS — suport per a desenvolupament, Electron/Chromium i relay de sincronització.

  • Servidor proxy basat en Express
  • Gestió de capçaleres CORS
  • Relay WebSocket de sincronització per a video walls entre dispositius amb aïllament de grups
  • CLI de relay independent (xiboplayer-relay --port=9590) per a desplegaments dedicats
  • Utilitzat pels wrappers d'Electron i Chromium

npm · GitHub