Documentazione

Codici di stato del Player

Un Player mostra un chip di stato quando qualcosa richiede attenzione e segnala la condizione a screenRIG. Questa pagina elenca ogni chip e ogni codice di pagina, aggiornamento, archiviazione e scheda, con la causa più comune e la soluzione.

Dove compaiono i codici

Un chip è un’icona nell’angolo in basso a sinistra dello schermo, con un messaggio di una riga quando compare per la prima volta. Il Player mostra la condizione attiva di rango più alto e mantiene il chip finché la condizione persiste. Il dashboard mostra il chip accanto allo stato online dello schermo.

screenrig screen show scr_ID restituisce ciò che il Player ha segnalato:

MembroContiene
statuschip, l’id del chip (null quando non ne compare nessuno), il suo level e il momento in cui il Player lo ha segnalato. Assente fino al primo rapporto
last_page_failurepage_id, code e at dell’ultima pagina che non è riuscita a diventare pronta
manifest_upgradeCome procede l’ultimo aggiornamento dei contenuti: state, code, attempt e retry_at
storage, storage_shortfallL’ultimo rapporto del Player sull’archiviazione e quanto la playlist lo supera. La carenza è presente solo finché i contenuti non rientrano nello spazio

Un chip è l’ultimo rapporto del Player: leggilo come obsoleto finché online è false. I rapporti come player.video_unusable e player.card_failed vanno nel log del Player dello schermo:

screenrig events list --source log --screen-id scr_ID

Chip di stato

La tabella segue l’ordine di rango: quando valgono più condizioni, viene mostrata la prima. L’etichetta è il nome del chip nel dashboard.

ChipCausaCorreggi
archived (Schermo archiviato)Lo schermo è archiviato, quindi il suo vetro è scuro. Il Player conserva le sue credenzialiscreenrig screen unarchive scr_ID. Il Player riprende senza una nuova associazione. Uno schermo archiviato come replaced non può essere ripristinato dall’archivio: screen delete lo rimuove
repair_needed (Riparazione necessaria)La chiave del dispositivo non associa più il Player al suo schermo (credential_revoked, key_retired), oppure il dispositivo non ha potuto conservare la propria identità. Il Player conserva i suoi contenuti salvati e la sua chiaveReimposta il Player sul dispositivo: apri il suo menu operatore, scegli Impostazioni, poi Reimposta. Riceve un nuovo codice di associazione: fornisci il codice al tuo agente
payment_required (Credito esaurito)Il credito d’uso del progetto è esaurito, quindi i nuovi contenuti non possono raggiungere lo schermo. Dal 1° gennaio 2027 questo chip compare anche con un credito residuo pari o inferiore a zeroscreenrig billing balance mostra quanto resta. Aggiungi credito d’uso, come descritto in Prezzi
session_revoked (Connessione terminata)La credenziale del Player è stata rifiutata o revocata, oppure il suo schermo è stato eliminato, mentre il Player conserva contenuti salvati. Continua a riprodurre quei contenuti e riprovaVerifica che lo schermo esista con screenrig screen show scr_ID. Se il chip resta, reimposta il Player nel suo menu operatore e associalo di nuovo
verify_fail (Verifica impossibile)Un file scaricato non ha superato il controllo di dimensione, hash o tipo, quindi il Player non lo usa e mantiene quello che ha. Il codice di aggiornamento è hash_mismatchscreenrig screen clear-cache scr_ID fa scaricare di nuovo i contenuti al Player
storage_full (Memoria piena)Il dispositivo non ha spazio per i contenuti che deve scaricare, quindi i nuovi contenuti non possono essere salvatiLibera spazio di archiviazione sul dispositivo o riduci la playlist. Cache e archiviazione spiega come la playlist rientra nello spazio
decode_unplayable (Riproduzione impossibile)Il Player non può riprodurre alcun elemento che deve mostrare, e non c’è altro sullo schermoVideo non riproducibili. Un Raspberry Pi 5 richiede video caricati con --codec hevc
unavailable (Visualizzazione impossibile)Il Player non ha contenuti salvati, la sua assegnazione non è stata risolta e non si applica nessuna condizione più specificaLeggi manifest_upgrade e last_page_failure in screen show, correggi ciò che indicano, poi screenrig screen reload scr_ID
browser_unsupported (Browser incompatibile)Il browser che esegue il Player web è incompatibile. La riproduzione continuaAggiorna il browser
app_unsupported (App incompatibile)La versione dell’app screenRIG è incompatibile. La riproduzione continuascreenrig screen update-software scr_ID dove il Player dichiara update, altrimenti aggiorna tramite il suo store o il gestore dei dispositivi
browser_warning (Avviso browser)Il browser che esegue il Player web è obsoleto. La riproduzione continuaAggiorna il browser
app_warning (Avviso app)La versione dell’app screenRIG è obsoleta. La riproduzione continuascreenrig screen update-software scr_ID dove il Player dichiara update, altrimenti aggiorna tramite il suo store o il gestore dei dispositivi
assignment_held (Aggiornamento rinviato)L’ultimo aggiornamento sta riprovando o non è riuscito, oppure il rinnovo della sessione del Player ha richiesto più di 10 secondi. Il contenuto attuale continua a essere riprodottoLeggi manifest_upgrade in screen show. Errori di pagina e di aggiornamento spiega ogni state e code
decode_miss (Elemento saltato)Un elemento non può essere riprodotto, quindi il Player lo salta mentre viene riprodotto altro contenutoVideo non riproducibili
offline_playing (Riproduzione offline)Il contenuto è sullo schermo e il Player non ha avuto alcuna connessione a screenRIG per 60 secondi o più. Riproduce i suoi contenuti salvatiRipristina la rete del dispositivo. screen show segnala last_outage con likely_cause
schedule_timezone (Fuso necessario)Una pagina ha una programmazione di visibilità e lo schermo non ha un fuso orario, quindi il Player ignora la programmazione e mostra sempre la paginascreenrig screen update scr_ID --timezone America/Los_Angeles, con il fuso orario IANA dello schermo
credits_low (Credito basso)Il credito d’uso residuo è maggiore di zero e inferiore a 1.000 crediti. Fino al 1° gennaio 2027 il credito residuo non è un’istruzione di spegnimentoscreenrig billing balance mostra quanto resta
content_partial (Contenuto parziale)Viene riprodotta solo una parte della playlist: manifest_upgrade.state è partial e missing_page_count indica quante pagine sono escluseLeggi manifest_upgrade.code: Cache e archiviazione per capacity, Errori di pagina e di aggiornamento per il resto
paused (Pausa)Qualcuno ha messo in pausa lo schermo sul dispositivo. Una pausa termina da sola dopo 60 minutiPremi Play/Pausa sul telecomando (K su Windows)
syncing (Aggiornamento)Il Player sta scaricando, preparando o attivando nuovi contenuti, oppure rinnovando la sua sessioneNessuno. Il chip scompare quando il contenuto è sullo schermo. Se resta, leggi manifest_upgrade.state

