Documentación

Pantallas: comandos CLI

Empareja, lista, publica en, asigna, etiqueta, mueve, recarga y elimina pantallas, y gestiona carpetas, enlaces, muros de video y vista en directo.

Cada comando se ejecuta como describe la referencia de la CLI: banderas globales, salida JSON, códigos de salida, revisiones y reintentos.

Pantallas

Una pantalla es un Player. Estos comandos la leen, la apuntan a una lista de reproducción y gestionan su vida. Las precondiciones de revisión son opcionales en escrituras.

Las etiquetas agrupan pantallas en flotas. Cada pantalla lleva de 0 a 16 etiquetas únicas de 1 a 32 letras o dígitos, establecidas con screen tag. screen assign, screen reload, screen toast, screen tag y screen screenshot toman un id de pantalla, varios ids o --tag TAG, y una respuesta de flota informa cada pantalla: vea Resultados de flota.

Las carpetas de pantallas agrupan las pantallas por lugar, una carpeta por pantalla. Un comando de flota también acepta --folder ID: vea Carpetas de pantallas.

Una pantalla en una carpeta protegida responde a un cambio de lista de reproducción con pending_review para un segundo aprobador, y rechaza los cambios de etiqueta, campo, ubicación, zona horaria, pared, reemplazo, eliminación, archivado, suspensión, visualización, volumen, notificación emergente y reproducción de página con protected_target (salida 5).

Una advertencia storage_full en screen list, screen show, screen update, screen assign o screen publish significa que el dispositivo que ejecuta el Player no tiene espacio para su contenido: libere almacenamiento allí y vuelva a intentarlo.

screen pair#

Empareje un Player con el código que aparece en su pantalla.

screen pair <code...> [--name NAME] [--folder ID]
ParámetroTipoRequeridoPredeterminadoNotas
<code...>stringsíningunoEl código de vinculación de seis caracteres que muestra el Player. Se ignoran los espacios, los guiones y las mayúsculas y minúsculas, así que un código mostrado en dos grupos funciona con o sin comillas.
--name NAMEstringnoun Screen N sin usarNombre para mostrar de la pantalla, de 1 a 120 caracteres.
--folder IDstringnoraíz del proyectoLa carpeta de pantallas sfd_ en la que colocar la pantalla. Un agente limitado a carpetas de pantallas debe nombrar una carpeta de su alcance; la raíz del proyecto y cualquier otra carpeta responden outside_screen_scope (salida 3).
screenrig screen pair "$PAIRING_CODE" --name "Lobby"
screenrig screen pair "$PAIRING_CODE" --folder sfd_01EXAMPLEFOLDER000000000

La respuesta lleva public_url y el objeto screen vinculado. El Player termina de vincularse la próxima vez que contacta con el servicio, sin nada que hacer en la pantalla: screen show informa state active y online true cuando lo ha hecho. Tras una solicitud interrumpida, vuelva a ejecutar el mismo comando para reutilizar la clave de idempotencia guardada.

browser setup#

Completar la configuración de un Player en navegador a partir del código que muestra.

browser setup --code CODE [--open]
ParámetroTipoRequeridoPredeterminadoNotas
--code CODEstringsíningunoEl código de configuración que muestra el Player en navegador.
--openbooleannoapagadoAbrir el Player en navegador.
screenrig browser setup --code SETUP_CODE --open

La respuesta lleva code, status (claimed), screen_id y el player_public_url de la pantalla. El CLI retiene una URL que no supera sus verificaciones de seguridad, con la advertencia player_url_withheld. Un código inválido o expirado no crea ninguna pantalla. Tras una solicitud interrumpida, vuelva a ejecutar el mismo comando.

screen list#

Listar pantallas. Se omiten las pantallas archivadas a menos que se soliciten.

screen list [--state archived] [--tag TAG] [--folder ID|root] [--field NAME=VALUE...] [--near LAT,LON,KM]
ParámetroTipoRequeridoPredeterminadoNotas
--statestringnopantallas activasEl único valor aceptado es archived, que lista solo pantallas archivadas.
--tag TAGstringnocada pantallaLista solo pantallas que llevan esta etiqueta exacta.
--folder ID|rootstringnocada pantallaLista solo las pantallas directamente dentro de esta carpeta de pantallas sfd_, no las de sus subcarpetas, o con root solo las pantallas fuera de toda carpeta.
--field NAME=VALUEstringnoningunoLista solo las pantallas cuyo campo NAME contiene exactamente VALUE. Repetible, cada nombre una vez; una pantalla debe cumplir todas.
--near LAT,LON,KMstringnoningunoLista solo las pantallas ubicadas a no más de KM kilómetros del punto, en grados decimales; KM es mayor que 0. Se omite una pantalla sin ubicación.
screenrig screen list --tag Lobby
screenrig screen list --folder sfd_01EXAMPLEFOLDER000000000
screenrig screen list --field region=north
screenrig screen list --near 47.6062,-122.3321,25

Los filtros se combinan. Cada fila lleva tags, folder_id, fields y location de la pantalla cuando los tiene. Con --human, la tabla agrega una columna solo cuando una pantalla listada tiene el valor: PLATFORM, REASON (el archive_reason de una pantalla archivada), TAGS, FOLDER, FIELDS, LOCATION, ASSIGNED (una pantalla que reproduce algo distinto de su lista de reproducción predeterminada), HEALTH (una pantalla que requiere atención) y UPGRADE (una pantalla cuyo Player aún está cambiando a la versión de lista de reproducción emitida, o no lo consiguió). --state archived también lista las pantallas que un Player archivó por sí mismo (device_reset, device_unpair) y las pantallas que screen replace archivó (replaced).

screen show#

Lea una pantalla, incluida revisión, asignación y estado en vivo.

screen show <id>
ParámetroTipoRequeridoPredeterminadoNotas
<id>stringsíningunoEl id de pantalla scr_.
screenrig screen show scr_01EXAMPLESCREEN00000000

tags lista las etiquetas de la flota de la pantalla. effective_playlist, takeover y playlist_schedule informan qué reproduce la pantalla y por qué; vea Programaciones y takeover. health y las capacidades del host del Player están en Salud y energía del dispositivo. online es verdadero mientras un Player está conectado, incluyendo una breve ventana de reconexión. last_online_at y last_ip opcionales aparecen después de la primera conexión. observation opcional informa las superficies que un Player ha pintado: id, width, height, pixel_ratio y presentation. Todos estos son solo lectura; screen update no puede enviarlos, y una pantalla archivada aún devuelve su fila.

commands lista los últimos 10 reinicios, recargas, vaciados de caché, reinicios de aplicación y actualizaciones de la pantalla, los más antiguos primero, cada uno con su type, su state (queued, sent, done, failed, expired, cancelled o superseded), su source (schedule para un reinicio emitido por una programación de reinicio; ausente en uno solicitado por una persona), su expires_at y el momento en que se envió o se completó. reboot_schedule y next_reboot_at informan de la programación de reinicio de la pantalla y del inicio de su próxima ventana de reinicio. Un vaciado de caché, un reinicio de aplicación o una actualización que terminó el Player lleva además su cause y un detail breve, que --human imprime como columna CAUSE y como línea bajo la tabla. suspension lleva message y since de una pantalla suspendida. Una pantalla archivada por screen replace informa replaced_by, la pantalla a la que se movió su dispositivo. Con --human, screen show imprime cada uno.

last_outage informa de la última caída de la pantalla: offline_since, back_at y duration_s y, cuando un informe de estado la determina, una likely_cause de device_restart, app_crash, app_restart, network o platform; no aparece cuando screenRIG no puede determinarla. Un reinicio se determina al volver la pantalla, mientras que una causa de red o de screenRIG espera al siguiente informe de estado del Player, que puede tardar hasta quince minutos. glass contiene los veredictos que screenRIG sacó de los informes de reproducción y las capturas de pantalla. Con --human, screen show imprime Last outage y Likely cause, y Playlist stalled, Blank screen o Frozen picture para un veredicto que encontró un problema; Notificaciones explica qué dejan fuera los veredictos.

folder_id nombra la carpeta de la pantalla y está ausente en la raíz del proyecto. fields, location y wall aparecen una vez definidos: vea screen update y screen wall set. Cada entrada de observation.surfaces lleva también rotation cuando el Player puede leerla, y una pared de video informa una entrada por salida, con los nombres que screen wall set acepta.

manifest_upgrade informa si el Player cambió a la versión de la lista de reproducción emitida para él. Su state es none, pending, downloading, preparing, activating, retrying, failed, blocked, partial o current, junto a desired_playlist y active_playlist (id, name y revision), la última versión que el Player confirmó, lo que no prueba que cada sesión la muestre. Una actualización con fallos o parcial lleva además code, attempt, retry_at y missing_page_count. --human imprime Target v42 · Playing v41. Una actualización fallida no programa ningún reintento: corrija la causa y luego ejecute screen reload o asigne de nuevo la lista de reproducción. Una asignación guardada no confirma la reproducción.

