Electron Player

xiboplayer-electron

Self-contained desktop player for Linux with built-in Chromium browser and kiosk mode.

RPMDEBx86_64aarch64 GitHub
📺Video wall sync with <8ms precision
🔒Fullscreen kiosk, auto-hide cursor
🎬GPU acceleration (VAAPI)
🔄REST API first, SOAP fallback

Característiques principals

  • Mode quiosc a pantalla completa — sense decoració de finestra, cursor auto-ocult, sempre al davant
  • Servidor HTTP integrat — serveix els fitxers PWA a localhost:8765
  • Múltiples instàncies — executa diverses pantalles des d'una sola màquina amb --instance=NOM
  • Reenviament de registres de la consola — els registres del renderitzador es reenvien a la sortida estàndard del proxy per facilitar la depuració
  • Gestió de CORS — elimina i reinjecta les capçaleres CORS automàticament
  • Integració amb systemd — inici automàtic a l'arrencada mitjançant servei d'usuari
  • API REST primer — utilitza l'API REST del CMS com a protocol principal, amb SOAP com a alternativa
  • Acceleració GPU — descodificació de vídeo VAAPI per a Intel, AMD i NVIDIA

Instal·lació

Fedora / RHEL

# Add the repository (one-time)
# Fedora 44
sudo dnf install \
  https://dl.xiboplayer.org/rpm/fedora/43/noarch/xiboplayer-release-43-7.fc43.noarch.rpm

# Fedora 43
sudo dnf install \
  https://dl.xiboplayer.org/rpm/fedora/43/noarch/xiboplayer-release-43-7.fc43.noarch.rpm

# Install
sudo dnf install xiboplayer-electron

Ubuntu / Debian

# Add the repository (one-time)
curl -fsSLO https://dl.xiboplayer.org/deb/ubuntu/24.04/all/xiboplayer-release_1.0.2_all.deb
sudo apt install ./xiboplayer-release_1.0.2_all.deb

# Install
sudo apt update && sudo apt install xiboplayer-electron

Configuració

Fitxer de configuració: ~/.config/xiboplayer/electron/config.json

{
  "cmsUrl": "https://your-cms.example.com",
  "hardwareKey": "your-hardware-key",
  "serverPort": 8765,
  "kioskMode": true,
  "fullscreen": true,
  "hideMouseCursor": true,
  "preventSleep": true,
  "autoLaunch": false,
  "transport": "rest",
  "controls": {
    "keyboard": {
      "debugOverlays": false,
      "setupKey": false,
      "playbackControl": false,
      "videoControls": false
    },
    "mouse": {
      "statusBarOnHover": false
    }
  }
}

Tots els controls estan desactivats per defecte. Establiu cada grup de control a true per activar-lo. Opció exclusiva d'Electron: autoLaunch.

Arguments de línia d'ordres

xiboplayer-electron --dev              # Development mode (DevTools enabled)
xiboplayer-electron --no-kiosk         # Disable kiosk mode
xiboplayer-electron --port=8080        # Custom server port
xiboplayer-electron --cms-url=URL      # Override CMS URL
xiboplayer-electron --cms-key=KEY      # Override CMS key
xiboplayer-electron --display-name=NAME  # Override display name

Inici automàtic a l'arrencada

# Enable
systemctl --user enable --now xiboplayer-electron.service

# Check status
systemctl --user status xiboplayer-electron.service

# View logs
journalctl --user -u xiboplayer-electron.service -f

Dreceres de teclat

Dreceres d'Electron (sempre disponibles):

TeclaAcció
Ctrl+Shift+F12Mostra el menú de la safata del sistema
Ctrl+Shift+RRecarrega el reproductor
Ctrl+Shift+ICommuta DevTools (només en mode dev)

Dreceres del reproductor (desactivades per defecte — activeu-les via controls a config.json):

TeclaRequereixAcció
Tcontrols.keyboard.debugOverlays: trueCommuta la superposició de la línia de temps
Dcontrols.keyboard.debugOverlays: trueCommuta la superposició de descàrregues
Vcontrols.keyboard.videoControls: trueCommuta els controls de vídeo
/ PageDowncontrols.keyboard.playbackControl: trueSalta al disseny següent
/ PageUpcontrols.keyboard.playbackControl: trueTorna al disseny anterior
Spacecontrols.keyboard.playbackControl: truePausa / reprèn la reproducció
Rcontrols.keyboard.playbackControl: trueTorna al disseny programat

El hover del ratolí a la barra d'estat també requereix controls.mouse.statusBarOnHover: true.

Nivells de registre

Per defecte: WARNING (segur per a producció). Utilitzeu --dev per a registre DEBUG.

NivellCas d'ús
DEBUGDesplegament inicial — verificar connectivitat amb el CMS
INFOOperació normal
WARNINGPer defecte en producció
ERRORProducció — només errors

Els nivells de registre només afecten la verbositat dels registres. Les superposicions de depuració (línia de temps, descàrregues) es controlen exclusivament amb controls.keyboard.debugOverlays a config.json, no amb el nivell de registre.

Acceleració de maquinari GPU

Instal·leu el controlador VAAPI adequat per a la vostra GPU:

GPUPaquet (Fedora)
Intellibva-intel-media-driver
AMDmesa-va-drivers
NVIDIAlibva-nvidia-driver (RPM Fusion)

Verifiqueu amb vainfo.

Resolució de problemes

El reproductor no s'inicia

# Check if port is available
ss -tlnp | grep 8765

# Try different port
xiboplayer-electron --port=8080

# Check logs
journalctl --user -u xiboplayer-electron.service -n 50

No es pot sortir del mode quiosc

Premeu Ctrl+Shift+F12 per mostrar el menú de la safata del sistema, després seleccioneu "Exit Player". O des del terminal: pkill -f xiboplayer-electron.

Monitoratge de rendiment

Activa el Chrome DevTools Protocol per monitorar FPS, memoria i rendiment del renderitzador. No esta activat per defecte.

# Activar (port 9223)
systemctl --user set-environment XIBOPLAYER_DEBUG_PORT=9223
systemctl --user restart xiboplayer-electron

# Consultar objectius
curl -s http://localhost:9223/json

# Desactivar
systemctl --user unset-environment XIBOPLAYER_DEBUG_PORT
systemctl --user restart xiboplayer-electron

El port nomes escolta a 127.0.0.1. Utilitza Performance.getMetrics via la URL WebSocket per llegir FPS, mida del heap JS, nombre de nodes DOM i comptadors de layout.

Enllaços