Aggiornamento del Player necessario è un avviso accanto al chip, non un chip. Compare quando la versione del Player è inferiore al minimo supportato da screenRIG, e il Player continua a riprodurre i suoi contenuti salvati. Aggiorna il Player con screenrig screen update-software scr_ID dove dichiara update, altrimenti tramite il suo store o il gestore dei dispositivi.

Video non riproducibili

Un Player decodifica il video con il decoder hardware del dispositivo per il codec, il profilo e la risoluzione del file. Quando il dispositivo non può, il Player salta l’elemento: il chip è decode_miss, oppure decode_unplayable quando non c’è altro sullo schermo. Il record player.video_unusable del log del Player riporta il campo code (video_load_failed, video_play_failed, video_autoplay_blocked, video_stalled, image_load_failed, video_prepare_failed, video_first_frame_timeout o video_decode_failed) con i valori decoder, codecs, width e height misurati dal Player.

screenrig media upload ./lobby-loop.mp4 --codec hevc
screenrig media upload ./lobby-loop.mp4 --preset signage-1080p30

Un video viene caricato come H.264 per impostazione predefinita. Un Raspberry Pi 5 non ha un decoder H.264: carica ogni video per esso con --codec hevc, qualunque sia la dimensione. Un Raspberry Pi 4 riproduce 1080p, e --preset signage-1080p30 limita la dimensione. Usa hevc solo quando ogni schermo che riproduce la clip è un Player nativo. Sostituisci il media nella playlist e pubblicala di nuovo.

L’assegnazione di una playlist i cui video sono tutti H.264 a uno schermo il cui Player dichiara video.h264_unavailable viene rifiutata con invalid_request. Nei contenuti misti quel Player salta gli elementi H.264.