applications_unsupported aparece mientras el Player vinculado no puede mostrar páginas application o iframe: el manifiesto no cambia y el Player las omite. recovery_pending aparece mientras un dispositivo que perdió su identidad almacenada ofrece reconectarse como esta pantalla, con el expires_at de la oferta y los valores platform, model, firmware y manufacturer que informa el dispositivo: vea screen recover.

screen update#

Modifica el nombre, la asignación de lista de reproducción, la anulación de zona horaria, los campos o la ubicación de una pantalla en una sola llamada.

screen update <id> [--name NAME] [--playlist-id ID | --clear-playlist] [--timezone ZONE | --clear-timezone] [--field NAME=VALUE...] [--unset-field NAME...] [--clear-fields] [--location LAT,LON [--location-name NAME] [--address TEXT] | --clear-location] [--expect-rev REVISION]
ParámetroTipoRequeridoPredeterminadoNotas
<id>stringsíningunoEl id de pantalla scr_.
--name NAMEstringnosin cambiosNombre de pantalla para la pantalla.
--playlist-id IDstringnosin cambiosLa lista de reproducción pl_ que debe reproducir esta pantalla. No con --clear-playlist.
--clear-playlistbooleannoapagadoBorra la asignación predeterminada propia de la pantalla. La vinculación y todos los demás niveles de contenido se conservan, y la pantalla queda inactiva cuando no se aplica ninguno. Una pantalla archivada responde screen_archived. No con --playlist-id.
--timezone ZONEstringnosin cambiosAnula la zona horaria de la pantalla con un identificador de zona IANA como America/Los_Angeles. Validado contra la base de datos de zonas del servidor. No se combina con --clear-timezone.
--clear-timezonebooleannoapagadoElimina la anulación, de modo que la pantalla vuelve a seguir la zona que informa su dispositivo. No se combina con --timezone.
--field NAME=VALUEstringnosin cambiosDefine un campo y deja los demás. Repetible, cada nombre una vez. NAME tiene de 1 a 32 letras minúsculas, dígitos o guiones bajos, VALUE tiene de 1 a 200 caracteres tras recortar, y una pantalla admite como máximo 32 campos. No con --clear-fields.
--unset-field NAMEstringnosin cambiosQuita un campo. Repetible. No con --clear-fields.
--clear-fieldsbooleannoapagadoQuita todos los campos. No con --field ni --unset-field.
--location LAT,LONstringnosin cambiosDónde está la pantalla, en grados decimales: latitud de -90 a 90, longitud de -180 a 180. Reemplaza toda la ubicación, así que repita --location-name y --address para conservarlos. No con --clear-location.
--location-name NAMEstringnoningunoEl nombre corto del lugar que muestra una tarjeta, de 1 a 40 caracteres. Requiere --location.
--address TEXTstringnoningunoUna dirección para personas y agentes, de 1 a 200 caracteres. Requiere --location.
--clear-locationbooleannoapagadoQuita la ubicación. No con --location.
--expect-rev REVISIONstringnoningunoPrecondición opcional de revisión. Omitir para escribir el recurso actual. Un valor obsoleto suministrado es revision_conflict: volver a obtener, reaplicar, reintentar.

Indique al menos uno de --name, --playlist-id, --clear-playlist, --timezone, --clear-timezone, --field, --unset-field, --clear-fields, --location o --clear-location.

screenrig screen update scr_01EXAMPLESCREEN00000000 --name "Lobby"
screenrig screen update scr_01EXAMPLESCREEN00000000 --field store_number=0142 --field region=north
screenrig screen update scr_01EXAMPLESCREEN00000000 --location 47.6062,-122.3321 --location-name "Seattle HQ"
screenrig screen update scr_01EXAMPLESCREEN00000000 --clear-playlist --expect-rev 3

En revisión, un cambio solo de --playlist-id se propone como screen assign; una sesión Proponer no puede cambiar otros campos.

Cambiar los campos o la ubicación cambia la revisión del manifiesto de la pantalla, así que una pantalla que muestra una lista de reproducción recoge los valores nuevos. Las tarjetas y las páginas iframe los leen por pantalla, de modo que una sola lista de reproducción muestra los valores propios de cada pantalla: {screen.field.NAME}, {screen.name} y {screen.timezone} rellenan cualquier param de texto de una tarjeta, "location": "{screen.location}" rellena la ubicación de una tarjeta con la forma que esa tarjeta admite, y una clave de datos de tarjeta puede llevar {screen.field.NAME}, como menu-{screen.field.store_number}. Una pantalla que carece de un campo muestra ese texto vacío, y la tarjeta queda sin esa clave de datos o ubicación. screen show lista los campos y la ubicación de una pantalla, y screen list encuentra pantallas por ellos. Vea Tokens de pantalla en direcciones de iframe y params de aplicación.

screen publish#

Crear una nueva lista de reproducción desde un archivo preparado y asignarla a una pantalla.

screen publish <id> <file> [--expect-rev REVISION] [--note TEXT] [--no-wait] [--poll-ms MS] [--timeout MS] [--no-progress]
ParámetroTipoRequeridoPredeterminadoNotas
<id>stringsíningunoEl id de pantalla scr_.
<file>rutasíningunoEl documento de lista de reproducción preparado, o - para stdin.
--expect-rev REVISIONstringnoningunoPrecondición opcional de revisión de pantalla. Omitir para escribir el recurso actual. Un valor obsoleto suministrado es revision_conflict: volver a obtener, reaplicar, reintentar.
--note TEXTstringnoningunoUna nota para la persona que revisa el cambio: texto plano, máximo 280 caracteres. Se ignora cuando el cambio se aplica de inmediato.
--no-waitbooleannoapagadoVuelve tras la asignación sin esperar a que el Player muestre la lista de reproducción.
--poll-ms MSintegerno2000Intervalo entre consultas de la pantalla durante la espera.
--timeout MSintegerno120000Fecha límite para la espera. También limita cada solicitud subyacente.
--no-progressbooleannoapagadoSuprime las líneas de etapa en stderr.
screenrig screen publish scr_LOBBY lobby.json

Esto crea una nueva lista de reproducción y la asigna. No actualiza una lista de reproducción existente por nombre. Inspeccione primero el documento preparado. Repita la entrada idéntica para reanudar un fallo ambiguo. La lectura de la asignación no prueba la reproducción; solicite una captura de pantalla por separado. En revisión devuelve stage: pending_review con ambas revisiones. Vea Preparar, publicar y editar listas de reproducción.

Tras la asignación, el comando espera hasta que el Player muestre la lista de reproducción: data.stage es playing y data.playback_verified es true. Los cambios de etapa se imprimen en stderr a medida que ocurren, como líneas JSON o, con --human, como texto. Repetir el mismo comando después de que una publicación terminó informa esa publicación (data.already_published) mientras la pantalla siga mostrando su lista de reproducción, y publica de nuevo cuando la pantalla ya pasó a otra cosa.

screen assign#

Apunte una pantalla, o una flota de pantallas, a una lista de reproducción.

screen assign (<id>... | --tag TAG | --folder ID) --playlist-id ID [--expect-rev REVISION] [--note TEXT]
ParámetroTipoRequeridoPredeterminadoNotas
<id>...stringuno de <id>, --tag o --folderningunoUno o más ID de pantalla scr_. Varios IDs se ejecutan como una solicitud de flota.
--tag TAGstringuno de <id>, --tag o --folderningunoCada pantalla activa que lleva esta etiqueta.
--folder IDstringuno de <id>, --tag o --folderningunoToda pantalla activa de esta carpeta de pantallas sfd_ y de las carpetas que contiene.
--playlist-id IDstringsíningunoLa lista de reproducción pl_ para ejecutar.
--expect-rev REVISIONstringnoningunoSolo un ID de pantalla. Condición de revisión opcional. Omitir para escribir el recurso actual. Un valor obsoleto suministrado es revision_conflict: vuelva a buscar, reapply, retry.
--note TEXTstringnoningunoUna nota para la persona que revisa el cambio: texto plano, máximo 280 caracteres. Se ignora cuando el cambio se aplica de inmediato.
screenrig screen assign scr_01EXAMPLESCREEN00000000 --playlist-id pl_01EXAMPLEPLAYLIST000000
screenrig screen assign --tag Lobby --playlist-id pl_01EXAMPLEPLAYLIST000000
screenrig screen assign --folder sfd_01EXAMPLEFOLDER000000000 --playlist-id pl_01EXAMPLEPLAYLIST000000

Una lista de reproducción que programa páginas se asigna a cualquier pantalla: las programaciones se leen en la zona horaria propia de la pantalla (su anulación, si no la zona que informa su dispositivo, si no UTC).

Para publicar en una flota, cree la lista de reproducción una vez con playlist create, luego ejecute screen assign --tag TAG --playlist-id ID. screen publish apunta a una pantalla.

Con acceso Proponer, o en un proyecto que exige revisión para los cambios de agentes, el cambio en una pantalla o en toda la flota responde pending_review en su lugar: data.review lleva el id de la revisión y su url en el dashboard, una advertencia pending_review nombra la URL, y data.next es reviews show ID. Nada cambia en pantalla hasta que una persona lo aprueba, así que no repita la escritura. En una pantalla de una carpeta protegida esto responde pending_review en todos los niveles de acceso, y lo decide un aprobador distinto de usted y de la persona para quien trabaja (de lo contrario, second_approver_required, salida 3). Un llamador limitado a carpetas de pantallas asigna solo en pantallas de su alcance. Una asignación guardada no confirma la reproducción; screen screenshot muestra lo que hay en pantalla.

