Quali Player sono disponibili?
Lettori: l’app web del lettore (PWA), Android su Google Play, Amazon Signage Stick, Apple TV, macOS, iPhone e iPad, Windows, pacchetti per Linux e Raspberry Pi, LG webOS Signage, BrightSign e Samsung Smart Signage (Tizen). Installa un lettore nativo per la riproduzione più veloce e affidabile.
L’app web del lettore (PWA) su play.screenrig.ai/player/ funziona su qualsiasi schermo con browser moderno: smart TV o monitor commerciale con browser integrato, dispositivo ChromeOS gestito in modalità kiosk, tablet o computer collegato allo schermo. Un embed solo stato del lettore è su play.screenrig.ai/player/embed/status/.
Ogni Player mostra un codice di associazione. Fornisci il codice al tuo agente, e lui si occupa del resto.
Ogni Player, tranne Windows, mostra anche un codice QR nella sua schermata di associazione. Inquadralo con un telefono connesso al dashboard e conferma con Associare schermo.
Supporto primitivo per piattaforma
Confronta le sei primitive di contenuto tra le piattaforme Player.
| Piattaforma del lettore | Immagine | Video | Flusso | Iframe | Applicazione | Scheda |
|---|---|---|---|---|---|---|
| Web / PWA | Sì | Sì | HLS | Sì | Sì | Sì |
Android (standard) | Sì | Sì | HLS + RTSP + multicast¹ | Sì | Sì | Sì |
Android (variante amazon) | Sì | Sì | HLS + RTSP + multicast¹ | Sì | Sì | Sì |
| Linux (Qt, artefatto x86_64) | Sì | Sì | HLS + RTSP + multicast¹ | Sì | Sì | Sì |
| macOS | Sì | Sì | HLS | Sì | Sì | Sì |
| Apple TV / tvOS | Sì | Sì | HLS | No | No | Sì |
| Windows | Sì | Sì | HLS | Sì | Sì | Sì |
| Samsung Smart Signage (Tizen) | Sì | Sì | HLS | Sì | Sì | Sì |
| LG webOS Signage | Sì | Sì | HLS | Sì | Sì | Sì |
| BrightSign | Sì | Sì | HLS | Sì | Sì | Sì |
¹ UDP/MPEG-TS multicast diretto è opzionale e deve essere abilitato su Android o Qt. Richiede una rete che trasmetta il gruppo multicast al Player. Altri Player usano HLS; una sorgente multicast può includere un’alternativa HLS.
Apple TV supporta immagini, video, stream HLS e schede. Non può visualizzare pagine web iframe o applicazioni web pacchettizzate. Una playlist contenente uno di questi elementi viene rifiutata; l’ultima playlist accettata resta attiva.
Il src di un iframe può essere qualsiasi link YouTube a un video, Shorts, diretta, playlist o youtube.com/channel/UC…/live. screenRIG lo memorizza come incorporamento che parte in automatico, va in loop e nasconde i controlli di YouTube. Ogni Player lo riproduce con l’audio dove il browser dello schermo lo consente, e l’app web Player lo silenzia quando il browser lo rifiuta; aggiungi mute=1 al link per silenziarlo ovunque. Imposta advance della pagina su {"mode":"duration","after_ms":30000,"until":"video_end"} e la pagina dura fino alla fine del video (una pagina con esattamente un video YouTube; una playlist o una diretta non ha fine); after_ms indica per quanto tempo viene mostrata quando lo schermo non riesce a leggere la durata del video.
Ogni piattaforma Player sopra riproduce anche la colonna sonora della playlist. L’app web Player la avvia una volta che il browser consente il suono; vedi Colonne sonore.
Sincronizzazione eventuale
I Player Android, Amazon Signage Stick, macOS, Windows, Linux e Raspberry Pi allineano gradualmente i cambi pagina con i Player vicini che mostrano la stessa revisione playlist. Assegna la stessa playlist a schermi su una subnet IPv4. Usa durate pagina fisse di almeno un secondo, elimina transizioni e animazioni di ingresso. Ogni Player trasmette un piccolo beacon di inizio pagina e fa una piccola regolazione dell’attesa prima della pagina successiva. Le regolazioni temporali si attivano solo dopo che un secondo Player sulla stessa revisione playlist è scoperto. Schermi su playlist diverse non si influenzano. Uno schermo solo mantiene il suo timing normale; il gruppo segue la posizione di riproduzione mediana una volta che i pari si uniscono.
La rete deve consentire la trasmissione UDP device-to-device sulla porta 49817. Consenti l’accesso alla rete locale quando il dispositivo lo richiede. Gli schermi continuano a riprodurre anche con perdita di pacchetti, cicli di alimentazione e partizioni di rete, e convergono di nuovo all’arrivo dei beacon di pagina. Ogni attesa aggiunta è limitata a 40 millisecondi. Pagine lunghe e grandi differenze di temporizzazione impiegano più tempo a convergere; questo sincronizza i cambi di pagina più che i fotogrammi video o le tracce audio.
Per avvicinare rapidamente una posizione, chiedi al tuo agente di riavviare la riproduzione sui suoi schermi con screen reload --tag LOCATION, sostituendo LOCATION con il loro tag condiviso. I lettori riavviano le playlist idonee alla prima pagina e completano l’allineamento tramite i loro beacon regolari. Associazione e contenuti scaricati restano al loro posto.
Installa un Player nativo
| Piattaforma | Scarica il lettore |
|---|---|
| Android TV, tablet e signage box (Android 9 o successivo) | Google Play o APK Android |
| Amazon Signage Stick | Amazon Appstore |
| Fire TV Stick | Amazon Appstore |
| Apple TV | App Store |
| macOS | Mac App Store |
| iPhone e iPad | App Store |
| Windows | Microsoft Store |
| Linux (x86_64) | Pacchetto Linux da screenrig.ai/linux/ |
| Raspberry Pi (64 bit) | Pacchetto Linux aarch64 da screenrig.ai/linux/ |
| Samsung Smart Signage (Tizen) | Lettore nativo |
| BrightSign | screenrig.ai/brightsign/ |
| LG webOS Signage (6.0 o successivo) | screenrig.ai/webos/ |
Ogni download è anche nella pagina Download.
- 01
Installa il Player per il dispositivo schermo.
- 02
Avviala. Si apre a schermo intero e mostra un codice di associazione.
- 03
Fornisci il codice di associazione al tuo agente. Associa lo schermo e pubblica su di esso.
Ogni lettore nativo scarica i contenuti multimediali una sola volta, li memorizza in cache e li riproduce dalla memoria locale.
Installa l’APK Android
Usa l’APK su Android TV, dispositivi Google TV, tablet e box segnaletica su Android 9 o successivo che non usano Google Play. Usalo quando installi via ADB.
L’APK è firmato e pubblico. È lo stesso lettore della build Google Play. Il nome del file riporta la versione, quindi usa https://screenrig.ai/android/manifest.json come unico riferimento al file corrente.
Prima di iniziare, attiva le opzioni sviluppatore e il debug USB o di rete sul dispositivo. Serve anche adb sul computer.
Connetti al dispositivo. Per un dispositivo di rete, esegui
adb connect DEVICE_IP:5555.Scarica, verifica e installa l’APK:
Scarica, verifica e installa l’APK curl -fsSL https://screenrig.ai/android/manifest.json -o manifest.json path=$(jq -r .player.path manifest.json); sha=$(jq -r .player.sha256 manifest.json) curl -fsSLO "https://screenrig.ai$path" echo "$sha ${path##*/}" | sha256sum -c - adb install -r "${path##*/}" adb shell am start ai.screenrig.playerIl lettore apre a schermo intero e mostra un codice di associazione. Fornisci il codice al tuo agente.
Avvia all'accensione
Avvia all’accensione è attivo di default. È un interruttore nelle impostazioni operatore del Player: una volta associato lo schermo, premi OK sul telecomando per aprire il menu e scegli Impostazioni. Su Android 9 non serve alcun permesso. Su Android 10 e versioni successive, concedi Visualizza su altre app a meno che il dispositivo non sia gestito come device-owner: seleziona Avvia all’accensione e segui la richiesta. Dove è disponibile una schermata dei permessi, il Player lo richiede quando mostra per la prima volta il codice di associazione: seleziona Apri impostazioni e consenti Visualizza su altre app. Finché il permesso non è concesso, la riga mostra Permesso richiesto e il Player non si avvia all’accensione. Puoi anche concederlo con ADB:
adb shell cmd appops set ai.screenrig.player SYSTEM_ALERT_WINDOW allowSu Fire OS 8, usa ADB per concedere questo permesso; la schermata delle impostazioni non lo offre.
Salvaschermo
Su Android TV e Google TV, screenRIG è uno degli screensaver della TV. Apri Screen saver nelle Impostazioni della TV e seleziona screenRIG. Quando la TV avvia lo screensaver, il Player viene in primo piano e riproduce i tuoi contenuti. Non serve alcun permesso.
Aggiornamento in corso
Esegui di nuovo i passaggi di installazione. Android installa la versione superiore su quella installata e mantiene l’associazione. Solo una versione superiore sostituisce quella installata.
Google Play
L’APK e la build Google Play condividono il pacchetto ai.screenrig.player. Se è installata la build Google Play, disinstallala prima. Associa di nuovo il lettore dopo aver installato l’APK.
Linux e Raspberry Pi
Il lettore Linux è un pacchetto autonomo per Linux a 64 bit, costruito per PC x86_64 e schede aarch64 come Raspberry Pi. Qt, Qt WebEngine e GStreamer sono inclusi nel pacchetto. La macchina necessita della versione glibc indicata per la sua architettura su screenrig.ai/linux/, di una sessione Wayland o del compositore kiosk cage, e dei propri driver GPU, font, certificati CA e servizio audio.
Installalo con l’installer, che sceglie la build per la macchina e la verifica contro SHA256SUMS:
curl -fsSL https://screenrig.ai/linux/install.sh | shSu uno schermo dedicato, aggiungi --kiosk (sh -s -- --kiosk) per avviare il Player all’accensione dentro cage sotto un servizio systemd. Esegui di nuovo l’installer per aggiornare, o con --uninstall per rimuoverlo. Installazione manuale: scarica screenrig-player-linux-x86_64.tar.gz o screenrig-player-linux-aarch64.tar.gz e SHA256SUMS da screenrig.ai/linux/, controllali con sha256sum --ignore-missing -c SHA256SUMS, estraili in /opt/screenrig-player e esegui /opt/screenrig-player/screenrig-player.
Debian 13, Raspberry Pi OS (trixie, 64-bit), Ubuntu, Fedora e Arch Linux eseguono il Player quando soddisfano il requisito glibc del pacchetto. Debian 12 e Raspberry Pi OS bookworm includono una glibc più vecchia; aggiornali prima. I pacchetti per distribuzione per un’installazione kiosk sono nelle note di download Linux.
Raspberry Pi
Usa Raspberry Pi OS (64-bit) basato su trixie; le immagini 32-bit e bookworm non possono eseguire il lettore. Raspberry Pi 5 decodifica HEVC in hardware fino a 4K a 60 fps e non ha un decoder H.264, quindi carica ogni video destinato a esso con screenrig media upload --codec hevc, a qualsiasi dimensione. Raspberry Pi 4 riproduce 1080p. Raspberry Pi OS Lite con --kiosk avvia direttamente il lettore.
Mantieni la risoluzione scelta per lo schermo: un video HEVC 4K viene riprodotto su un’uscita 1920×1080. Per aggiornare un lettore Pi, esegui nuovamente il programma di installazione Linux usando il prefisso di installazione e l’account del lettore esistenti; l’associazione e le impostazioni dello schermo vengono mantenute. Ricaricare uno schermo aggiorna i contenuti e non installa una nuova versione del lettore.
Video wall
Un Player gestisce da 2 a 12 display come una parete: il Player Linux in un’installazione --kiosk con wlr-randr (sudo apt install wlr-randr) e il Player Windows. Un Raspberry Pi 5 gestisce due display; un PC ne gestisce quanti ne consentono le sue uscite grafiche, e un mini PC Intel come Quieter 4C ne gestisce fino a tre. Il Player Windows dispone da sé il layout dei display di Windows: posiziona e ruota i display, e li specchia con la modalità duplica di Windows per una playlist senza format. Windows mantiene la propria scala dei display.
screen show elenca le uscite dello schermo, per esempio HDMI-A-1 su Linux o DISPLAY1 su Windows. Una parete è una row (da sinistra a destra), una column (dall’alto in basso) o una grid. Una griglia usa --columns, i display per riga, e occupa almeno due righe: 12 display in 4 colonne formano 3 righe. I display sono numerati da sinistra a destra, poi dall’alto in basso, e --outputs nomina le uscite in quest’ordine. --rotation ruota ogni display in senso orario di 0 (predefinito), 90, 180 o 270 gradi; 90 e 270 sono pannelli in verticale.
screenrig screen wall set SCREEN_ID --outputs HDMI-A-1,HDMI-A-2 --arrangement row [--rotation 0|90|180|270]
screenrig screen wall set SCREEN_ID --outputs DISPLAY1,DISPLAY2,DISPLAY3,DISPLAY4 --arrangement grid --columns 2
screenrig screen wall clear SCREEN_IDDopo un cambio di parete ogni monitor mostra il proprio numero e nome di uscita per 20 secondi, così puoi controllare l’ordine.
Una playlist costruita per la parete porta un format (displays, arrangement, orientation e, per una griglia, columns) e una tela di una pagina, in unità di design 1080p per display: una tile è 1920 × 1080 in orizzontale o 1080 × 1920 in verticale, e la tela è la tile moltiplicata per colonne e righe. Un pannello 4K non richiede nulla di diverso. Uno schermo riproduce una playlist da parete solo se la sua parete ha la stessa forma.
| Monitor | Disposizione | Canvas orizzontale | Tela verticale |
|---|---|---|---|
| 2 | riga | 3840 × 1080 | 2160 × 1920 |
| 2 | colonna | 1920 × 2160 | 1080 × 3840 |
| 3 | riga | 5760 × 1080 | 3240 × 1920 |
| 3 | colonna | 1920 × 3240 | 1080 × 5760 |
| 4 | griglia, 2 colonne | 3840 × 2160 | 2160 × 3840 |
| 12 | griglia, 4 colonne | 7680 × 3240 | 4320 × 5760 |
Posiziona un elemento con displays: [1,2,3] copre tre display in fila, [2] sta su un display e [1,2] ne copre due. I display riempiono un rettangolo della parete: su una griglia di 4 colonne, [1,2,5,6] è il blocco in alto a sinistra e [3,7,11] una colonna di tre. Oppure dai un rect libero sulla tela della parete. Una card si dispone dentro il suo displays, quindi center su [2] sta al centro del display 2; senza displays usa tutti i display. Su uno schermo con parete, una playlist normale (senza format) si riproduce specchiata su ogni display.
Elabora il video della parete al rapporto d’aspetto della parete entro 4K, come 3840 × 720 per tre display orizzontali in fila, 3840 × 1080 per due e 3840 × 1620 per una griglia di 4 colonne e 3 righe, e posizionalo con content_fit: fill. Mantieni testo e volti lontani dalle giunture tra i display.
{
"name": "Lobby wall",
"format": { "displays": 3, "arrangement": "row", "orientation": "landscape" },
"pages": [
{
"id": "welcome",
"canvas": { "width": 5760, "height": 1080, "background": "#000000FF" },
"transition": { "type": "crossfade", "duration_ms": 500 },
"advance": { "mode": "media_end" },
"primitives": [
{
"id": "film",
"primitive": "video",
"selector": { "by": "id", "media_id": "med_01EXAMPLEWALL000000000" },
"displays": [1, 2, 3],
"layer": 0,
"content_fit": "fill"
},
{
"id": "menu",
"primitive": "card",
"card": "crd_01EXAMPLEMENU000000000",
"layout": "center",
"displays": [2],
"content_fit": "fill"
}
]
}
]
}Fasce
Una fascia è una playlist disegnata sopra la pagina lungo un bordo di un display, come un ticker in basso o un logo in alto. La pagina continua a riprodursi sotto; la fascia nasconde la parte che copre. Una fascia è fatta per una regione: header (il bordo superiore), footer (il bordo inferiore) o side (il bordo destro, a tutta altezza).
Una playlist a fascia è una playlist di regione: porta format: {"region": "footer", "orientation": "landscape"}, dove orientation è l’orientamento del display per cui è fatta, come lo vede lo spettatore. Ha un’unica tela a fascia, con la forma del suo bordo: il lato lungo corre lungo il bordo ed è almeno il doppio di quello corto, ad esempio 1920 × 240 per un piè di pagina o un’intestazione in orizzontale e 240 × 1080 per un lato in orizzontale. Una fascia contiene solo elementi immagine e scheda, senza video, stream, iframe, applicazione né slot pubblicitario, e non ha colonna sonora. Una fascia non è mai una playlist predefinita né una presa di controllo.
screenrig playlist create ticker.json --format-region footer --format-orientation landscape
screenrig campaign create --name Ticker --playlist-id pl_TICKER --tag lobby --covers footerUna campagna o una voce di pianificazione mostra una fascia tramite covers: footer, header o side riproduce una fascia di quella regione, e full (il valore predefinito) o main riproduce una playlist ordinaria come pagina. Un livello che copre una regione richiede una playlist fatta per quella regione.
La fascia mantiene le proporzioni della sua tela e percorre il bordo di ogni display del suo orientamento, dopo la rotazione, e copre al massimo la metà del display. Un display dell’altro orientamento mostra solo la pagina, e così un display che la fascia coprirebbe per più della metà (la sua altezza per un’intestazione o un piè di pagina, la sua larghezza per un lato). La barra degli avvisi di un trigger di sovrapposizione si disegna sopra una fascia. Una campagna o una voce che non entra in nessuno degli schermi a cui si rivolge viene rifiutata (playlist_format_mismatch); su uno schermo di un pubblico misto in cui non entra, campaign explain segnala region_not_laid_out e lo schermo mostra la pagina. Spostare una playlist dentro o fuori da una regione, o in un’altra regione, viene rifiutato finché la usa uno schermo, una cartella o una campagna.
Installa l’app web del Player
- 01
Apri play.screenrig.ai/player/ sul dispositivo schermo.
- 02
Su iOS, usa Safari: Condividi → Aggiungi a Home. Su Android, usa Chrome: Installa app o Aggiungi a Home.
- 03
Apri la PWA installata e segui le istruzioni di configurazione mostrate.
- 04
Mantieni la PWA in primo piano sul dispositivo schermo.
Avvia un browser kiosk con l’autoplay consentito (Chrome --autoplay-policy=no-user-gesture-required, Autoplay Audio di Fully Kiosk) e l’app web Player riproduce subito l’audio; un browser che rifiuta l’audio riproduce il video senza audio, e il registro del Player lo segnala.
Un Player si associa all’API del proprio ambiente: play.screenrig.ai con api.screenrig.ai. Quando la CLI usa un’altra origine API, --api-url https://api.DOMAIN, apri invece https://play.DOMAIN/player/.
Il tuo agente necessita del plugin ufficiale per pubblicare contenuti sul lettore.
Applicazioni sulla rete locale
Un’applicazione può chiamare indirizzi http:// e ws:// sulla rete stessa dello schermo, come un controller a http://192.168.1.20. Su un browser in modalità kiosk lo consente il proprietario del browser. Su Chrome ed Edge 142 e successivi, imposta il criterio aziendale LocalNetworkAccessAllowedForUrls su https://play.screenrig.ai: il Player passa quel permesso alle applicazioni che inquadra, e gli indirizzi IP privati e i nomi .local vengono poi caricati tramite http e ws, inclusi fetch e le immagini. Per altri nomi host http://, imposta anche InsecureContentAllowedForUrls su https://play.screenrig.ai, oppure scegli Contenuti non sicuri: Consenti nelle impostazioni del sito. Entrambi i criteri indicano la pagina del Player, non l’indirizzo dell’applicazione. Raggiungere i dispositivi nella rete dello schermo tratta le immagini e CORS.
Kiosk ChromeOS
I dispositivi ChromeOS gestiti, come Chromebox, Chromebase o PC ChromeOS Flex, eseguono l’app Player web come app kiosk dalla console Google Admin. Il dispositivo si avvia direttamente nel Player, lo mantiene a schermo intero e lo riavvia se si chiude.
- 01
Nella console Google Admin, apri Dispositivi → Chrome → App e estensioni → Kiosk e seleziona l’unità organizzativa per i tuoi schermi.
- 02
Aggiungi l’app tramite URL: il link flotta del tuo progetto, o
https://play.screenrig.ai/player/con la barra finale per associare ogni dispositivo col suo codice. - 03
Impostalo per l’avvio automatico e attiva Consenti all’app di gestire l’alimentazione.
- 04
Nelle impostazioni di alimentazione del kiosk del dispositivo, imposta l’azione inattiva su Non fare nulla, così lo schermo non si oscura né va in standby.
- 05
Riavvia il dispositivo. Con un link fleet, il lettore si unisce al progetto come nuovo schermo autonomo. Senza, mostra il codice di associazione: fornisci il codice al tuo agente.
Nella sessione kiosk il Player legge il numero di serie del dispositivo e l’ID asset e la posizione che annoti sul dispositivo nella console Admin. Appaiono nei dettagli host dello schermo nel dashboard e in screen show. Quando un powerwash o una reinstallazione danno al dispositivo una nuova identità Player, il numero di serie permette al tuo agente di ricollegarlo al suo schermo esistente con screen recover invece di associare uno nuovo.
Per la colonna sonora, consenti l’autoplay per https://play.screenrig.ai con la politica AutoplayAllowlist.
Un URL per l’intera flotta
Un link di flotta è un URL Player che trasforma ogni dispositivo che lo apre nel proprio schermo nel progetto, senza codice di associazione. Richiedilo al tuo agente (screenrig fleet-links create), oppure crealo nel dashboard sotto Impostazioni → Link di flotta, e inserisci il suo URL nell’app kiosk al passaggio 2. Ogni nuovo dispositivo si unisce con i tag e la playlist del link e prende il nome dall’ID asset, poi dalla posizione annotata nella console Admin.
Un dispositivo che è già uno schermo rimane quello schermo attraverso riavvii e aggiornamenti. Dopo un powerwash o reinstallazione torna come lo stesso schermo, una volta che la sua vecchia identità Player è stata silenziosa per dieci minuti. Limita un link con un limite massimo di schermi, spegnilo per impedire a nuovi schermi di unirsi, o ruotalo per sostituire un URL condiviso troppo ampiamente. Gli schermi che un link ha già creato continuano a riprodurre attraverso tutti e tre. Conserva l’URL nella console Admin: crea schermi nel tuo progetto.
Alimentazione display via RS-232
Collega la porta di controllo RS-232 del monitor al dispositivo ChromeOS con un adattatore seriale USB e concedi l’adattatore a https://play.screenrig.ai con la policy SerialAllowUsbDevicesForUrls (gli ID vendor e prodotto USB dell’adattatore) o SerialAllowAllPortsForUrls. All’avvio il Player trova un monitor Samsung (MDC), LG, NEC o Philips (SICP) sulla porta concessa alla velocità predefinita di fabbrica 9600 baud e ID monitor. Poi accende, mette in standby e riaccende il monitor, e riporta lo stato di alimentazione letto dal monitor. Le capacità host dello schermo includono Alimentazione monitor (RS-232).
Link flotta in un sistema di gestione dei dispositivi
L’URL di un link flotta (dashboard Impostazioni → Link flotte oppure screenrig fleet-links create) va anche nel tuo sistema di gestione dei dispositivi:
- Android, Google TV e Amazon Signage Stick. Nel tuo EMM o sistema di gestione dei dispositivi, imposta la chiave
fleet_linknella configurazione gestita dell’app (pacchettoai.screenrig.player). - Apple (Mac, Apple TV, iPhone e iPad). Nel tuo MDM, imposta la chiave
fleet_linknella configurazione app gestita. - Linux e Raspberry Pi. Inserisci l’URL nel file
/etc/screenrig/fleet-linkoppure aggiungi--fleet-link URLal programma di installazione (sh -s -- --kiosk --fleet-link URL).
Su Android e Apple, le chiavi facoltative asset_id e location danno il nome al nuovo schermo (prima l’ID asset), e serial permette a un dispositivo reinstallato di riavere il suo schermo.
Un dispositivo senza schermo si unisce da solo al progetto del link. Un dispositivo il cui link non funziona più (ruotato, disattivato, pieno o scaduto) mostra il suo codice di associazione con una riga che ne spiega il motivo. Conserva l’URL nel sistema di gestione dei dispositivi: crea schermi nel tuo progetto.
Un link flotta può terminare nel momento che scegli: passa --expires-at (ad esempio 2027-12-31T23:59:59Z) a screenrig fleet-links create o update, oppure compila il campo Scade nel dashboard. Dopo quel momento i nuovi dispositivi mostrano il loro codice di associazione, e gli schermi creati dal link continuano a riprodurre.
Proprietario del dispositivo Android con codice QR
Un dispositivo Android 10 o successivo con fotocamera, ripristinato alle impostazioni di fabbrica, si unisce a un link di flotta senza un sistema di gestione dei dispositivi. Apri il link nel dashboard (Impostazioni → Link di flotta), scegli Mostra codice QR in Proprietario del dispositivo Android, tocca sei volte la schermata di benvenuto del dispositivo e inquadra il codice. Il dispositivo scarica il Player gestito, lo verifica con il certificato di firma contenuto nel codice, lo installa come proprietario del dispositivo e si unisce al progetto del link senza codice di associazione. Il Player poi funziona come app home del dispositivo, a schermo intero, senza barra di navigazione, notifiche o schermata di blocco.
Il codice contiene un payload di provisioning e Copia JSON di provisioning lo copia per un sistema di gestione dei dispositivi che esegue il provisioning da JSON. Il tuo agente stampa lo stesso payload con screenrig fleet-links show ID --android-provisioning (serve un accesso Manage, perché il payload contiene il segreto del link), pronto da codificare come codice QR. Il payload è questo:
{
"android.app.extra.PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME": "PACKAGE/ai.screenrig.player.managed.ScreenRigDeviceAdminReceiver",
"android.app.extra.PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_LOCATION": "DOWNLOAD_URL",
"android.app.extra.PROVISIONING_DEVICE_ADMIN_SIGNATURE_CHECKSUM": "CHECKSUM",
"android.app.extra.PROVISIONING_LEAVE_ALL_SYSTEM_APPS_ENABLED": true,
"android.app.extra.PROVISIONING_ADMIN_EXTRAS_BUNDLE": { "fleet_link": "FLEET_LINK_SECRET" }
}PACKAGE, DOWNLOAD_URL e CHECKSUM provengono dalla voce managed di https://screenrig.ai/android/manifest.json: il suo package, https://screenrig.ai seguito dal suo path e il suo signer_sha256 in base64 sicuro per gli URL, senza padding. FLEET_LINK_SECRET è la parte dell’URL del link dopo #fleet=. Il file è versionato e conservato, e il checksum appartiene al certificato di firma, quindi un codice stampato continua a funzionare quando viene elencato un Player più recente. Il codice contiene il segreto del link: condividilo solo con la persona che configura il dispositivo.
Sorgenti browser (vMix, OBS)
Una sorgente browser non conserva dati, quindi il Player al suo interno perderebbe l’associazione a ogni caricamento. Il link dello schermo è l’indirizzo di un solo schermo: il Player aperto da esso è quello schermo a ogni caricamento, senza conservare nulla. Usalo per una sorgente browser di vMix o OBS, o per qualsiasi browser che cancella i propri dati.
- 01
Associa lo schermo una sola volta. Apri l’app web del Player in un browser qualsiasi, dai al tuo agente il codice mostrato e attendi che lo schermo sia attivo.
- 02
Chiedi al tuo agente il link dello schermo (
screenrig screen link create SCREEN_ID), oppure apri lo schermo nel dashboard e scegli Crea link nella riga Link dello schermo della sua scheda Proprietà. - 03
Copia il link: il tuo agente lo stampa con
screenrig screen link show SCREEN_ID, oppure scegli Copia link nel dashboard. Èhttps://play.screenrig.ai/player/#screen=seguito da un segreto. - 04
Incollalo come URL della sorgente browser.
- 05
La sorgente riproduce subito la playlist dello schermo, e di nuovo dopo ogni ricaricamento.
Apri il link di uno schermo in un solo posto. Aperto in due, è lo stesso schermo due volte. Più sorgenti browser nello stesso browser, ciascuna con il proprio link, funzionano come schermi separati.
Il link dello schermo è una credenziale: chi lo possiede apre quello schermo. Se trapela, o vuoi riprenderlo, chiedi di nuovo il link (screenrig screen link create SCREEN_ID, oppure Sostituisci link): il vecchio indirizzo smette subito di funzionare e una sorgente che lo mostra ancora visualizza un avviso e nessun contenuto, senza codice di associazione. Incolla il nuovo indirizzo e la sorgente riprende a riprodurre. Disattiva link (screenrig screen link delete SCREEN_ID) termina il link senza crearne uno nuovo. Il Player proprio dello schermo, se ne ha uno, non è toccato in nessun caso.
Pubblicità sui tuoi schermi
Il lettore che usi è anche il lettore pubblicitario: non serve installare altro.
La vendita è una scelta per ogni schermo, tramite lo stesso plugin ufficiale e CLI. Includi uno schermo di proprietà con screenrig ads inventory update scr_LOBBY --enabled e descrivilo pubblicamente con nome sito, città, regione, tipo di sede e tag pubblico scelti. Definisci slot pubblicitari riutilizzabili con screenrig ads slots create — media accettati (immagine o video), durate massime di immagine e video e una tariffa opzionale per quello slot. La sola definizione dello slot non cambia nulla sullo schermo; inserire la pagina adslot in una playlist dà allo schermo una pausa pubblicitaria reale, mentre tutte le altre pagine continuano a essere riprodotte normalmente.
Gli annunci a pagamento richiedono un lettore che supporti la riproduzione adslot. Il server serve a un lettore senza quel supporto solo la playlist ordinaria, così quello schermo riproduce contenuto house e nessuna pubblicità a pagamento; un lettore capace richiede un fill per ogni pagina adslot e salta qualsiasi slot che non può riempire, mantenendo la playlist in movimento. Gli acquirenti non associano nulla — acquistano dal tuo inventario tramite l’invito che invii con screenrig invitations create --kind ad-buyer --email ADDRESS --screen-id scr_LOBBY.
Il plugin, il progetto e i primi passaggi schermo sono nella Guida introduttiva.
Monitor commerciali
Samsung Smart Signage (Tizen) esegue il lettore nativo screenRIG.
I lettori BrightSign con OS 9.1 o superiore avviano automaticamente il Player screenRIG da una scheda SD. Estrai il pacchetto nella radice della scheda, inseriscila e accendi. Il lettore applica la sua policy hardware e apre il Player screenRIG.
- 01
Imposta prima l’orologio e la rete del lettore. Un orologio errato blocca la connessione sicura.
- 02
Estrai nella radice di una scheda SD FAT32 e inserisci la scheda.
- 03
Accendi il lettore. Avvia il pacchetto e mostra il codice di associazione.
- 04
Fornisci il codice al tuo agente.
LG webOS Signage
I monitor LG webOS Signage con versione 6.0 o successiva (Chromium 79 o successivo) eseguono il lettore screenRIG. Un’app installata si avvia all’accensione e lo apre. I monitor con webOS Signage 4.x o precedente usano un browser più vecchio di quello richiesto dal lettore. Scarica i pacchetti da screenrig.ai/webos/.
Un monitor in modalità di avvio applicazioni Local installa com.lg.app.signage.ipk da una chiavetta USB.
- 01
Imposta prima data, ora e rete del monitor. Un orologio errato interrompe l’installazione con «Unknown error» e blocca la connessione sicura.
- 02
Su una chiavetta USB FAT32, crea nella radice una cartella chiamata
applicatione inseriscicom.lg.app.signage.ipkal suo interno. Mantieni il nome del file. - 03
Collega la chiavetta al monitor. In Server Settings imposta Application Launch Mode su Local e il tipo su IPK, quindi esegui Local Application Upgrade da USB.
- 04
Riavvia il monitor. Avvia l’app e mostra il codice di associazione.
- 05
Fornisci il codice al tuo agente.
Per installare dal menu delle app del monitor o da un server SI, usa invece ScreenRig-webos.ipk. I due pacchetti sono app separate per il monitor, ciascuna con la propria associazione, quindi installane uno solo per monitor.
Un monitor che si avvia prima che la rete sia pronta mostra la schermata screenRIG e continua a riprovare finché il lettore risponde. Premi Info sul telecomando per vedere il modello del monitor, la versione del browser e lo stato della connessione.
Altri monitor commerciali con browser HTML5 integrato o launcher URL possono aprire direttamente play.screenrig.ai/player/ e seguire i passaggi dell’app web sopra. Il monitor deve mantenere la pagina in primo piano e consentirne la memorizzazione dei dati. Android TV e box di streaming con browser web completo possono fare lo stesso: aprire play.screenrig.ai/player/ nel browser del box, fornire all’agente il codice di associazione e mantenere la pagina in primo piano.
Flussi e immagini di riserva
Usa stream per un feed live e video per un file caricato. Uno stream necessita di un’immagine caricata pronta dallo stesso account come fallback. L’immagine appare durante la connessione, se la riproduzione si blocca o quando il lettore non può ricevere la sorgente.
Prepara un feed
Usa una playlist HLS HTTPS pubblica senza credenziali incorporate, o l’URL RTSP di una telecamera. Per il Web Player, playlist, segmenti e chiavi devono consentire richieste cross-origin dall’origine del lettore. Video H.264 con audio AAC è un profilo pratico di partenza; la decodifica dipende dal dispositivo. Audio è disattivato per impostazione predefinita e valgono le regole autoplay del browser.
Scegli tempi e trasporto
Usa al massimo uno stream per pagina e avanzamento basato su durata. Fornisci una o due sorgenti con protocolli diversi, in ordine di preferenza. Una sorgente può indicare solo il suo url: un URL https è HLS, un URL rtsp o rtsps è RTSP. Per multicast, usa un gruppo IPv4 amministrativamente limitato in 239/8 e una porta UDP; aggiungi un’alternativa HLS per altri lettori. screenRIG non converte multicast in HLS. Gli stream non sono memorizzati in cache per la riproduzione offline; l’immagine di fallback sì.
Riprodurre una telecamera direttamente
I Player Android, Amazon e Linux aprono direttamente le sorgenti delle telecamere rtsp:// dalla rete del Player, senza relay. Usa l’URL fornito dalla telecamera o dal registratore, comprese le credenziali user:pass@. Linux apre anche sorgenti rtsps://.
Per una telecamera UniFi Protect, attiva RTSP per un canale nelle impostazioni Protect della telecamera e copia il suo URL. Android e Amazon convertono l’URL rtsps:// di Protect sulla porta 7441 in rtsp:// non cifrato sulla porta 7447, rimuovendo enableSrtp. Il Player deve poter raggiungere la porta 7447 della console Protect; questa connessione non usa né TLS né SRTP. Per altre sorgenti RTSPS cifrate su Android e Amazon, usa un’alternativa HLS o l’immagine di fallback. Gli altri Player riproducono l’alternativa HLS o mostrano l’immagine di fallback.
Abilita ricezione multicast
Su Android, apri il menu operatore, scegli Impostazioni e abilita i flussi Multicast; è disabilitato di default. Su Qt, abilita SCREENRIG_ENABLE_MULTICAST=1 nell’ambiente di lancio del Player e controlla --capabilities-json. La rete deve trasportare il gruppo multicast e la porta selezionati. Questa versione non fornisce DRM, RTP, header di autenticazione personalizzati o transcodifica del flusso.
Colonne sonore
Una colonna sonora playlist suona su ogni Player. Il Player scarica e verifica ogni traccia MP3 con il resto della playlist, poi le riproduce in ordine mentre cambiano le pagine. Le transizioni di pagina non fermano o riavviano la musica, e la colonna sonora continua offline dalle tracce in cache. Una colonna sonora con cue (cued: true) suona una traccia solo quando una cue di pagina la avvia ed è silenziosa dopo la fine di quella traccia fino alla prossima cue. Una pagina il cui advance è audio_end termina quando la traccia cue finisce; se il Player non può suonare la traccia, la pagina dura quanto la traccia.
Quando l’agente ripubblica la playlist, il brano corrente continua a suonare se è ancora nella nuova colonna sonora. Il volume della colonna sonora è moltiplicato per il volume del lettore, quindi l’impostazione del volume dell’operatore o il controllo del volume del monitor decidono ancora quanto è alto lo schermo.
I browser possono bloccare il suono finché qualcuno non interagisce con la pagina. L’app web Player continua a mostrare le pagine e avvia la colonna sonora al primo tocco o pressione di un tasto. Per un browser kiosk non presidiato, consenti l’autoplay con audio; in Chromium, avvia con --autoplay-policy=no-user-gesture-required; su un kiosk ChromeOS, imposta la policy AutoplayAllowlist. I Player nativi non necessitano di impostazioni.
Salute dispositivo e controllo monitor
Ogni Player segnala lo stato del dispositivo ogni quindici minuti e subito quando cambia la connessione o l’alimentazione del display. Dichiara i controlli dispositivo supportati: riavvio remoto e metodi di alimentazione display utilizzabili. Cosa può leggere e commutare dipende dalla piattaforma e dalla configurazione del dispositivo.
Le effettive capacità di ciascuno schermo appaiono in screen show come capacità dell’host, accanto all’ultimo report di stato, così l’agente sa in anticipo se quello schermo può riavviarsi o cambiare monitor. La tabella mostra cosa può fare ogni lettore.
| Player | Salute segnalata | Alimentazione display | Riavvia |
|---|---|---|---|
| Web / PWA | Tempo di attività del lettore, core CPU, stato del display e tipo di rete quando il browser lo espone | RS-232 su kiosk ChromeOS con porta seriale concessa; oscuramento schermo | No |
| Android (Google Play) | Uptime di dispositivo e Player, memoria, core CPU, connessione e alimentazione del display, rete e segnale Wi-Fi, livello della batteria, ricarica e fonte di alimentazione dove il dispositivo ha una batteria, crash e riavvii del renderer | Blackout a schermo | No |
| Android (gestito, device owner) | Come Google Play, più temperatura CPU | Retroilluminazione; HDMI-CEC su installazione privilegiata; oscuramento a schermo | Sì |
| Amazon Signage Stick | Come Google Play | Blackout a schermo | No |
| Linux e Raspberry Pi | Uptime dispositivo e Player, memoria, carico CPU, temperatura, connessione e potenza del monitor, rete e segnale Wi-Fi e crash | HDMI-CEC con un dispositivo CEC e cec-ctl; DDC/CI dove ddcutil trova il monitor; retroilluminazione del pannello; oscuramento a schermo | Sì, dopo un’installazione --kiosk |
| macOS | Uptime dispositivo e Player, memoria, carico e core CPU, connessione e potenza del monitor e tipo di rete | Display sleep, una volta funzionato su quel Mac; oscuramento schermo | No |
| Apple TV | Uptime dispositivo e Player, memoria, carico e core CPU, potenza del monitor e tipo di rete | Blackout a schermo | No |
| Windows | Uptime dispositivo e Player, memoria, core CPU, connessione e potenza del monitor, tipo di rete e riavvii del renderer | DDC/CI dove risponde il monitor; monitor spento; oscuramento schermo | Sì, quando l’account può spegnere il PC |
| BrightSign | Le letture del Player web | HDMI-CEC tramite la shell BrightSign; oscuramento a schermo | Sì, tramite la shell BrightSign |
Azioni remote
Altri tre controlli del dispositivo raggiungono un Player come comandi: svuotare le sue cache, riavviare la sua applicazione (non il dispositivo) e aggiornarlo all’ultima release. Un Player dichiara clear_cache, restart_app o update nelle sue capacità host solo dove il comportamento funziona su quel dispositivo, quindi screen show informa l’agente prima che agisca; uno schermo il cui Player non dichiara la capacità risponde command_unsupported e non viene inviato nulla. Lo svuotamento della cache mantiene associazione e impostazioni e ripopola i contenuti dal manifest. Ogni comando è elencato sotto commands in screen show, done o failed con la causa riportata dal Player.
| Player | Svuota cache | Riavvia app | Aggiorna |
|---|---|---|---|
| Web / PWA | Sì | Sì, una ricarica della pagina | Sì, il service worker si aggiorna, poi la pagina si ricarica |
| Android (Google Play, Amazon Signage Stick) | Sì | Dove il dispositivo consente al Player di rilanciarsi da solo | No, lo aggiorna lo store |
| Android (gestito, device owner) | Sì | Sì | No, lo aggiorna il gestore dei dispositivi |
| Linux e Raspberry Pi | Sì | Sì | Sì, su un’installazione che ha lasciato un canale di aggiornamento |
| macOS | Sì | Sì | No, lo aggiorna l’App Store |
| Apple TV | Sì | No | No, lo aggiorna l’App Store |
| Windows | Sì | Sì | Sì, sulla build impacchettata per lo Store |
Oscuramento per inattività, luminosità automatica e blocco kiosk
Tre impostazioni dello schermo determinano il comportamento del display sul dispositivo stesso. Un Player ne applica una quando screen show elenca la sua capacità dell’host (display_power.idle, brightness.auto o kiosk_lock); l’impostazione viene memorizzata in ogni caso.
- Oscuramento per inattività. Trascorsi da 30 a 86400 secondi senza un tocco o un tasto, oppure, quando presence è un evento di riattivazione, senza nessuno davanti allo schermo, il display si oscura e la riproduzione va in pausa. Lo riaccende di nuovo touch o presence, a tua scelta; il tocco che riattiva un display oscurato non va oltre. Con presence la fotocamera del dispositivo viene letta sul dispositivo stesso e nessuna immagine ne esce. Una programmazione del display o un override che tiene spento il display ha la precedenza.
- Luminosità automatica.
autoimposta la luminosità in base al sensore di luce del dispositivo;fixed, il valore predefinito, mantiene la luminosità dell’operatore. Un dispositivo dichiarabrightness.autosolo quando ha un sensore di luce. - Blocco kiosk. Il Player Android si blocca da solo sullo schermo con il blocco su schermo, senza bisogno del proprietario del dispositivo. La persona presente allo schermo conferma la prima volta, e la barra di stato, home e recenti sono bloccate finché il blocco è attivo.
Il tuo agente le imposta con screen display-idle, screen brightness e screen kiosk-lock. La scheda Proprietà della pagina dello schermo nel dashboard ha le stesse tre sotto Impostazioni dispositivo.
Vista live
La vista live mostra nel dashboard, come video, ciò che riproduce uno schermo, e screenrig screen live frame salva fotogrammi JPEG per un agente che dispone solo di HTTPS. Il lettore Android (Google Play e Amazon Signage Stick), Linux e Raspberry Pi la pubblicano, e uno schermo che ne è capace elenca la capacità dell’host live_view in screen show. Su Android, una persona presso lo schermo autorizza l’acquisizione dello schermo una sola volta a ogni avvio del lettore. Una sessione live termina da sola quando scade la sua durata; riavviala per continuare a guardare.
Controlla il primo schermo
Indica allo schermo previsto al tuo agente e chiedi di pubblicare un semplice messaggio di benvenuto. Richiedi uno screenshot quando il lettore lo mostra.
Se lo schermo è assente dalla lista dell’agente, conferma che il Player è aperto e la configurazione è completa. Se i contenuti non si aggiornano, verifica la connessione del dispositivo e chiedi all’agente di ispezionare lo stato dello schermo e le prove di riproduzione.
Un chip sullo schermo, o un codice in screen show, è spiegato in Codici di stato del Player.
Una volta associato lo schermo, il suo menu operatore nomina lo schermo e mostra la sua playlist e pagina.