Errori di pagina e di aggiornamento

Una pagina che non riesce a diventare pronta viene saltata e il Player continua a riprodurre le altre pagine. Segnala l’errore, e last_page_failure.code è il codice proprio del Player. screenrig events list --type playback.page_failed --screen-id scr_ID li elenca.

CodiceCausaCorreggi
gstreamer_playback_errorLa pipeline multimediale del Player Linux o Raspberry Pi ha fallito su un video: ha segnalato un errore, non si è avviata o non ha prodotto alcuna immagineVideo non riproducibili
unsupported_contentLa playlist contiene contenuti che il Player non può presentare, un primitivo o un tipo di media che non supportaVedi Supporto primitivo per piattaforma. Sostituisci il contenuto, oppure assegna la playlist a un Player che lo supporta

manifest_upgrade.state indica come procede un aggiornamento dei contenuti:

StatoSignificato
pendingscreenRIG ha nuovi contenuti per lo schermo e il Player non ne ha riferito
downloading, preparing, activatingL’aggiornamento è in corso. Con un contenuto sullo schermo il chip è syncing
retryingUn passaggio non è riuscito e il Player riprova al momento indicato da retry_at. Il chip è assignment_held
failedL’aggiornamento si è fermato senza alcun nuovo tentativo pianificato. Il chip è assignment_held
blockedLo spazio di archiviazione non consente di preparare il nuovo contenuto. Il chip è storage_full
partialViene riprodotta solo una parte della playlist. Il chip è content_partial
currentÈ in riproduzione il contenuto più recente

manifest_upgrade.code indica la causa di uno stato retrying, failed, blocked o partial:

CodiceCausaCorreggi
download_failedUn download di contenuti non è riuscito: l’origine dei contenuti era irraggiungibile o ha risposto con un erroreControlla la connessione del dispositivo. Il Player riprova con un backoff, e retry_at indica quando
hash_mismatchUn file scaricato non ha superato il controllo di dimensione, hash o tiposcreenrig screen clear-cache scr_ID
prepare_failedIl Player non ha potuto preparare una pagina per la visualizzazione, oppure la pagina non era pronta in tempoLeggi last_page_failure e correggi la pagina come indica il suo codice
activate_failedLa prima pagina del nuovo contenuto non ha potuto essere mostrataLeggi last_page_failure, poi screenrig screen reload scr_ID
manifest_invalidIl Player ha rifiutato il manifest della revisione perché non valido e mantiene l’ultimo contenuto valido. Non ritenta quella revisioneSegnalalo con l’id dello schermo tramite Contatto
unsupported_contentIl Player ha scartato contenuti che non può presentare. Se non resta nulla di riproducibile l’aggiornamento fallisce e non viene ritentato; altrimenti è partialCome per l’errore di pagina unsupported_content sopra
internalUn errore del Player non compreso nei codici soprascreenrig screen reload scr_ID. Se il codice resta, segnalalo con l’id dello schermo
capacity, staged, storage_full, none_fit, transition_blocked, anchor_unavailableIl piano di archiviazione del dispositivoCache e archiviazione

Cache e archiviazione

Prima di scaricare una revisione, un Player pianifica la propria archiviazione: quali file delle pagine rientrano nello spazio che può usare. Un Player nativo lascia liberi 128 MiB del proprio volume e rimane entro l’eventuale quota impostata per esso. All’avvio, un Player con meno di 512 MiB liberi mostra un messaggio con lo spazio libero; quel messaggio non è un chip.

storage.plan.fit in screen show indica come la playlist rientra nello spazio disponibile:

fitSignificatoCorreggi
fitsL’intera playlist rientra nello spazioNessuno
fits_after_eviction, retention_reducedLa playlist rientra nello spazio dopo che il Player elimina i file nella cache di cui non ha più bisogno e, per retention_reduced, i suoi contenuti di riserva salvatiNessuno. Nessuna pagina è esclusa
partialAlcune pagine non rientrano nello spazio e sono escluse (excluded_pages). Il resto viene riprodottoLibera spazio di archiviazione o riduci la playlist
transition_blockedLa pagina sempre visibile della nuova playlist, la prima pagina senza programmazione di visibilità, non può essere salvata accanto al contenuto sullo schermo. L’aggiornamento attende, il contenuto attuale continua a essere riprodotto e headroom_needed_bytes indica di quanto altro spazio ha bisognoLibera altrettanto spazio di archiviazione o riduci la nuova playlist
none_fitNon si carica nulla: nessuna pagina rientra nello spazio, oppure la playlist non ha alcuna pagina sempre visibile che rientri nello spazioLibera spazio di archiviazione oppure assegna una playlist più piccola