screen set-timezone#

Anula la zona horaria en la que se leen las reglas de hora civil de una pantalla, o elimina la anulación.

screen set-timezone <id> (--timezone ZONE | --clear) [--expect-rev REVISION]
ParámetroTipoRequeridoPredeterminadoNotas
<id>stringsíningunoEl id de pantalla scr_.
--timezone ZONEstringuno de --timezone o --clearningunoAnula la zona horaria de la pantalla con un identificador de zona IANA como Europe/Berlin.
--clearbooleanuno de --timezone o --clearapagadoElimina la anulación, de modo que la pantalla vuelve a seguir la zona que informa su dispositivo. No se combina con --timezone.
--expect-rev REVISIONstringnoningunoPrecondición opcional de revisión. Omitir para escribir el recurso actual. Un valor obsoleto suministrado es revision_conflict: volver a obtener, reaplicar, reintentar.
screenrig screen set-timezone scr_01EXAMPLESCREEN00000000 --timezone America/Los_Angeles
screenrig screen set-timezone scr_01EXAMPLESCREEN00000000 --clear

Cada pantalla tiene una zona horaria efectiva, y toda regla de hora civil la lee: visibilidad de páginas, espacios publicitarios, programaciones de listas de reproducción, tomas de control, campañas, programaciones de pantalla y de reinicio, y {screen.timezone}. Es esta anulación, si no la zona que el Player de la pantalla informa desde su dispositivo, si no UTC. Una pantalla no necesita anulación mientras su dispositivo informe la zona correcta. screen show imprime la zona efectiva como Timezone con su origen, effective_timezone y timezone_source (screen, device o default) en --json. Cambiar la zona efectiva renueva la revisión del manifiesto.

ZONE es Area/City, como America/New_York o Asia/Tokyo, o UTC.

screen wall set#

Define la pared de video de una pantalla: un Player que controla de dos a doce pantallas como un solo lienzo.

screen wall set <id> --outputs NAMES --arrangement row|column|grid [--columns N] [--rotation 0|90|180|270] [--expect-rev REVISION]
ParámetroTipoRequeridoPredeterminadoNotas
<id>stringsíningunoEl id de pantalla scr_.
--outputs NAMESstringsíningunoDe dos a doce nombres de salida separados por comas, en orden físico, de izquierda a derecha y luego de arriba abajo, tal como los lista screen show en observation.surfaces, por ejemplo HDMI-A-1,HDMI-A-2. Cada uno tiene de 1 a 64 letras, dígitos, puntos, guiones bajos o guiones, y aparece una sola vez.
--arrangement ARRANGEMENTstringsíningunorow (una fila, de izquierda a derecha), column (una columna, de arriba abajo) o grid (filas de --columns salidas, de arriba abajo).
--columns Nintegersí, para gridningunoSalidas por fila de una cuadrícula: de 2 a 6, que dividan las salidas en al menos 2 filas. Se rechaza para row y column.
--rotation DEGREESstringno0Rotación en sentido horario de cada salida: 0, 90, 180 o 270. 90 y 270 son paneles verticales.
--expect-rev REVISIONstringnoningunoPrecondición opcional de revisión. Omitir para escribir el recurso actual. Un valor obsoleto suministrado es revision_conflict: volver a obtener, reaplicar, reintentar.
screenrig screen wall set scr_01EXAMPLESCREEN00000000 --outputs HDMI-A-1,HDMI-A-2 --arrangement row
screenrig screen wall set scr_01EXAMPLESCREEN00000000 --outputs DP-1,DP-2,DP-3 --arrangement row --rotation 90 --expect-rev 4
screenrig screen wall set scr_01EXAMPLESCREEN00000000 --outputs DP-1,DP-2,DP-3,DP-4,DP-5,DP-6 --arrangement grid --columns 3

Un Player controla las pantallas como una sola pared, así que una página de la lista de reproducción abarca todas. El comando reemplaza toda la pared, así que repita --rotation y --columns para conservarlos. Solo la instalación en modo kiosk del Player de Linux y el Player de Windows declaran la capacidad display.wall; cualquier otro Player responde wall_unsupported (salida 5) y nada cambia. El acceso Proponer no puede cambiar una pared (insufficient_access). Un muro de 2 o 3 pantallas requiere Plus o superior, y uno de 4 a 12 pantallas, Enterprise: un plan sin él responde feature_not_in_plan (salida 8), mientras que screen wall clear y una configuración que conserva el muro guardado siguen disponibles. Vea Paredes de video.

Cree la lista de reproducción para la forma de la pared con playlist init y el id de la pantalla, que escribe el lienzo correspondiente y format (displays, arrangement, orientation y columns para una cuadrícula). El campo displays de una primitiva, como [2] o [1, 2, 5, 6], nombra los números de las pantallas de la pared que cubre, contados desde 1 de izquierda a derecha y luego de arriba abajo, y debe llenar un rectángulo de la pared. Asignar una lista de reproducción cuyo formato no es la forma de la pared es playlist_format_mismatch (salida 5); una lista sin formato se reproduce igual en cada pantalla. Cuando la pantalla reproduce una lista con un formato que coincide, cada pantalla de la pared muestra su número y nombre durante 20 segundos tras un cambio, para que pueda comprobar el orden en pantalla.

screen wall clear#

Quita la pared de video de una pantalla.

screen wall clear <id> [--expect-rev REVISION]
ParámetroTipoRequeridoPredeterminadoNotas
<id>stringsíningunoEl id de pantalla scr_.
--expect-rev REVISIONstringnoningunoPrecondición opcional de revisión. Omitir para escribir el recurso actual. Un valor obsoleto suministrado es revision_conflict: volver a obtener, reaplicar, reintentar.
screenrig screen wall clear scr_01EXAMPLESCREEN00000000

La lista de reproducción asignada no se vuelve a comprobar: si tiene format, el manifiesto de la pantalla se degrada (wall_format_mismatch) y el Player conserva su última página buena hasta que usted asigne una lista sin formato. Una pantalla sin pared responde sin cambios. El acceso Proponer no puede cambiar una pared (insufficient_access).

screen archive#

Ocultar una pantalla y oscurecer su cristal.

screen archive <id> [--expect-rev REVISION]
ParámetroTipoRequeridoPredeterminadoNotas
<id>stringsíningunoEl id de pantalla scr_.
--expect-rev REVISIONstringnoningunoPrecondición opcional de revisión. Omitir para escribir el recurso actual. Un valor obsoleto suministrado es revision_conflict: volver a obtener, reaplicar, reintentar.
screenrig screen archive scr_01EXAMPLESCREEN00000000

Archivar oculta la pantalla de la lista predeterminada y oscurece el vidrio. No desvincula el reproductor.

Quien tenga la clave del dispositivo aún puede conectarse mientras la pantalla está archivada. Para retirar un hardware definitivamente, deje la pantalla archivada o mueva la pantalla a hardware nuevo con screen recover o screen replace, que retiran la clave anterior.

screen unarchive#

Restaurar una pantalla archivada a la lista predeterminada.

screen unarchive <id> [--expect-rev REVISION]
ParámetroTipoRequeridoPredeterminadoNotas
<id>stringsíningunoEl id de pantalla scr_.
--expect-rev REVISIONstringnoningunoPrecondición opcional de revisión. Omitir para escribir el recurso actual. Un valor obsoleto suministrado es revision_conflict: volver a obtener, reaplicar, reintentar.
screenrig screen unarchive scr_01EXAMPLESCREEN00000000

Un Player también puede archivar su propia pantalla: un restablecimiento confirmado en un Player que tiene una clave, o desvincular un Player de navegador emparejado por cookie. screen show luego reporta archive_reason como device_reset o device_unpair (project para un archivo que usted solicita), con archived_at. La pantalla mantiene su vinculación de dispositivo por cualquier motivo, por lo que un Player que aún tiene esa clave o cookie de dispositivo permanece apagado y se reanuda al desarchivar sin necesidad de volver a emparejar. El Player que fue restablecido o desvinculado pierde su clave o cookie y se empareja nuevamente como una pantalla nueva. Una clave reemplazada por una recuperación confirmada de pantalla permanece retirada.

Una pantalla archivada como replaced por screen replace no mantiene ninguna vinculación de dispositivo, por lo que desarchivar la rechaza y screen delete la elimina.

screen suspend#

Mostrar un aviso en una pantalla en lugar de su contenido, hasta que se reanude.

screen suspend <id> --message TEXT [--expect-rev REVISION]
ParámetroTipoRequeridoPredeterminadoNotas
<id>stringsíningunoEl id de pantalla scr_.
--message TEXTstringsíningunoEl aviso que muestra la pantalla: de 1 a 280 caracteres tras recortar. El salto de línea es el único carácter de control, y el Player ajusta el texto y mantiene sus saltos de línea.
--expect-rev REVISIONstringnoningunoPrecondición opcional de revisión. Omitir para escribir el recurso actual. Un valor obsoleto suministrado es revision_conflict: volver a obtener, reaplicar, reintentar.
screenrig screen suspend scr_01EXAMPLESCREEN00000000 --message "Closed for stocktake. Back at 9am."

