Onde os códigos aparecem
Um chip é um ícone no canto inferior esquerdo da tela, com uma mensagem de uma linha quando aparece pela primeira vez. O Player mostra a condição ativa de maior prioridade e mantém o chip enquanto a condição persistir. O dashboard mostra o chip ao lado do estado online da tela.
screenrig screen show scr_ID retorna o que o Player reportou:
| Membro | Contém |
|---|---|
status | chip, o id do chip (null quando nenhum aparece), seu level e quando o Player o reportou. Ausente até o primeiro relatório |
last_page_failure | page_id, code e at da página mais recente que não ficou pronta |
manifest_upgrade | Como está a atualização de conteúdo mais recente: state, code, attempt e retry_at |
storage, storage_shortfall | O último relatório de armazenamento do Player e quanto a playlist o excede. A falta de espaço só aparece enquanto o conteúdo não cabe |
Um chip é o último relatório do Player: leia-o como desatualizado enquanto online for falso. Relatórios como player.video_unusable e player.card_failed vão para o log do Player da tela:
screenrig events list --source log --screen-id scr_ID
Chips de status
A tabela segue a ordem de prioridade: quando várias condições se aplicam, a primeira é exibida. O rótulo é o nome do chip no dashboard.
| Chip | Causa | Corrigir |
|---|---|---|
archived (Tela arquivada) | A tela está arquivada, então o vidro dela fica escuro. O Player mantém suas credenciais | screenrig screen unarchive scr_ID. O Player retoma a reprodução sem parear novamente. Uma tela arquivada como replaced não pode ser desarquivada: screen delete a remove |
repair_needed (Reparo necessário) | A chave do dispositivo não vincula mais o Player à sua tela (credential_revoked, key_retired), ou o dispositivo não conseguiu manter sua identidade. O Player mantém o conteúdo salvo e sua chave | Redefina o Player no dispositivo: abra o menu do operador, escolha Configurações e depois Redefinir. Ele recebe um novo código de pareamento: dê o código ao seu agente |
payment_required (Sem créditos) | O crédito de uso do projeto acabou, então o novo conteúdo não pode chegar à tela. A partir de 1º de janeiro de 2027, um crédito restante de zero ou menos também mostra este chip | screenrig billing balance mostra o que resta. Adicione crédito de uso, como descrito em Preços |
session_revoked (Conexão encerrada) | A credencial do Player foi rejeitada ou revogada, ou sua tela foi excluída, enquanto o Player mantém conteúdo salvo. Ele continua reproduzindo esse conteúdo e tenta novamente | Confirme que a tela existe com screenrig screen show scr_ID. Se o chip continuar, redefina o Player no menu do operador dele e pareie-o novamente |
verify_fail (Não verificado) | Um arquivo baixado falhou na verificação de tamanho, hash ou tipo, então o Player não o usa e mantém o que tem. O código da atualização é hash_mismatch | screenrig screen clear-cache scr_ID faz o Player baixar o conteúdo novamente |
storage_full (Memória cheia) | O dispositivo não tem espaço para o conteúdo que precisa baixar, então o novo conteúdo não pode ser salvo | Libere armazenamento no dispositivo ou reduza a playlist. Cache e armazenamento explica como a playlist cabe |
decode_unplayable (Nada reproduz) | O Player não consegue reproduzir nenhum item que deveria mostrar, e não há mais nada na tela | Vídeo que não reproduz. Um Raspberry Pi 5 precisa de vídeo enviado com --codec hevc |
unavailable (Não mostra) | O Player não tem conteúdo salvo, sua atribuição não foi resolvida e nenhuma condição mais específica se aplica | Leia manifest_upgrade e last_page_failure em screen show, corrija o que eles indicam e então screenrig screen reload scr_ID |
browser_unsupported (Navegador incompatível) | O navegador que executa o Player web é incompatível. A reprodução continua | Atualize o navegador |
app_unsupported (Aplicativo incompatível) | A versão do aplicativo screenRIG é incompatível. A reprodução continua | screenrig screen update-software scr_ID onde o Player declara update; caso contrário, atualize pela loja de aplicativos ou pelo gerenciador de dispositivos |
browser_warning (Aviso navegador) | O navegador que executa o Player web está desatualizado. A reprodução continua | Atualize o navegador |
app_warning (Aviso aplicativo) | A versão do aplicativo screenRIG está desatualizada. A reprodução continua | screenrig screen update-software scr_ID onde o Player declara update; caso contrário, atualize pela loja de aplicativos ou pelo gerenciador de dispositivos |
assignment_held (Atualização pendente) | A atualização mais recente está sendo tentada novamente ou falhou, ou a renovação da sessão do Player levou mais de 10 segundos. O conteúdo atual continua sendo reproduzido | Leia manifest_upgrade em screen show. Falhas de página e de atualização explica cada state e code |
decode_miss (Item pulado) | Um item não pode ser reproduzido, então o Player o pula enquanto outro conteúdo é reproduzido | Vídeo que não reproduz |
offline_playing (Reproduzindo offline) | Há conteúdo na tela e o Player está sem conexão com o screenRIG há 60 segundos ou mais. Ele reproduz o conteúdo salvo | Restaure a rede do dispositivo. screen show reporta last_outage e seu likely_cause |
schedule_timezone (Fuso necessário) | Uma página tem uma programação de visibilidade e a tela não tem fuso horário, então o Player ignora a programação e sempre mostra a página | screenrig screen update scr_ID --timezone America/Los_Angeles, com o fuso IANA da tela |
credits_low (Poucos créditos) | O crédito de uso restante está acima de zero e abaixo de 1.000 créditos. Até 1º de janeiro de 2027, o crédito restante não é uma instrução de desligamento | screenrig billing balance mostra o que resta |
content_partial (Conteúdo parcial) | Apenas parte da playlist é reproduzida: manifest_upgrade.state é partial e missing_page_count informa quantas páginas ficam de fora | Leia manifest_upgrade.code: Cache e armazenamento para capacity, Falhas de página e de atualização para o restante |
paused (Pausado) | Alguém pausou a tela no dispositivo. A pausa termina sozinha após 60 minutos | Pressione Reproduzir/Pausar no controle remoto (K no Windows) |
syncing (Atualizando) | O Player está baixando, preparando ou ativando conteúdo novo, ou renovando sua sessão | Nenhuma. O chip desaparece quando o conteúdo está na tela. Se ele continuar, leia manifest_upgrade.state |
Atualização do Player necessária é um aviso ao lado do chip, não um chip. Aparece quando a versão do Player está abaixo do mínimo que o screenRIG suporta, e o Player continua reproduzindo o conteúdo salvo. Atualize o Player com screenrig screen update-software scr_ID onde ele declara update; caso contrário, pela loja de aplicativos ou pelo gerenciador de dispositivos.
Vídeo que não reproduz
Um Player decodifica vídeo com o decodificador de hardware do dispositivo para o codec, o perfil e a resolução do arquivo. Quando o dispositivo não consegue, o Player pula o item: o chip é decode_miss, ou decode_unplayable quando não há mais nada na tela. O registro player.video_unusable no log do Player nomeia o campo code (video_load_failed, video_play_failed, video_autoplay_blocked, video_stalled, image_load_failed, video_prepare_failed, video_first_frame_timeout ou video_decode_failed) com decoder, codecs, width e height medidos pelo Player.
screenrig media upload ./lobby-loop.mp4 --codec hevc
screenrig media upload ./lobby-loop.mp4 --preset signage-1080p30
Um vídeo é enviado como H.264 por padrão. Um Raspberry Pi 5 não tem decodificador de H.264: envie todo vídeo para ele com --codec hevc, em qualquer tamanho. Um Raspberry Pi 4 reproduz 1080p, e --preset signage-1080p30 limita o tamanho. Use hevc somente quando todas as telas que reproduzem o clipe forem Players nativos. Substitua a mídia na playlist e publique a playlist novamente.
Atribuir uma playlist cujos vídeos são todos H.264 a uma tela cujo Player declara video.h264_unavailable é recusado com invalid_request. Em conteúdo misto, esse Player pula os itens H.264.
Falhas de página e de atualização
Uma página que não fica pronta é pulada, e o Player continua reproduzindo as outras páginas. Ele reporta a falha, e last_page_failure.code é o código próprio do Player. screenrig events list --type playback.page_failed --screen-id scr_ID os lista.
| Código | Causa | Corrigir |
|---|---|---|
gstreamer_playback_error | O pipeline de mídia do Player Linux ou Raspberry Pi falhou em um vídeo: reportou um erro, não iniciou ou não produziu imagem | Vídeo que não reproduz |
unsupported_content | A playlist contém conteúdo que o Player não consegue apresentar: um primitivo ou tipo de mídia que ele não suporta | Veja Suporte primitivo por plataforma. Substitua o conteúdo ou atribua a playlist a um Player que o suporte |
manifest_upgrade.state indica como está a atualização de conteúdo:
| Estado | Significado |
|---|---|
pending | O screenRIG tem conteúdo novo para a tela e o Player ainda não reportou sobre ele |
downloading, preparing, activating | A atualização está em andamento. Com conteúdo na tela, o chip é syncing |
retrying | Uma etapa falhou e o Player tenta novamente em retry_at. O chip é assignment_held |
failed | A atualização parou sem nova tentativa agendada. O chip é assignment_held |
blocked | O armazenamento não comporta o novo conteúdo. O chip é storage_full |
partial | Apenas parte da playlist é reproduzida. O chip é content_partial |
current | O conteúdo mais recente está sendo reproduzido |
manifest_upgrade.code indica a causa de um estado retrying, failed, blocked ou partial:
| Código | Causa | Corrigir |
|---|---|---|
download_failed | Falha ao baixar o conteúdo: a origem do conteúdo estava inacessível ou respondeu com um erro | Verifique a conexão do dispositivo. O Player tenta novamente com recuo, e retry_at informa quando |
hash_mismatch | Um arquivo baixado falhou na verificação de tamanho, hash ou tipo | screenrig screen clear-cache scr_ID |
prepare_failed | O Player não conseguiu preparar uma página para exibição, ou a página não ficou pronta a tempo | Leia last_page_failure e corrija a página conforme o código indica |
activate_failed | A primeira página do novo conteúdo não pôde ser exibida | Leia last_page_failure e então screenrig screen reload scr_ID |
manifest_invalid | O Player rejeitou o manifesto da revisão como inválido e mantém o último conteúdo válido. Ele não tenta essa revisão novamente | Relate o problema com o id da tela em Contato |
unsupported_content | O Player descartou conteúdo que não consegue apresentar. Se não restar nada reproduzível, a atualização falha e não é tentada novamente; caso contrário, é partial | Como a falha de página unsupported_content acima |
internal | Um erro do Player fora dos códigos acima | screenrig screen reload scr_ID. Se o código continuar, relate o problema com o id da tela |
capacity, staged, storage_full, none_fit, transition_blocked, anchor_unavailable | O plano de armazenamento do dispositivo | Cache e armazenamento |
Cache e armazenamento
Antes de baixar uma revisão, um Player planeja seu armazenamento: quais arquivos de páginas cabem no espaço que ele pode usar. Um Player nativo deixa 128 MiB do volume livres e permanece dentro de qualquer cota definida para ele. Ao iniciar, um Player com menos de 512 MiB livres mostra uma mensagem com o espaço livre; essa mensagem não é um chip.
storage.plan.fit em screen show indica como a playlist cabe:
fit | Significado | Corrigir |
|---|---|---|
fits | A playlist inteira cabe | Nenhum |
fits_after_eviction, retention_reduced | A playlist cabe depois que o Player descarta os arquivos em cache de que não precisa mais e, para retention_reduced, o conteúdo de fallback salvo | Nenhum. Nenhuma página fica de fora |
partial | Algumas páginas não cabem e ficam de fora (excluded_pages). O restante é reproduzido | Libere armazenamento ou reduza a playlist |
transition_blocked | A página sempre visível da nova playlist, a primeira página sem programação de visibilidade, não pode ser armazenada junto com o conteúdo na tela. A atualização espera, o conteúdo atual continua sendo reproduzido e headroom_needed_bytes informa quanto mais espaço é necessário | Libere essa quantidade de armazenamento ou reduza a nova playlist |
none_fit | Nada carrega: nenhuma página cabe, ou a playlist não tem uma página sempre visível que caiba | Libere armazenamento ou atribua uma playlist menor |
manifest_upgrade.code repete o plano: none_fit ou transition_blocked para uma atualização blocked, capacity para uma atualização partial cujas páginas não couberam, staged para uma atualização partial que ainda está sendo preenchida, e storage_full quando uma gravação falha. storage_shortfall está presente enquanto fit for partial, transition_blocked ou none_fit.
Cada entrada de excluded_pages tem um campo reason:
| Motivo | Causa | Corrigir |
|---|---|---|
object_exceeds_capacity | Um arquivo sozinho não cabe no espaço que o Player pode usar | Envie uma versão menor (media upload --max-edge ou --preset signage-1080p30) ou use um dispositivo com mais armazenamento |
page_exceeds_capacity | Cada arquivo cabe sozinho, mas os arquivos da página juntos não | Coloque menos arquivos ou arquivos menores na página |
capacity_excluded | A página ficou de fora para que o restante coubesse | Libere armazenamento ou reduza a playlist |
descriptor_conflict | A playlist lista um mesmo arquivo duas vezes com tamanhos ou tipos de conteúdo diferentes | Relate o problema com o id da tela em Contato |
not_local | O Player restaurou o conteúdo salvo ao iniciar, sem um plano armazenado, e os arquivos desta página não estavam no dispositivo | Coloque o Player online: ele baixa a página |
anchor_unavailable | A página sempre visível falhou ao ser baixada, embora o dispositivo tenha espaço. Isso é uma falha de download, não uma falta de espaço | Verifique a conexão do dispositivo. O Player tenta novamente |
Consulte antes de atribuir uma playlist grande:
screenrig screen storage-forecast scr_ID --playlist-id pl_ID
Ele responde fits, partial, none_fit ou unknown, com os bytes de que a playlist precisa e a capacidade do Player. unknown significa que a tela nunca reportou armazenamento. Um relatório com mais de 24 horas é marcado como desatualizado. O comando não grava nada. Quando uma falha de armazenamento aparece, a resposta traz um aviso storage_full: libere armazenamento no dispositivo que executa o Player e tente a playlist novamente.
Cartões
Um cartão que não consegue ser desenhado deixa seu retângulo vazio, e a página segue sendo reproduzida. O Player registra card.failed, e os Players web, Android e Windows reportam player.card_failed uma vez para cada cartão em uma página e código, com page_id, primitive_id, manifest_revision e o code. Um cartão cujos dados expiraram também fica em branco: screenrig card data put --ttl 30m o renova.
| Código | Causa | Corrigir |
|---|---|---|
unknown-card | O id do cartão não está na biblioteca de cartões do Player | Use um cartão da referência de cartões |
card-unavailable | O cartão está na biblioteca, mas esta build do Player não o inclui, ou inclui uma versão principal diferente da que a página indica | Atualize o Player ou use a versão principal que ele inclui |
card-error | O cartão lançou um erro ao ser desenhado (Player web). Os detalhes estão no console do navegador | Compare as propriedades do cartão com a página de referência dele |
data-unavailable | O primeiro documento de dados do cartão não chegou. O cartão permanece oculto | screenrig card data put para gravar os dados, ou screenrig source show para verificar a fonte de dados |
data-source-missing | Um cartão indica dados de cartão e o Player não tem fonte de dados para eles | Relate o problema com os ids da tela e do cartão em Contato |
cardml-invalid | O arquivo de um cartão CardML falhou nas verificações | Relate o problema com o id do cartão em Contato |
cardml-model-error, cardml-model-timeout | O modelo de um cartão CardML falhou ou excedeu o tempo limite | Verifique os dados e as propriedades do cartão |
cardml-duplicate-key | Uma lista em um cartão CardML encontrou uma mesma chave duas vezes. Ela mantém as linhas anteriores | Dê a cada linha sua própria chave |
qr-too-long, wifi-too-long | O conteúdo do QR ou os dados do Wi-Fi não cabem em um código QR | Encurte a URL ou o texto |
invalid-target | O alvo de uma contagem regressiva não pode ser interpretado | Defina target com uma data e hora válidas |