manifest_upgrade.code ripete il piano: none_fit o transition_blocked per un aggiornamento blocked, capacity per un aggiornamento partial le cui pagine non rientravano nello spazio, staged per un aggiornamento partial che si sta ancora riempiendo e storage_full quando una scrittura non riesce. storage_shortfall è presente finché fit è partial, transition_blocked o none_fit.

Ogni voce di excluded_pages contiene reason:

MotivoCausaCorreggi
object_exceeds_capacityUn file da solo non rientra nello spazio che il Player può usareCaricalo in una versione più piccola (media upload --max-edge o --preset signage-1080p30), oppure usa un dispositivo con più spazio di archiviazione
page_exceeds_capacityOgni file rientra nello spazio da solo, ma i file della pagina insieme noMetti sulla pagina meno file o file più piccoli
capacity_excludedLa pagina è stata esclusa affinché il resto potesse rientrare nello spazioLibera spazio di archiviazione o riduci la playlist
descriptor_conflictLa playlist elenca lo stesso file due volte con dimensioni o tipi di contenuto diversiSegnalalo con l’id dello schermo tramite Contatto
not_localIl Player ha ripristinato i contenuti salvati all’avvio senza un piano memorizzato, e i file di questa pagina non erano sul dispositivoPorta il Player online: scarica la pagina
anchor_unavailableLa pagina sempre visibile non è stata scaricata anche se il dispositivo ha spazio. È un download non riuscito, non una carenzaControlla la connessione del dispositivo. Il Player riprova

Chiedi prima di assegnare una playlist di grandi dimensioni:

screenrig screen storage-forecast scr_ID --playlist-id pl_ID

Risponde con fits, partial, none_fit o unknown, con i byte necessari alla playlist e la capacità del Player. unknown indica che lo schermo non ha mai segnalato l’archiviazione. Un rapporto più vecchio di 24 ore è contrassegnato come obsoleto. Il comando non scrive nulla. Quando compare un errore di archiviazione, la risposta contiene un avviso storage_full: libera spazio sul dispositivo che esegue il Player, poi riprova con la playlist.

Schede

Una scheda che non può essere disegnata lascia vuoto il suo rettangolo e la pagina continua a essere riprodotta. Il Player registra card.failed, e i Player web, Android e Windows segnalano player.card_failed una volta per ogni scheda in una pagina e per ogni codice, con page_id, primitive_id, manifest_revision e code. Anche una scheda i cui dati sono scaduti resta vuota: screenrig card data put --ttl 30m la rinnova.

CodiceCausaCorreggi
unknown-cardL’id della scheda non è nella libreria di schede del PlayerUsa una scheda dal riferimento delle schede
card-unavailableLa scheda è nella libreria, ma questa build del Player non la include, oppure include una versione maggiore diversa da quella indicata dalla paginaAggiorna il Player, oppure usa la versione maggiore che include
card-errorLa scheda ha generato un errore durante il disegno (Player web). I dettagli sono nella console del browserConfronta le proprietà della scheda con la sua pagina di riferimento
data-unavailableIl primo documento dati della scheda non è arrivato. La scheda resta nascostascreenrig card data put per scrivere i dati, oppure screenrig source show per controllare la sua origine dati
data-source-missingUna scheda fa riferimento a dati di scheda e il Player non ha alcuna origine dati per essiSegnalalo con gli id dello schermo e della scheda tramite Contatto
cardml-invalidIl file di una scheda CardML non ha superato i controlliSegnalalo con l’id della scheda tramite Contatto
cardml-model-error, cardml-model-timeoutIl modello di una scheda CardML è andato in errore o ha superato il tempo massimoControlla i dati e le proprietà della scheda
cardml-duplicate-keyUn elenco in una scheda CardML contiene due volte la stessa chiave. Conserva le righe precedentiAssegna a ogni riga una chiave propria
qr-too-long, wifi-too-longIl payload del QR o i dati del Wi-Fi non entrano in un codice QRAccorcia l’URL o il testo
invalid-targetLa data obiettivo di un conto alla rovescia non può essere interpretataImposta target su una data e un’ora valide