Una pantalla suspendida muestra el mensaje en lugar de su contenido. Nada más cambia: su lista de reproducción, programación, toma de control y control de pantalla permanecen y siguen evolucionando, y screen resume muestra lo que la pantalla estaría mostrando ahora. screen show informa suspension con message y since; suspender una pantalla suspendida reemplaza el mensaje y mantiene since. Suspender aumenta la revisión de la pantalla, y el Player vuelve a obtener su manifiesto de inmediato. Una pantalla archivada responde screen_archived.

screen resume#

Finalizar la suspensión de una pantalla para que vuelva a mostrar su propio contenido.

screen resume <id> [--expect-rev REVISION]
ParámetroTipoRequeridoPredeterminadoNotas
<id>stringsíningunoEl id de pantalla scr_.
--expect-rev REVISIONstringnoningunoPrecondición opcional de revisión. Omitir para escribir el recurso actual. Un valor obsoleto suministrado es revision_conflict: volver a obtener, reaplicar, reintentar.
screenrig screen resume scr_01EXAMPLESCREEN00000000

Reanudar muestra de nuevo el contenido propio de la pantalla, a partir de lo que la pantalla estaría mostrando ahora, y el Player vuelve a obtener su manifiesto de inmediato. Una pantalla que no está suspendida responde sin cambios, sin cambio de revisión. Una pantalla archivada responde screen_archived.

screen delete#

Eliminar una pantalla.

screen delete <id> [--expect-rev REVISION]
ParámetroTipoRequeridoPredeterminadoNotas
<id>stringsíningunoEl id de pantalla scr_.
--expect-rev REVISIONstringnoningunoPrecondición opcional de revisión. Omitir para escribir el recurso actual. Un valor obsoleto suministrado es revision_conflict: volver a obtener, reaplicar, reintentar.
screenrig screen delete scr_01EXAMPLESCREEN00000000

Eliminar quita una pantalla solo mientras no haya ninguna clave de Player vinculada a ella, y screen show informa deletable: true para esa pantalla. Un Player que se empareja con un código, ya sea nativo o de navegador, tiene una clave, y la clave permanece vinculada a su pantalla, por lo que eliminar esa pantalla responde 409 screen_archive_required (código de salida 5): archívela en su lugar. Solo un Player de navegador emparejado por cookie no tiene clave, y su pantalla se elimina esté emparejada o aún pendiente.

Para vincular como pantalla nueva un dispositivo que tiene una clave, confirme un restablecimiento en el propio Player y luego reclame el código que muestra con screen pair; la pantalla anterior sigue archivada. Para mover una pantalla a hardware de reemplazo, use screen recover, o screen replace cuando ese hardware ya está vinculado como pantalla propia.

screen recover#

Reconecta un dispositivo que perdió su identidad almacenada a la pantalla con la que estaba vinculado.

screen recover <id> [--expect-rev REVISION]
ParámetroTipoRequeridoPredeterminadoNotas
<id>stringsíningunoEl id de pantalla scr_.
--expect-rev REVISIONstringnoningunoPrecondición opcional de revisión. Omitir para escribir el recurso actual. Un valor obsoleto suministrado es revision_conflict: volver a obtener, reaplicar, reintentar.
screenrig screen show scr_01EXAMPLESCREEN00000000
screenrig screen recover scr_01EXAMPLESCREEN00000000

Un dispositivo que perdió su identidad almacenada y que, al vincularse, informa los identificadores de hardware de esta pantalla hace una oferta. screen show la informa como recovery_pending con su fecha límite y, cuando el dispositivo los informa, sus valores platform, model, firmware y manufacturer. Nada se vuelve a vincular hasta que este comando lo confirma: la pantalla conserva su nombre, lista de reproducción, zona horaria, programaciones e historial, y la nueva clave del dispositivo reemplaza a la anterior, que se retira tras un período de gracia de quince minutos. Una pantalla archivada por un restablecimiento del dispositivo sigue archivada hasta screen unarchive.

Antes de confirmar, compare el modelo y el firmware informados con el dispositivo que espera: cualquier aplicación que se ejecute en un dispositivo puede leer sus identificadores, así que la oferta por sí sola no prueba qué dispositivo la solicita. El servicio rechaza una oferta mientras el Player actual de la pantalla siga en línea, y una pantalla acepta como máximo tres ofertas por hora. Sin una oferta el comando responde recovery_not_offered, una oferta cuya sesión de vinculación expiró responde recovery_expired, y los identificadores asociados a más de una pantalla responden recovery_ambiguous; nada se vuelve a vincular. La recuperación nunca cruza proyectos.

screen replace#

Mover a esta pantalla el dispositivo emparejado como otra pantalla, manteniendo la configuración y el historial de esta pantalla.

screen replace <id> --with ID [--expect-rev REVISION]
ParámetroTipoRequeridoPredeterminadoNotas
<id>stringsíningunoLa pantalla scr_ que se conserva.
--with IDstringsíningunoLa pantalla scr_ cuyo dispositivo emparejado toma el relevo. Debe ser otra pantalla del proyecto.
--expect-rev REVISIONstringnoningunoPrecondición opcional de revisión de la pantalla que se conserva. Omitir para escribir el recurso actual. Un valor obsoleto suministrado es revision_conflict: volver a obtener, reaplicar, reintentar.
screenrig screen replace scr_01EXAMPLESCREEN00000000 --with scr_01EXAMPLENEWSCREEN000000

Empareje primero el nuevo hardware como su propia pantalla y luego reemplace. La clave del dispositivo, o la credencial de un Player de navegador, ahora da acceso a <id>, que mantiene su nombre, etiquetas, zona horaria, lista de reproducción, programaciones, toma de control, horario de pantalla y su anulación, muro de video, comentarios, campos, ubicación e historial, y adopta el host y el Player del reemplazo. Su salud, estado, almacenamiento y comandos en cola empiezan de cero. La pantalla nombrada por --with se archiva con archive_reason replaced y replaced_by que nombra <id>. No mantiene ninguna vinculación de dispositivo, por lo que screen unarchive no puede restaurarla y screen delete la elimina. La clave que tenía <id> se retira tras una ventana de gracia de quince minutos, y después su dispositivo anterior es rechazado. Ambas pantallas deben estar activas y tener un Player emparejado: una pantalla que sigue esperando el emparejamiento responde resource_conflict, una archivada responde screen_archived, y un muro de video necesita un Player de reemplazo que declare display.wall (wall_unsupported). La solicitud siempre lleva una clave de idempotencia, y un reintento exacto devuelve la respuesta original.

Para mover un dispositivo que perdió su identidad almacenada y ahora informa los identificadores de esta pantalla, use screen recover.

screen rotate-public-id#

Emitir un nuevo ID público para una pantalla.

screen rotate-public-id <id> [--expect-rev REVISION]
ParámetroTipoRequeridoPredeterminadoNotas
<id>stringsíningunoEl id de pantalla scr_.
--expect-rev REVISIONstringnoningunoPrecondición opcional de revisión. Omitir para escribir el recurso actual. Un valor obsoleto suministrado es revision_conflict: volver a obtener, reaplicar, reintentar.
screenrig screen rotate-public-id scr_01EXAMPLESCREEN00000000

Se reemplaza el public_id de la pantalla, la credencial de su URL pública, y termina toda sesión abierta con el anterior. La vinculación del Player se conserva: un Player vinculado abre una sesión nueva y sigue mostrando su contenido.

screen reload#

Pida al reproductor de una pantalla, o a todos los reproductores de una flota, que recarguen una vez.

screen reload (<id>... | --tag TAG | --folder ID) [--expires-in DURATION] [--expect-rev REVISION]
ParámetroTipoRequeridoPredeterminadoNotas
<id>...stringuno de <id>, --tag o --folderningunoUno o más ID de pantalla scr_. Varios IDs se ejecutan como una solicitud de flota.
--tag TAGstringuno de <id>, --tag o --folderningunoCada pantalla activa que lleva esta etiqueta.
--folder IDstringuno de <id>, --tag o --folderningunoToda pantalla activa de esta carpeta de pantallas sfd_ y de las carpetas que contiene.
--expires-in DURATIONstringno24h, aplicado por el servidorCuánto tiempo espera la solicitud a que una pantalla sin conexión vuelva a estar en línea: 90s, 30m, 2h o 1d, de 60s a 24h.
--expect-rev REVISIONstringnoningunoSolo un ID de pantalla. Condición de revisión opcional.
screenrig screen reload scr_01EXAMPLESCREEN00000000
screenrig screen reload scr_01EXAMPLESCREEN00000000 --expires-in 2h
screenrig screen reload --tag Lobby
screenrig screen reload --folder sfd_01EXAMPLEFOLDER000000000

