Sincronización de medios
Una sincronización de medios mantiene una carpeta de medios al día con una carpeta de SharePoint, OneDrive para el trabajo, Dropbox o Google Drive. Cada ejecución importa las imágenes (png, jpeg, webp, gif), los videos (mp4, webm) y el audio (mp3) que estén directamente dentro de la carpeta de origen; las subcarpetas se ignoran. Un archivo modificado reemplaza sus bytes bajo el mismo ID de medios, de modo que se actualiza toda lista de reproducción que lo reproduce, y un archivo eliminado o movido fuera en el origen deja de reproducirse: su medio se elimina o, mientras una pantalla aún lo muestra, se mueve a una subcarpeta Removed y se elimina cuando nada lo retiene. Los demás archivos se listan como omitidos con el motivo: muestre un archivo de Office o un PDF con un enlace de documento en una lista de reproducción, y exporte los MOV y similares como MP4 H.264. Una lista de reproducción reproduce la carpeta con un selector by:folder.
Toda sincronización lee a través de una cuenta del proyecto. Un ID de cuenta empieza por msa_ y un ID de sincronización por msy_. media sync account add microsoft365 guarda su propia aplicación de Microsoft Entra, o nombra una conexión de Microsoft del proyecto; media sync account add dropbox imprime un enlace de un solo uso para la persona propietaria de la cuenta de Dropbox; media sync account add google-drive lee las carpetas compartidas con la dirección de una cuenta de servicio, la de screenRIG o la suya propia. Pruebe la cuenta y cree después una sincronización a partir de la dirección de una carpeta: debe ejecutarse de inmediato.
Indique un secreto de cliente con --secret-file FILE y una clave de Google Drive con --key-file FILE, o - para stdin, nunca como argumento. Los secretos se sellan en el servidor y solo se devuelven como data.secret {set, hint}. Leer requiere acceso Read, y cualquier cambio requiere acceso Manage.
media sync account add microsoft365#
Agrega su propia aplicación de Microsoft Entra, o una conexión de Microsoft del proyecto, para que una sincronización pueda leer una carpeta de SharePoint o de OneDrive para el trabajo.
media sync account add microsoft365 --name NAME
(--tenant-id TENANT --client-id ID --secret-file FILE | --connection-id ID)| Parámetro | Tipo | Requerido | Predeterminado | Notas |
|---|---|---|---|---|
--name NAME | string | sí | ninguno | De 1 a 80 caracteres. |
--tenant-id TENANT | string | sin --connection-id | ninguno | El ID de directorio (tenant) de su organización, o su dominio principal, como contoso.onmicrosoft.com; nunca common, organizations ni consumers. Junto con --client-id y --secret-file. |
--client-id ID | string | sin --connection-id | ninguno | El ID de aplicación (cliente) del registro de la aplicación, un GUID. |
--secret-file FILE | string | sin --connection-id | ninguno | Lee el valor del secreto de cliente desde este archivo, o - para stdin (nunca un argumento); el archivo contiene solo el valor. |
--connection-id ID | string | sin --tenant-id | ninguno | Inicia sesión mediante una conexión de Microsoft (pcn_…) del proyecto, en cualquiera de los dos modos, en lugar de --tenant-id, --client-id y --secret-file. No con ellas. |
screenrig media sync account add microsoft365 --name Contoso --tenant-id contoso.onmicrosoft.com --client-id 0b1d2f3a-4c5e-4f60-8a7b-9c0d1e2f3a4b --secret-file secret.txt
screenrig media sync account add microsoft365 --name Contoso --connection-id pcn_01EXAMPLECONNECTION0000En el centro de administración de Microsoft Entra, registre una aplicación de un solo tenant sin URI de redirección, agregue un secreto de cliente (copie su valor, no su ID de secreto), agregue el permiso de aplicación de Microsoft Graph Sites.Selected (y luego conceda a la aplicación acceso de lectura a cada sitio) o Files.Read.All, y conceda el consentimiento del administrador. La aplicación pertenece a este proyecto. Ejecute media sync account test a continuación.
media sync account add dropbox#
Agrega una cuenta de Dropbox e imprime el enlace de un solo uso que su propietario abre, con la sesión iniciada en Dropbox, para conectarla.
media sync account add dropbox --name NAME [--app-key KEY]| Parámetro | Tipo | Requerido | Predeterminado | Notas |
|---|---|---|---|---|
--name NAME | string | sí | ninguno | De 1 a 80 caracteres. |
--app-key KEY | string | no | la aplicación de Dropbox de screenRIG | La clave de su propia aplicación de Dropbox: de 1 a 64 letras y dígitos, nunca su secreto de aplicación. |
screenrig media sync account add dropbox --name "Marketing Dropbox"
screenrig media sync account add dropbox --name "Marketing Dropbox" --app-key YOURAPPKEYdata.authorize_url es el enlace y data.authorize_expires_at su caducidad. La CLI nunca abre un navegador: envíe el enlace a la persona propietaria de la cuenta de Dropbox, que permite el acceso de solo lectura (files.metadata.read, files.content.read, account_info.read, sharing.read). Ejecute media sync account show hasta que data.state sea ready (empieza como pending_consent) y después media sync create dropbox. Su propia aplicación de Dropbox necesita esos permisos habilitados y el URI de redirección que muestra la salida.
media sync account add google-drive#
Agrega una cuenta de Google Drive, lista de inmediato, e imprime la dirección de la cuenta de servicio con la que se comparten las carpetas.
media sync account add google-drive --name NAME [--key-file FILE]| Parámetro | Tipo | Requerido | Predeterminado | Notas |
|---|---|---|---|---|
--name NAME | string | sí | ninguno | De 1 a 80 caracteres. |
--key-file FILE | string | no | la cuenta de servicio de screenRIG | Lee la clave JSON de su propia cuenta de servicio de Google Cloud desde este archivo, o - para stdin (nunca un argumento). |
screenrig media sync account add google-drive --name "Marketing Drive"
screenrig media sync account add google-drive --name "Marketing Drive" --key-file key.jsondata.config.service_account_email es la dirección con la que compartir cada carpeta; basta con el rol Lector. Con la cuenta de servicio de screenRIG, una carpeta se sincroniza solo cuando un miembro de este proyecto con un correo electrónico verificado la compartió o es su propietario (de lo contrario, media_sync_sharer_not_member). Con su propia clave, se sincroniza cualquier carpeta compartida con la cuenta de servicio.
media sync account list#
Lista las cuentas de sincronización de medios de este proyecto con su tipo, estado y última prueba; no se devuelve ningún secreto.
media sync account listSin parámetros.
screenrig media sync account listmedia sync account show#
Inspecciona una cuenta: su tenant y su ID de cliente, el estado, el secreto enmascarado y la última prueba.
media sync account show <id>| Parámetro | Tipo | Requerido | Predeterminado | Notas |
|---|---|---|---|---|
<id> | string | sí | ninguno | La cuenta (msa_…). |
screenrig media sync account show msa_01EXAMPLEACCOUNT0000000Una cuenta de Dropbox muestra además quién la conectó y su app_key; una cuenta de Google Drive muestra su service_account_email.
media sync account update#
Cambia el nombre de una cuenta, el tenant, el ID de aplicación o el secreto de cliente de una aplicación de Microsoft, o sustituye la clave propia de una cuenta de Google Drive.
media sync account update <id> [--name NAME] [--tenant-id TENANT] [--client-id ID]
[--secret-file FILE | --key-file FILE] [--expect-rev REVISION]| Parámetro | Tipo | Requerido | Predeterminado | Notas |
|---|---|---|---|---|
<id> | string | sí | ninguno | La cuenta (msa_…). |
--name NAME | string | no | sin cambios | Cambia el nombre de la cuenta. |
--tenant-id TENANT | string | no | sin cambios | El ID de directorio o el dominio principal del tenant. |
--client-id ID | string | no | sin cambios | El ID de aplicación (cliente) del registro de la aplicación. |
--secret-file FILE | string | no | sin cambios | Lee el valor del nuevo secreto de cliente desde este archivo, o - para stdin; sustituye el secreto almacenado. Un secreto omitido se conserva. |
--key-file FILE | string | no | sin cambios | Lee la clave JSON propia de una cuenta de Google Drive desde este archivo, o - para stdin; debe pertenecer a la misma cuenta de servicio. No con --secret-file. |
--expect-rev REVISION | integer | no | ninguno | Rechaza el cambio salvo que la cuenta esté en esta revisión (revision_conflict, salida 6). |
screenrig media sync account update msa_01EXAMPLEACCOUNT0000000 --secret-file new-secret.txt
screenrig media sync account update msa_01EXAMPLEACCOUNT0000000 --name "Contoso tenant" --expect-rev 2Se requiere al menos un cambio. Un cambio de credenciales borra last_test: pruebe la cuenta de nuevo. Los secretos de cliente de Entra caducan, así que reemplace aquí el secreto antes de que caduque.
media sync account connect#
Genera un nuevo enlace de un solo uso para conectar, o reconectar, una cuenta de Dropbox.
media sync account connect <id>| Parámetro | Tipo | Requerido | Predeterminado | Notas |
|---|---|---|---|---|
<id> | string | sí | ninguno | La cuenta (msa_…). |
screenrig media sync account connect msa_01EXAMPLEACCOUNT0000000data.authorize_url y data.authorize_expires_at llevan el enlace, que sustituye al anterior. Envíelo a la persona propietaria de la cuenta de Dropbox. Úselo cuando la persona no haya terminado o la cuenta esté en reconnect_required (Dropbox ya no acepta la conexión). Una cuenta conectada sigue conectada hasta que se completa el nuevo consentimiento, y otra cuenta de Dropbox que inicie sesión se queda con la conexión.
media sync account test#
Comprueba una cuenta: el inicio de sesión y los permisos de Graph de una aplicación de Microsoft, o la conexión o la clave de una cuenta de Dropbox o de Google Drive.
media sync account test <id>| Parámetro | Tipo | Requerido | Predeterminado | Notas |
|---|---|---|---|---|
<id> | string | sí | ninguno | La cuenta (msa_…). |
screenrig media sync account test msa_01EXAMPLEACCOUNT0000000La respuesta se guarda como last_test. Para una aplicación de Microsoft informa de credentials (Microsoft emitió un token; un rechazo lleva su código AADSTS, como AADSTS7000215 cuando el secreto es el ID en lugar del valor) y permissions (los permisos de aplicación de Graph que lleva el token). Sites.Selected por sí solo es una advertencia: cada sitio sigue necesitando su concesión, y un enlace para compartir necesita Files.Read.All. La prueba no juzga la concesión de un sitio ni una carpeta: media sync create lee la carpeta que usted indica. Una comprobación fallida es data.ok false con salida 0.
media sync account delete#
Elimina una cuenta que ninguna sincronización usa.
media sync account delete <id> [--expect-rev REVISION]| Parámetro | Tipo | Requerido | Predeterminado | Notas |
|---|---|---|---|---|
<id> | string | sí | ninguno | La cuenta (msa_…). |
--expect-rev REVISION | integer | no | ninguno | Rechaza la eliminación salvo que la cuenta esté en esta revisión (revision_conflict, salida 6). |
screenrig media sync account delete msa_01EXAMPLEACCOUNT0000000Mientras haya sincronizaciones que usen la cuenta, la respuesta es resource_conflict (salida 5), que las nombra: elimínelas primero.
media sync create dropbox#
Sincroniza una carpeta de Dropbox en una carpeta de medios.
media sync create dropbox --account-id ID --url URL|PATH [--folder-id ID] [--every DURATION] [--name NAME]| Parámetro | Tipo | Requerido | Predeterminado | Notas |
|---|---|---|---|---|
--account-id ID | string | sí | ninguno | La cuenta de Dropbox conectada por la que leer (msa_…). |
--url URL | string | sí | ninguno | La dirección de la carpeta en Dropbox (https://www.dropbox.com/home/...), un enlace de carpeta compartida que la cuenta ha añadido a su Dropbox, o una ruta que empieza por /. Una carpeta de espacio de equipo se lee desde la raíz del equipo. |
--folder-id ID | string | no | una carpeta de medios nueva con el nombre de la carpeta de origen | La carpeta de medios (mfd_…) en la que se colocan los archivos. |
--every DURATION | string | no | 15m | Con qué frecuencia buscar cambios, de 5 minutos a 24 horas: 15m, 1h, 6h o simplemente segundos (de 300 a 86400). |
--name NAME | string | no | el nombre de la carpeta de origen | De 1 a 80 caracteres. |
screenrig media sync create dropbox --account-id msa_01EXAMPLEACCOUNT0000000 --url https://www.dropbox.com/home/Marketing/Lobby%20Signs
screenrig media sync create dropbox --account-id msa_01EXAMPLEACCOUNT0000000 --url /Marketing/Lobby --folder-id mfd_01EXAMPLEFOLDER000000000 --every 1h --name "Lobby signs"Cada ejecución continúa desde la posición guardada de Dropbox en la carpeta y lee solo lo que cambió. Una carpeta que la cuenta no puede abrir da media_sync_source_refused, y una conexión que Dropbox ya no acepta da dropbox_reconnect_required (media sync account connect): ambas con salida 5, sin guardar nada.
media sync create google-drive#
Sincroniza una carpeta de Google Drive compartida con la cuenta de servicio de una cuenta en una carpeta de medios.
media sync create google-drive --account-id ID --url URL|ID [--folder-id ID] [--every DURATION] [--name NAME]| Parámetro | Tipo | Requerido | Predeterminado | Notas |
|---|---|---|---|---|
--account-id ID | string | sí | ninguno | La cuenta de Google Drive por la que leer (msa_…). |
--url URL | string | sí | ninguno | La dirección de la carpeta (https://drive.google.com/drive/folders/ID), o su ID. Comparta primero la carpeta con el service_account_email de la cuenta; basta con el rol Lector. |
--folder-id ID | string | no | una carpeta de medios nueva con el nombre de la carpeta de origen | La carpeta de medios (mfd_…) en la que se colocan los archivos. |
--every DURATION | string | no | 15m | Con qué frecuencia buscar cambios, de 5 minutos a 24 horas: 15m, 1h, 6h o simplemente segundos (de 300 a 86400). |
--name NAME | string | no | el nombre de la carpeta de origen | De 1 a 80 caracteres. |
screenrig media sync create google-drive --account-id msa_01EXAMPLEACCOUNT0000000 --url https://drive.google.com/drive/folders/1AbCdEfGhIjKlMnOpQrStUvWxYz --folder-id mfd_01EXAMPLEFOLDER000000000 --every 1h
screenrig media sync create google-drive --account-id msa_01EXAMPLEACCOUNT0000000 --url 1AbCdEfGhIjKlMnOpQrStUvWxYzCon la cuenta de servicio de screenRIG, la carpeta se sincroniza solo cuando un miembro de este proyecto con un correo electrónico verificado la compartió o es su propietario (media_sync_sharer_not_member, salida 3, no se guarda nada). Cada ejecución lo comprueba de nuevo, y una carpeta que se queda sin esa persona que la compartía detiene la sincronización en estado error conservando sus medios: vuelva a compartirla desde la cuenta de Google de un miembro y después ejecute media sync update ID --resume. Los archivos de Google Docs, Sheets y Slides se omiten como unsupported_type. Una carpeta que la dirección no puede abrir da media_sync_source_refused (salida 5): compártala con la cuenta de servicio.
media sync list#
Lista las sincronizaciones de medios de este proyecto con su carpeta de medios, cadencia, estado y estado de la última ejecución.
media sync listSin parámetros.
screenrig media sync listmedia sync show#
Inspecciona una sincronización y el resumen de su última ejecución.
media sync show <id>| Parámetro | Tipo | Requerido | Predeterminado | Notas |
|---|---|---|---|---|
<id> | string | sí | ninguno | La sincronización (msy_…). |
screenrig media sync show msy_01EXAMPLESYNC000000000data.last_run lleva status (ok, partial o error), added, updated, removed, pending_delete (archivos eliminados que una pantalla aún conserva, a la espera en la carpeta Removed), skipped_total y skipped, los primeros 20 archivos omitidos con el motivo de cada archivo (unsupported_type, too_large, storage, subfolder, download_failed, unreadable, in_use); una ejecución fallida lleva error con un code y un detail que indican la solución. data.source añade path para Dropbox y shared_by para Google Drive.
Una sincronización en estado error necesita una reparación. Se eliminó su carpeta de medios: apúntela a otra con media sync update --folder-id. Se eliminó o movió su carpeta de origen: elimine la sincronización y cree otra. Para Google Drive con la cuenta de servicio de screenRIG, la carpeta se quedó sin una persona verificada que la comparta (sharer_not_member): vuelva a compartirla desde la cuenta de Google de un miembro del proyecto y después media sync update ID --resume. Una ejecución de Dropbox falla con reconnect_required cuando Dropbox deja de aceptar la conexión (media sync account connect).
media sync update#
Cambia el nombre, la cadencia o la carpeta de medios de una sincronización, o la pausa y la reanuda.
media sync update <id> [--name NAME] [--every DURATION] [--folder-id ID]
[--pause | --resume] [--expect-rev REVISION]| Parámetro | Tipo | Requerido | Predeterminado | Notas |
|---|---|---|---|---|
<id> | string | sí | ninguno | La sincronización (msy_…). |
--name NAME | string | no | sin cambios | Cambia el nombre de la sincronización. |
--every DURATION | string | no | sin cambios | Con qué frecuencia buscar cambios, de 5 minutos a 24 horas. |
--folder-id ID | string | no | sin cambios | Llena esta carpeta de medios (mfd_…) en su lugar. La siguiente ejecución vuelve a leer todo el origen y coloca en ella todos los archivos sincronizados. |
--pause | boolean | no | apagado | Deja de ejecutarse hasta que se reanude. No con --resume. |
--resume | boolean | no | apagado | Vuelve a ejecutarla; también reinicia una sincronización que un error detuvo. No con --pause. |
--expect-rev REVISION | integer | no | ninguno | Rechaza el cambio salvo que la sincronización esté en esta revisión (revision_conflict, salida 6). |
screenrig media sync update msy_01EXAMPLESYNC000000000 --every 1h
screenrig media sync update msy_01EXAMPLESYNC000000000 --pause
screenrig media sync update msy_01EXAMPLESYNC000000000 --folder-id mfd_01EXAMPLEFOLDER000000000 --expect-rev 3Se requiere al menos un cambio.
media sync run#
Ejecuta una sincronización ahora en lugar de a su próxima hora.
media sync run <id>| Parámetro | Tipo | Requerido | Predeterminado | Notas |
|---|---|---|---|---|
<id> | string | sí | ninguno | La sincronización (msy_…). |
screenrig media sync run msy_01EXAMPLESYNC000000000La sincronización se ejecuta en unos 30 segundos, y media sync show muestra entonces su última ejecución. Una sincronización en pausa debe reanudarse antes.
media sync delete#
Detiene una sincronización; sus medios y su carpeta permanecen.
media sync delete <id> [--expect-rev REVISION]| Parámetro | Tipo | Requerido | Predeterminado | Notas |
|---|---|---|---|---|
<id> | string | sí | ninguno | La sincronización (msy_…). |
--expect-rev REVISION | integer | no | ninguno | Rechaza la eliminación salvo que la sincronización esté en esta revisión (revision_conflict, salida 6). |
screenrig media sync delete msy_01EXAMPLESYNC000000000La sincronización olvida qué archivo de origen se convirtió en qué medio. Los medios importados y la carpeta de medios permanecen, y no se elimina nada.