La respuesta lleva un reload_id, un state y un expires_at. A una pantalla en línea se le envía la recarga de inmediato (state sent); una pantalla sin conexión la mantiene como queued y se le envía cuando vuelve a estar en línea antes de expires_at, 24 horas después de la solicitud salvo que --expires-in indique otra cosa. Una recarga más reciente reemplaza a una que sigue en cola, screen show lista los commands de la pantalla y screen command cancel cancela una que sigue en cola. En una flota, el reload de cada resultado lleva el mismo state. Un Player web se recarga en su próximo límite de página; un Player nativo se reconecta, vuelve a obtener su manifiesto y verifica si hay una actualización. Un Player ignora una recarga dentro de los diez minutos posteriores a la última que actuó. La recarga funciona en pantallas activas y archivadas y no cambia la revisión de la pantalla.

screen toast#

Publique un mensaje transitorio como chrome de escenario en una pantalla activa o una flota.

screen toast (<id>... | --tag TAG | --folder ID) --text TEXT [--level info|alert|error] [--duration-ms MS]
ParámetroTipoRequeridoPredeterminadoNotas
<id>...stringuno de <id>, --tag o --folderningunoUno o más ID de pantalla scr_. Varios IDs se ejecutan como una solicitud de flota.
--tag TAGstringuno de <id>, --tag o --folderningunoCada pantalla activa que lleva esta etiqueta.
--folder IDstringuno de <id>, --tag o --folderningunoToda pantalla activa de esta carpeta de pantallas sfd_ y de las carpetas que contiene.
--text TEXTstringsíningunoDe uno a 120 caracteres, salto de línea como único corte, máximo tres líneas.
--level LEVELstringnoinfoinfo, alert o error. Una pantalla puede definir el nivel mínimo de notificaciones emergentes que muestra, y las notificaciones emergentes error se muestran siempre. Un Player muestra una notificación emergente en una sola línea, con el salto de línea como espacio. El éxito del comando no establece visibilidad.
--duration-ms MSintegerno60000, aplicado por el servidorEntre 2000 y 60000 cuando se suministra.
screenrig screen toast scr_01EXAMPLESCREEN00000000 --text "Lobby closed"
screenrig screen toast --tag Lobby --text "Closing in ten minutes"
screenrig screen toast --folder sfd_01EXAMPLEFOLDER000000000 --text "Closing in ten minutes"

Un toast no es un primitivo: no ocupa espacio en el lienzo, no tiene capa y no participa en la preparación ni en el fundido cruzado. Gana el último, no hay cola ni cancelación, y el sobre aceptado es solo { expires_at }. Nunca ponga credenciales u otro material secreto en el texto.

screen identify#

Mostrar el nombre de una pantalla sobre su contenido durante un tiempo, para encontrarla en el sitio.

screen identify <id> [--duration DURATION]
ParámetroTipoRequeridoPredeterminadoNotas
<id>stringsíningunoEl id de pantalla scr_.
--duration DURATIONstringno60s, aplicado por el servidorCuánto tiempo permanece visible la superposición, contado desde que el Player recibe la solicitud: 30s, 2m o 1m30s, de 2s a 10m.
screenrig screen identify scr_01EXAMPLESCREEN00000000
screenrig screen identify scr_01EXAMPLESCREEN00000000 --duration 2m

El Player dibuja una superposición a pantalla completa sobre su contenido, con el nombre de la pantalla muy grande y su id pequeño debajo. La reproducción continúa detrás, y una identificación más reciente reemplaza la superposición. El sobre aceptado lleva identify_id, duration_ms y un expires_at 60 segundos después de la solicitud, por lo que una pantalla sin conexión nunca muestra la superposición más tarde. Solo un Player que declara la capacidad identify muestra la superposición: cualquier otra pantalla responde 409 identify_unsupported (código de salida 5) y no se envía nada, así que actualice el Player o muestre el nombre con screen toast. Una pantalla archivada responde screen_archived y una pantalla que sigue esperando el emparejamiento responde resource_conflict. La identificación no cambia la revisión de la pantalla.

screen play-page#

Inicia una página de la lista de reproducción que una pantalla reproduce ahora, para comprobar esa página con una captura de pantalla.

screen play-page <id> --page-id ID
ParámetroTipoRequeridoPredeterminadoNotas
<id>stringsíningunoEl id de pantalla scr_.
--page-id IDstringsíningunoUna página de la lista de reproducción que la pantalla reproduce ahora: de 1 a 128 caracteres.
screenrig screen play-page scr_01EXAMPLESCREEN00000000 --page-id welcome
screenrig screen screenshot scr_01EXAMPLESCREEN00000000

La página empieza desde el principio en el Player de la pantalla y la rotación continúa desde ahí, así que una captura de pantalla tomada a continuación muestra esa página sin esperar a que termine la rotación. La página debe pertenecer a la lista de reproducción que la pantalla reproduce ahora: su toma de control; si no, una campaña que rige; si no, su programación; si no, su lista de reproducción asignada. Cualquier otra página responde page_not_on_screen (salida 5), y el problema nombra esa lista de reproducción. Un Player que no declara la capacidad play_page en su informe de host responde play_page_unsupported (salida 5) y no se envía nada: actualice el Player.

La respuesta lleva playlist_id, page_id, manifest_revision y expires_at. La solicitud expira a los 60 segundos y no cambia la revisión de la pantalla. Una pantalla archivada responde screen_archived y una pantalla que aún espera vincularse responde resource_conflict. Un reintento con la misma clave de idempotencia reproduce la respuesta original.

screen screenshot#

Capture una imagen fija de una pantalla activa, o de cada pantalla en una flota, y guárdela en disco.

screen screenshot <id> [--output FILE] [--timeout MS] [--poll-ms MS]
screen screenshot (<id> <id>... | --tag TAG | --folder ID) [--output DIRECTORY] [--concurrency N] [--timeout MS] [--poll-ms MS]
ParámetroTipoRequeridoPredeterminadoNotas
<id>...stringuno de <id>, --tag o --folderningunoUno o más ID de pantalla scr_.
--tag TAGstringuno de <id>, --tag o --folderningunoCada pantalla activa que lleva esta etiqueta, sin límite de cantidad de pantallas.
--folder IDstringuno de <id>, --tag o --folderningunoTodas las pantallas activas de esta carpeta de pantallas sfd_ y de las carpetas que contiene, sin límite de cantidad de pantallas.
--output FILErutano./<id>.webpPara una pantalla, una ruta de archivo; un archivo existente se sobrescribe sin aviso. Para varios ids, --tag o --folder, un directorio, creado si falta, que recibe un <screen_id>.webp por pantalla.
--concurrency Nintegerno4Capturas simultáneas para varios IDs, --tag o --folder, de 1 a 8.
--timeout MSintegerno35000Cuánto tiempo esperar para la captura.
--poll-ms MSintegerno500Intervalo entre sondeos de estado de captura.
screenrig screen screenshot scr_01EXAMPLESCREEN00000000 --output ./lobby.webp
screenrig screen screenshot --tag Lobby --output ./lobby-shots
screenrig screen screenshot --folder sfd_01EXAMPLEFOLDER000000000 --output ./north-shots

El comando se bloquea hasta que el WebP está en disco. El sobre informa screen_id, capture_id, path, bytes, sha256, width y height, y nunca bytes de imagen. Gana la última: una solicitud posterior reemplaza una captura en curso. Una captura de pantalla de la app web del Player dibuja cada página iframe como un recuadro gris oscuro con la etiqueta "Embedded web page" y cada aplicación tal como se renderiza a sí misma; la imagen no lleva ninguna marca del recuadro, así que no prueba que se haya renderizado una página iframe.

Con varios ID, --tag o --folder, la respuesta es un resultado de flota con action: "screenshot", el selector y el directorio output; cada resultado ok incluye path, bytes, sha256, width y height. Con --tag, la CLI primero lista las pantallas etiquetadas, siguiendo cada página de la lista; cada página de lista es una solicitud de agente y las capturas en sí no se cuentan, y varios ID no necesitan lista. --idempotency-key se rechaza en esta forma, porque cada captura usa su propia clave. Si una captura falla inesperadamente, el resultado de esa pantalla es unexpected_error, no empiezan capturas nuevas, las pantallas que aún esperan informan not_attempted y el código de salida es 1.

Para una sola pantalla, el sobre lleva además frame.flat, que indica si esta imagen es de un solo tono plano, y picture, el veredicto de pantalla en blanco o congelada cuando lo tiene. Una imagen plana por sí sola no es un veredicto: una transición entre páginas, o una página negra a propósito, se ve igual. Con --folder, la CLI lista la carpeta y cada carpeta que contiene, un screen list --folder por carpeta, y una pantalla que la lista muestra sin conexión se informa como fallida sin captura.

El servidor admite 10 capturas por pantalla, 30 por organización y 30 por dirección por minuto; la CLI reintenta las respuestas 429 y 5xx con espera creciente y respeta Retry-After. Una captura que no puede terminar es screenshot_unavailable (salida 5): la pantalla está sin conexión, la solicitud timed_out, la página mostrada contiene una superficie que el Player no puede capturar (unsupported_surface, como un iframe de terceros visible en el Player de navegador), falló la captura del Player (capture_failed), o la captura seguía pendiente cuando se agotó --timeout. --timeout 0 deja la espera al servidor, que hace expirar una solicitud sin respuesta tras 30 segundos. Una captura fallida lleva error.display cuando el Player ha informado de su pantalla: power, connected, reported_at y stale (tras 35 minutos). Un informe off o standby reciente sugiere reintentar cuando la pantalla esté encendida.

screen live start#

Inicia la vista en vivo de una pantalla, o la renueva, e imprime la página del dashboard que la muestra.

screen live start <id> [--duration DURATION] [--wait DURATION]
ParámetroTipoRequeridoPredeterminadoNotas
<id>stringsíningunoEl id de pantalla scr_.
--duration DURATIONstringno5mCuánto dura la sesión si no se renueva: de 30s a 5m, como 90s o 5m. Una sesión termina como máximo cinco minutos después de empezar.
--wait DURATIONstringno30sCuánto esperar a que el Player empiece a publicar: de 1s a 10m, o 0 para volver de inmediato.
screenrig screen live start scr_01EXAMPLESCREEN00000000
screenrig screen live start scr_01EXAMPLESCREEN00000000 --duration 2m --wait 60s

La vista en vivo muestra en el dashboard, como video, lo que reproduce una pantalla; la CLI inicia, lee y detiene la sesión y nunca transporta el video. data es la sesión con viewer_url, la página que se abre. Iniciar una pantalla que ya tiene una sesión la renueva: el tiempo concedido pasa a ser el posterior entre su final actual y --duration a partir de ahora, sin pasar nunca de cinco minutos después de que empezó la sesión. Después la sesión termina por sí sola: nada la renueva ni la reinicia, y la siguiente sesión necesita un nuevo screen live start. Termina antes cuando vence el tiempo concedido, con screen live stop, o cuando el Player la termina.

El comando pide al Player que publique y lee la sesión cada segundo durante --wait hasta que el Player informa que está conectado. Si el Player no se ha conectado cuando termina la espera, la respuesta sigue siendo ok con la advertencia live_not_ready: vuelva a leer screen live status, o abra viewer_url. Una sesión que terminó durante la espera es live_unavailable (salida 5) y su detalle nombra ended_reason, como consent_timeout (en Android, una persona frente a la pantalla permite la captura de pantalla una vez cada vez que el Player se inicia). Una pantalla sin conexión también es live_unavailable, y una archivada responde screen_archived. Un Player que no declara la capacidad live_view responde live_unsupported (salida 5) y no se envía nada: actualice el Player. Un servidor sin relé de medios responde feature_unavailable: use screen screenshot. La vista en vivo es gratuita. Vea Vista en vivo.

screen live status#

Lee la sesión de vista en vivo de una pantalla.

screen live status <id>
ParámetroTipoRequeridoPredeterminadoNotas
<id>stringsíningunoEl id de pantalla scr_.
screenrig screen live status scr_01EXAMPLESCREEN00000000

state es idle (sin sesión), requested (se pidió al Player), publishing (el relé tiene su video) o ended, con ended_reason durante diez minutos. publisher.connected es el informe del propio Player, de hasta 45 segundos de antigüedad, y no prueba que haya imagen. data incluye viewer_url.

screen live stop#

Termina la sesión de vista en vivo de una pantalla.

screen live stop <id>
ParámetroTipoRequeridoPredeterminadoNotas
<id>stringsíningunoEl id de pantalla scr_.
screenrig screen live stop scr_01EXAMPLESCREEN00000000

Termina la sesión e indica al Player que deje de publicar, y luego imprime la sesión tal como queda: ended con ended_reason stopped. Tiene éxito cuando no hay sesión. Una sesión también termina por sí sola cuando vence su tiempo concedido.

screen live frame#

Guarda fotogramas JPEG de lo que reproduce una pantalla, desde su transmisión en vivo, para comprobar la reproducción y el movimiento.

screen live frame <id> [--output PATH] [--count N] [--interval DURATION] [--duration DURATION] [--wait DURATION] [--stop]
ParámetroTipoRequeridoPredeterminadoNotas
<id>stringsíningunoEl id de pantalla scr_.
--output PATHrutanoel directorio de trabajoUn archivo para un solo fotograma, o un directorio que recibe frame-<captured_at>.jpg por cada fotograma, con los dos puntos de la hora escritos como guiones. --count mayor que 1 requiere un directorio.
--count Nintegerno1Cuántos fotogramas nuevos guardar.
--interval DURATIONstringno1sPausa entre fotogramas: de 1s a 5m, o 0 para tomar cada fotograma en cuanto llega.
--duration DURATIONstringno2mTiempo concedido de la sesión en vivo que inicia este comando: de 30s a 5m. Se alarga para cubrir los fotogramas más 30 segundos, y se rechaza una ejecución que necesite más de cinco minutos.
--wait DURATIONstringno30sCuánto esperar a que el Player empiece a publicar, y a cada fotograma: de 1s a 10m, o 0 para intentarlo una sola vez.
--stopbooleannoapagadoTermina la sesión en vivo al finalizar, también cuando falló un fotograma.
screenrig screen live frame scr_01EXAMPLESCREEN00000000
screenrig screen live frame scr_01EXAMPLESCREEN00000000 --output now.jpg --stop
screenrig screen live frame scr_01EXAMPLESCREEN00000000 --output frames/ --count 5 --interval 1s

El comando inicia la sesión en vivo, espera a que el Player publique, pide fotogramas al relé de medios y lee cada fotograma nuevo una vez. Un fotograma es el video tal como lo envió el codificador del Player, escalado a un máximo de 1280x720 y con pérdida, aproximadamente uno por segundo: muestra el movimiento y lo que hay en pantalla ahora, así que compare fotogramas (--count 5 --interval 1s) para comprobar que el contenido se mueve. No es una captura de pantalla, que sigue siendo la prueba del diseño. Los fotogramas son gratuitos.

data es {screen_id, live_id, frames}, con path, captured_at, width, height, bytes y sha256 por fotograma, y stopped true cuando --stop terminó la sesión. Sin --stop la sesión queda sujeta a su tiempo concedido. Un Player que no publica dentro de --wait, o que no envía ningún fotograma nuevo dentro de ese plazo, es live_not_ready (salida 5); en Android, una persona frente a la pantalla permite la captura de pantalla una vez cada vez que el Player se inicia. Una sesión que terminó, o cuyos fotogramas dejaron de llegar, es live_unavailable (salida 5). Un Player sin la capacidad live_view responde live_unsupported, y un servidor sin relé de medios o sin fotogramas responde feature_unavailable (salida 4): use screen screenshot.

screen tag#

Establecer, agregar, eliminar o borrar las etiquetas en una pantalla o una flota.

screen tag (<id>... | --tag TAG | --folder ID) (--set TAGS | --add TAGS | --remove TAGS | --clear) [--expect-rev REVISION]
ParámetroTipoRequeridoPredeterminadoNotas
<id>...stringuno de <id>, --tag o --folderningunoUno o más ID de pantalla scr_. Varios IDs se ejecutan como una solicitud de flota.
--tag TAGstringuno de <id>, --tag o --folderningunoCada pantalla activa que lleva esta etiqueta.
--folder IDstringuno de <id>, --tag o --folderningunoToda pantalla activa de esta carpeta de pantallas sfd_ y de las carpetas que contiene.
--set TAGSstringexactamente una acciónningunoReemplazar todo el conjunto con estas etiquetas separadas por comas, como Lobby,Floor2.
--add TAGSstringexactamente una acciónningunoAgregue estas etiquetas separadas por comas.
--remove TAGSstringexactamente una acciónningunoEliminar estas etiquetas separadas por comas.
--clearbooleanexactamente una acciónapagadoEliminar todas las etiquetas.
--expect-rev REVISIONstringnoningunoSolo un ID de pantalla. Condición de revisión opcional.
screenrig screen tag scr_01EXAMPLESCREEN00000000 --set Lobby,Floor2
screenrig screen tag scr_01EXAMPLESCREEN00000000 --add Spring
screenrig screen tag --tag Lobby --add Spring
screenrig screen tag --folder sfd_01EXAMPLEFOLDER000000000 --add Spring

Una etiqueta tiene de 1 a 32 letras o dígitos, y una pantalla lleva como máximo 16 etiquetas únicas. Las etiquetas seleccionan flotas; nunca son autorización ni llegan al Player. Cambiar etiquetas aumenta la revisión de la pantalla, no la revisión del manifiesto. Para una pantalla, el sobre es la pantalla actualizada. --add y --remove leen primero la pantalla y escriben el nuevo conjunto protegido por --expect-rev o la revisión recién leída, por lo que un cambio concurrente devuelve revision_conflict (salida 6) en lugar de sobrescribirse; vuelva a ejecutar el comando. En una flota, --add y --remove se aplican atómicamente contra el conjunto almacenado de cada pantalla, y una pantalla que pasaría de 16 etiquetas falla en su propio resultado con invalid_request.

Dondequiera que cambien las etiquetas (screen tag, una actualización de pantalla mediante la API, el editor de etiquetas del panel), el levels de la respuesta lista, en gained y lost, las campañas a cuya audiencia de etiquetas la pantalla entró o de la que salió, cada una con su source (campaign), id, el recuento de screens y, cuando la campaña tiene alcance, reach_before y reach_after. Un screen tag de flota los suma sobre toda la flota. Lea levels.lost antes de considerar inofensiva una edición de etiquetas: quitar la última etiqueta coincidente de las pantallas de una campaña vacía ese grupo y activa las notificaciones reach_dropped y group_empty.

screen move#

Mueve pantallas y carpetas de pantallas a una carpeta de pantallas, o de vuelta a la raíz del proyecto.

screen move <id>... (--folder ID | --root) [--note TEXT]
ParámetroTipoRequeridoPredeterminadoNotas
<id>...stringsíningunoids de pantalla scr_ e ids de carpeta de pantallas sfd_ en cualquier combinación, cada uno una sola vez, como máximo 1000 en total.
--folder IDstringuno de --folder o --rootningunoLa carpeta de pantallas de destino sfd_.
--rootbooleanuno de --folder o --rootapagadoMueve a la raíz del proyecto, fuera de toda carpeta.
--note TEXTstringnoningunoUna nota para la persona que revisa el cambio: texto plano, máximo 280 caracteres. Se ignora cuando el cambio se aplica de inmediato.
screenrig screen move scr_01EXAMPLESCREEN00000000 --folder sfd_01EXAMPLEFOLDER000000000
screenrig screen move sfd_01EXAMPLEFOLDER000000000 --root

El movimiento es una sola solicitud de todo o nada. Una carpeta se mueve con todo su contenido y no puede moverse dentro de sí misma ni de una carpeta que contiene; las carpetas se anidan como máximo 10 niveles. Los elementos que ya están en el destino se quedan como están y no se cuentan. data.screens y data.folders cuentan lo que se movió. data.levels lista, bajo gained y lost, las campañas en cuya audiencia de carpeta entraron o de la que salieron las pantallas movidas (source campaign, con reach_before y reach_after) y las listas de reproducción predeterminadas de carpeta que empezaron o dejaron de mostrar (source folder). Las pantallas vuelven a resolver su lista de reproducción en unos 15 segundos; screen show informa effective_playlist, y campaign explain SCREEN_ID explica por qué.

Un llamador limitado a carpetas de pantallas mueve solo pantallas y carpetas dentro de su alcance hacia una carpeta que también esté dentro de él; cualquier otra cosa, incluida la raíz del proyecto, rechaza todo el movimiento con outside_screen_scope (salida 3). Un movimiento hacia una carpeta protegida o desde ella responde pending_review con una revisión protected_change que decide un segundo aprobador, así que no repita la escritura; --note indica al aprobador el motivo. Tras una solicitud interrumpida, vuelva a ejecutar el mismo comando para reutilizar la clave de idempotencia guardada.

screen folder list#

Lista las carpetas de pantallas del proyecto como un árbol, con las pantallas activas que contiene directamente cada una y su lista de reproducción predeterminada.

screen folder list
screenrig screen folder list

Devuelve todas las carpetas de pantallas del proyecto, como máximo 1000, ordenadas por nombre. data.items lleva, de cada carpeta, id, name, parent_id (null en la raíz del proyecto), default_playlist_id cuando está definido, protected cuando está definido, screens (las pantallas activas directamente dentro, no las de las carpetas inferiores) y revision. Con --human, la salida es el árbol, una fila por carpeta con su ruta. La carpeta de una pantalla es folder_id en screen list y screen show, ausente en la raíz del proyecto. Basta con acceso de solo lectura.

screen folder show#

Inspecciona una carpeta de pantallas.

screen folder show <id>
ParámetroTipoRequeridoPredeterminadoNotas
<id>stringsíningunoEl id de la carpeta de pantallas sfd_.
screenrig screen folder show sfd_01EXAMPLEFOLDER000000000

Devuelve una carpeta con los campos que devuelve screen folder list. Basta con acceso de solo lectura.

screen folder create#

Crea una carpeta de pantallas en la raíz del proyecto o dentro de otra carpeta.

screen folder create --name NAME [--parent ID] [--default-playlist-id ID] [--note TEXT]
ParámetroTipoRequeridoPredeterminadoNotas
--name NAMEstringsíningunoNombre de la carpeta, recortado: de 1 a 100 caracteres, sin caracteres de control, que no sea . ni .. y único entre sus hermanas (resource_conflict, salida 5).
--parent IDstringnoraíz del proyectoLo crea dentro de esta carpeta de pantallas sfd_.
--default-playlist-id IDstringnoningunoLa lista de reproducción aprobada pl_ que muestran sus pantallas cuando no tienen una propia, salvo que una carpeta más cercana a la pantalla defina una (playlist_not_approved, salida 5).
--note TEXTstringnoningunoUna nota para la persona que revisa el cambio: texto plano, máximo 280 caracteres. Se ignora cuando el cambio se aplica de inmediato.
screenrig screen folder create --name "North Tower"
screenrig screen folder create --name "Level 2" --parent sfd_01EXAMPLEFOLDER000000000 --default-playlist-id pl_01EXAMPLEPLAYLIST000000

Una organización admite como máximo 1000 carpetas en todos sus proyectos (quota_exceeded), con un anidamiento máximo de 10 niveles (invalid_request). Coloque pantallas en ellas con screen move. Entonces una carpeta apunta a sus pantallas en los comandos de flota y como audiencia de campaña: vea Carpetas de pantallas.

Un llamador limitado a carpetas de pantallas crea carpetas solo dentro de su alcance: --parent debe ser una carpeta de su alcance (outside_screen_scope, salida 3). Una carpeta creada dentro de una carpeta protegida responde pending_review con una revisión protected_change que decide un aprobador distinto de usted y de la persona para quien trabaja, así que no repita la escritura; --note indica al aprobador el motivo. Tras una solicitud interrumpida, vuelva a ejecutar el mismo comando para reutilizar la clave de idempotencia guardada.

screen folder update#

Cambia el nombre de una carpeta de pantallas, la mueve con todo su contenido, o define o borra su lista de reproducción predeterminada.

screen folder update <id> [--name NAME] [--parent ID | --root] [--default-playlist-id ID | --clear-default] [--expect-rev REVISION] [--note TEXT]
screen folder update <id> --unprotect [--expect-rev REVISION] [--note TEXT]
ParámetroTipoRequeridoPredeterminadoNotas
<id>stringsíningunoEl id de la carpeta de pantallas sfd_.
--name NAMEstringnosin cambiosNuevo nombre de la carpeta, con las reglas de screen folder create.
--parent IDstringnosin cambiosLo mueve, con todo su contenido, dentro de esta carpeta de pantallas sfd_. No con --root.
--rootbooleannoapagadoLo mueve a la raíz del proyecto. No con --parent.
--default-playlist-id IDstringnosin cambiosLa lista de reproducción aprobada pl_ que muestran sus pantallas cuando no tienen una propia. No con --clear-default.
--clear-defaultbooleannoapagadoQuita su lista de reproducción predeterminada. No con --default-playlist-id.
--unprotectbooleannoapagadoPropone quitar la protección de la carpeta. Se envía sola, sin ninguna de las opciones anteriores, y un segundo aprobador decide la revisión.
--expect-rev REVISIONstringnoningunoPrecondición opcional de revisión. Omitir para escribir el recurso actual. Un valor obsoleto suministrado es revision_conflict: volver a obtener, reaplicar, reintentar.
--note TEXTstringnoningunoUna nota para la persona que revisa el cambio: texto plano, máximo 280 caracteres. Se ignora cuando el cambio se aplica de inmediato.

Indique al menos uno de --name, --parent, --root, --default-playlist-id, --clear-default o --unprotect.

screenrig screen folder update sfd_01EXAMPLEFOLDER000000000 --name "Northern"
screenrig screen folder update sfd_01EXAMPLEFOLDER000000000 --root
screenrig screen folder update sfd_01EXAMPLEFOLDER000000000 --default-playlist-id pl_01EXAMPLEPLAYLIST000000 --expect-rev 3
screenrig screen folder update sfd_01EXAMPLEFOLDER000000000 --clear-default
screenrig screen folder update sfd_01EXAMPLEFOLDER000000000 --unprotect --note "Menu boards move next week"

Una carpeta no puede moverse dentro de sí misma ni de una carpeta que contiene, y los mismos valores no tienen efecto. Un movimiento o un cambio de la lista predeterminada vuelve a resolver las pantallas de su interior en unos 15 segundos, y data.levels lista las campañas en cuya audiencia de carpeta entraron o de la que salieron esas pantallas (source campaign) y las listas de reproducción predeterminadas de carpeta que ganaron o perdieron (source folder).

Un cambio de nombre se aplica de inmediato en una carpeta protegida. Un movimiento, o una lista de reproducción predeterminada, de una carpeta que es una carpeta protegida o que contiene una responde pending_review con una revisión protected_change que decide un segundo aprobador (un aprobador distinto de usted y de la persona para quien trabaja; de lo contrario, second_approver_required, salida 3). Hasta entonces no cambia nada, así que no repita la escritura; --note indica al aprobador el motivo. Una persona que puede aprobar protege una carpeta en el dashboard; la CLI solo propone quitar la protección con --unprotect. Vea Carpetas protegidas. Un llamador limitado a carpetas de pantallas cambia solo carpetas dentro de su alcance y las mueve solo a un padre que esté dentro de él (outside_screen_scope, salida 3), y nunca la protección de una carpeta que su alcance nombra.

screen folder delete#

Elimina una carpeta de pantallas; sus pantallas y carpetas suben un nivel.

screen folder delete <id> [--expect-rev REVISION] [--note TEXT]
ParámetroTipoRequeridoPredeterminadoNotas
<id>stringsíningunoEl id de la carpeta de pantallas sfd_.
--expect-rev REVISIONstringnoningunoPrecondición opcional de revisión. Omitir para escribir el recurso actual. Un valor obsoleto suministrado es revision_conflict: volver a obtener, reaplicar, reintentar.
--note TEXTstringnoningunoUna nota para la persona que revisa el cambio: texto plano, máximo 280 caracteres. Se ignora cuando el cambio se aplica de inmediato.
screenrig screen folder delete sfd_01EXAMPLEFOLDER000000000
screenrig screen folder delete sfd_01EXAMPLEFOLDER000000000 --expect-rev 3

Elimina solo la carpeta: sus pantallas y carpetas suben a su carpeta padre (la raíz del proyecto cuando no tiene) y esas pantallas vuelven a resolver su lista de reproducción. data es id, deleted true y levels, las campañas y las listas de reproducción predeterminadas de carpeta que las pantallas movidas ganaron o perdieron, con reach_before y reach_after de una campaña. Una audiencia de campaña que nombra la carpeta rechaza la eliminación con resource_conflict (salida 5): cambie o elimine primero esas campañas.

Un llamador limitado a carpetas de pantallas elimina solo carpetas dentro de su alcance, nunca una carpeta que su alcance nombra (outside_screen_scope, salida 3). Una carpeta que es una carpeta protegida o que contiene una responde pending_review con una revisión protected_change que decide un segundo aprobador, así que no repita la escritura; --note indica al aprobador el motivo.

Resultados de flota

Con varios ID de pantalla o --tag, screen assign, screen reload, screen toast y screen tag ejecutan una acción sin límite de pantallas. La CLI sigue automáticamente las páginas de resultados acotadas, espera cuando se agotan los presupuestos de control y conserva la misma clave y la misma flota seleccionada durante todo el proceso. --tag selecciona solo pantallas activas; los ID pueden nombrar cualquier pantalla. Un solo ID de pantalla mantiene la respuesta de una pantalla. Los comandos de flota no aceptan --expect-rev, porque las comprobaciones de revisión son por pantalla. Cada comando de flota lleva una clave de idempotencia. Tras una solicitud interrumpida, como una conexión perdida, vuelva a ejecutar el mismo comando para repetir las pantallas terminadas sin repetir sus efectos. Tras una respuesta definitiva con fallos, reintente solo los ID fallidos: volver a ejecutar todo el comando actúa otra vez sobre cada pantalla. Reutilizar la misma --idempotency-key explícita durante 24 horas devuelve en su lugar la respuesta registrada.

Un comando de flota acepta ids de pantalla, --tag TAG o --folder ID; indicar más de uno de ellos es un error de uso (salida 2).

El sobre mantiene ok: true. El éxito parcial es una respuesta normal, no un error de transporte:

{
  "ok": true,
  "data": {
    "action": "reload",
    "matched": 3, "succeeded": 2, "failed": 1,
    "results": [
      { "screen_id": "scr_LOBBY", "status": "ok", "reload": { "reload_id": "…", "expires_at": "…", "state": "sent" } },
      { "screen_id": "scr_GONE", "status": "failed", "problem": { "code": "not_found", "status": 404 } },
      { "screen_id": "scr_ENTRANCE", "status": "ok", "reload": { "reload_id": "…", "expires_at": "…", "state": "queued" } }
    ]
  },
  "warnings": [{ "code": "fleet_partial_failure", "message": "1 of 3 screens failed; 2 succeeded." }]
}

Un resultado ok lleva el resultado de una sola pantalla: revision para assign, revision y tags para cambios de etiqueta, reload para recarga y toast para notificación. Un resultado failed lleva el problema que la propia solicitud de esa pantalla habría devuelto. Los límites por pantalla aún se aplican dentro de una acción de flota, por lo que una recarga o notificación de flota puede informar rate_limited para una pantalla que acaba de recargarse o notificarse; reintente ese id de pantalla más tarde. Los límites por pantalla son 6 recargas y 20 notificaciones por minuto. Las recargas y notificaciones de flota también consumen un presupuesto de organización de 600 pantallas por minuto: el servidor se pausa cuando se agota el presupuesto restante, y la CLI respeta Retry-After antes de continuar automáticamente.

ResultadoCódigo de salidaAdvertencia
Cada pantalla emparejada tuvo éxito0ninguno
Algunas o todas las pantallas fallaronEl código de la primera pantalla fallida, como 4 para not_found o 6 para revision_conflictfleet_partial_failure
Ninguna pantalla coincide0fleet_no_match
Selector o acción malformada2 o el código propio de la solicitud; sin cambios en la pantallaninguno

Carpetas de pantallas

Una carpeta de pantallas organiza las pantallas por lugar. El id de una carpeta empieza por sfd_, y una pantalla está como máximo en una carpeta, indicada como folder_id en screen show y screen list y ausente en la raíz del proyecto. Una organización contiene como máximo 1000 carpetas en todos sus proyectos, anidadas hasta 10 niveles de profundidad, con nombres de 1 a 100 caracteres únicos entre las carpetas del mismo nivel. Las etiquetas siguen sirviendo para los grupos que atraviesan los lugares.

screen folder list
screen folder show <id>
screen folder create --name NAME [--parent ID] [--default-playlist-id ID] [--note TEXT]
screen folder update <id> [--name NAME] [--parent ID | --root] [--default-playlist-id ID | --clear-default] [--unprotect] [--expect-rev REVISION] [--note TEXT]
screen folder delete <id> [--expect-rev REVISION] [--note TEXT]
screen move <id>... (--folder ID | --root) [--note TEXT]
screenrig screen folder create --name "North Tower"
screenrig screen folder create --name "Level 2" --parent sfd_01EXAMPLEFOLDER000000000 --default-playlist-id pl_01EXAMPLEPLAYLIST000000
screenrig screen move scr_01EXAMPLESCREEN00000000 --folder sfd_01EXAMPLEFOLDER000000000

screen folder list devuelve todas las carpetas en data.items con id, name, parent_id (null en la raíz del proyecto), default_playlist_id cuando está definido, screens (las pantallas activas directamente dentro) y revision. screen move acepta ids de pantallas y de carpetas en cualquier combinación, como máximo 1000 en una sola solicitud de todo o nada; una carpeta se mueve con todo su contenido y no puede moverse dentro de sí misma ni de una carpeta que contiene. screen list --folder ID lista solo las pantallas directamente dentro de una carpeta.

En cada comando de flota que acepte --tag TAG, --folder ID selecciona cada pantalla activa de esa carpeta y de cada carpeta que contiene. Una campaña acepta lo mismo: --folder ID en campaign create y campaign update, o una regla {"folder":"sfd_…"} en --audience, que se combina con reglas de etiqueta como en {"all":[{"folder":"sfd_BUILDING"},{"tag":"overhead"}]}.

La lista de reproducción predeterminada de una carpeta es lo que muestran sus pantallas cuando no tienen una lista de reproducción propia. Gana la carpeta más cercana por encima de una pantalla que defina una, y effective_playlist informa source folder con el id de la carpeta como entry_id. Una toma de control, una campaña, una programación y la lista de reproducción asignada a la propia pantalla tienen prioridad sobre ella; vea Programaciones y toma de control. La lista de reproducción debe estar aprobada (playlist_not_approved, salida 5).

Mover pantallas o una carpeta, o cambiar la lista de reproducción predeterminada de una carpeta, vuelve a resolver las pantallas afectadas en unos 15 segundos. El levels de la respuesta lista, en gained y lost, las campañas a cuya audiencia de carpeta esas pantallas entraron o de la que salieron y las listas de reproducción predeterminadas de carpeta que empezaron o dejaron de mostrar, cada una con su source (campaign o folder), su id y su recuento de screens. Eliminar una carpeta no elimina nada de lo que contiene: sus pantallas y carpetas suben a su carpeta superior, y resource_conflict (salida 5) rechaza la eliminación mientras una audiencia de campaña nombre la carpeta. La eliminación responde 200 con levels, igual que un movimiento.

Las escrituras requieren acceso de administración: una sesión con acceso Proponer responde 403 insufficient_access. Un cambio que alcanza una carpeta protegida espera a un segundo aprobador y responde pending_review, y --note TEXT indica al aprobador el motivo. Cada escritura agrega screen.folder_created, screen.folder_updated, screen.folder_deleted o screen.moved a los eventos del proyecto.

Otros grupos de comandos