Sincronização de mídia
Uma sincronização de mídia mantém uma pasta de mídia em sincronia com uma pasta do SharePoint, do OneDrive for Business, do Dropbox ou do Google Drive. Cada execução importa as imagens (png, jpeg, webp, gif), os vídeos (mp4, webm) e o áudio (mp3) diretamente dentro da pasta de origem; as subpastas são ignoradas. Um arquivo alterado substitui seus bytes sob o mesmo ID de mídia, então toda playlist que o reproduz é atualizada, e um arquivo removido ou movido para fora na origem deixa de ser reproduzido: sua mídia é excluída ou, enquanto uma tela ainda a exibe, movida para uma subpasta Removed e excluída quando nada a mantém. Os outros arquivos são listados como ignorados com o motivo: mostre um arquivo do Office ou um PDF com um link de documento em uma playlist e exporte MOV e semelhantes como MP4 H.264. Uma playlist reproduz a pasta com um seletor by:folder.
Toda sincronização lê por meio de uma conta do projeto. Um ID de conta começa com msa_ e um ID de sincronização com msy_. media sync account add microsoft365 armazena seu próprio aplicativo do Microsoft Entra ou nomeia uma conexão da Microsoft do projeto; media sync account add dropbox imprime um link de uso único para a pessoa dona da conta do Dropbox; media sync account add google-drive lê as pastas compartilhadas com o endereço de uma conta de serviço, a do screenRIG ou a sua própria. Teste a conta e depois crie uma sincronização a partir do endereço de uma pasta: ela está pronta para ser executada de imediato.
Informe um segredo de cliente com --secret-file FILE e uma chave do Google Drive com --key-file FILE, ou - para stdin, nunca como argumento. Os segredos são selados no servidor e mostrados de volta apenas como data.secret {set, hint}. A leitura exige acesso Read, e toda alteração exige acesso Manage.
media sync account add microsoft365#
Adiciona seu próprio aplicativo do Microsoft Entra, ou uma conexão da Microsoft do projeto, para que uma sincronização possa ler uma pasta do SharePoint ou do OneDrive for Business.
media sync account add microsoft365 --name NAME
(--tenant-id TENANT --client-id ID --secret-file FILE | --connection-id ID)| Parâmetro | Tipo | Obrigatório | Padrão | Notas |
|---|---|---|---|---|
--name NAME | string | sim | nenhum | 1 a 80 caracteres. |
--tenant-id TENANT | string | sem --connection-id | nenhum | O ID do diretório (tenant) da sua organização, ou o domínio primário dele, como contoso.onmicrosoft.com; nunca common, organizations ou consumers. Junto com --client-id e --secret-file. |
--client-id ID | string | sem --connection-id | nenhum | O ID do aplicativo (cliente) do registro de aplicativo, um GUID. |
--secret-file FILE | string | sem --connection-id | nenhum | Lê o Valor do segredo de cliente deste arquivo, ou - para stdin (nunca como argumento); o arquivo contém apenas o Valor. |
--connection-id ID | string | sem --tenant-id | nenhum | Faz login por meio de uma conexão da Microsoft (pcn_…) do projeto, em qualquer um dos modos, em vez de --tenant-id, --client-id e --secret-file. Não com eles. |
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_01EXAMPLECONNECTION0000No centro de administração do Microsoft Entra, registre um aplicativo de locatário único sem URI de redirecionamento, adicione um segredo de cliente (copie o Valor, não o ID do segredo), adicione a permissão de aplicativo Sites.Selected do Microsoft Graph (e depois conceda ao aplicativo acesso de leitura a cada site) ou Files.Read.All, e conceda o consentimento do administrador. O aplicativo pertence a este projeto. Execute media sync account test em seguida.
media sync account add dropbox#
Adiciona uma conta do Dropbox e imprime o link de uso único que seu dono abre, logado no Dropbox, para conectá-la.
media sync account add dropbox --name NAME [--app-key KEY]| Parâmetro | Tipo | Obrigatório | Padrão | Notas |
|---|---|---|---|---|
--name NAME | string | sim | nenhum | 1 a 80 caracteres. |
--app-key KEY | string | não | o aplicativo do Dropbox do screenRIG | A chave do seu próprio aplicativo do Dropbox (app key): de 1 a 64 letras e dígitos, nunca o segredo do aplicativo. |
screenrig media sync account add dropbox --name "Marketing Dropbox"
screenrig media sync account add dropbox --name "Marketing Dropbox" --app-key YOURAPPKEYdata.authorize_url é o link e data.authorize_expires_at sua expiração. O CLI nunca abre um navegador: envie o link à pessoa dona da conta do Dropbox, que permite acesso somente leitura (files.metadata.read, files.content.read, account_info.read, sharing.read). Execute media sync account show até que data.state seja ready (começa como pending_consent) e depois media sync create dropbox. Seu próprio aplicativo do Dropbox precisa ter essas permissões ativadas e o redirect URI que a saída imprime.
media sync account add google-drive#
Adiciona uma conta do Google Drive, pronta de imediato, e imprime o endereço da conta de serviço com o qual as pastas são compartilhadas.
media sync account add google-drive --name NAME [--key-file FILE]| Parâmetro | Tipo | Obrigatório | Padrão | Notas |
|---|---|---|---|---|
--name NAME | string | sim | nenhum | 1 a 80 caracteres. |
--key-file FILE | string | não | a conta de serviço do screenRIG | Lê a chave JSON da sua própria conta de serviço do Google Cloud deste arquivo, ou - para stdin (nunca como 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 é o endereço com o qual compartilhar cada pasta; Viewer basta. Pela conta de serviço do screenRIG, uma pasta só sincroniza quando um membro deste projeto com e-mail verificado a compartilhou ou é o proprietário dela (media_sync_sharer_not_member caso contrário). Com sua própria chave, qualquer pasta compartilhada com a conta de serviço sincroniza.
media sync account list#
Lista as contas de sincronização de mídia deste projeto com o tipo, o estado e o último teste de cada uma; nenhum segredo é devolvido.
media sync account listSem parâmetros.
screenrig media sync account listmedia sync account show#
Inspeciona uma conta: seu tenant e ID de cliente, o estado, o segredo mascarado e o último teste.
media sync account show <id>| Parâmetro | Tipo | Obrigatório | Padrão | Notas |
|---|---|---|---|---|
<id> | string | sim | nenhum | A conta (msa_…). |
screenrig media sync account show msa_01EXAMPLEACCOUNT0000000Uma conta do Dropbox também mostra quem a conectou e seu app_key; uma conta do Google Drive mostra seu service_account_email.
media sync account update#
Renomeia uma conta, altera o tenant, o ID do aplicativo ou o segredo de cliente de um aplicativo da Microsoft, ou substitui a chave própria de uma conta do 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 | Obrigatório | Padrão | Notas |
|---|---|---|---|---|
<id> | string | sim | nenhum | A conta (msa_…). |
--name NAME | string | não | inalterado | Renomeia a conta. |
--tenant-id TENANT | string | não | inalterado | O ID do diretório ou o domínio primário do tenant. |
--client-id ID | string | não | inalterado | O ID do aplicativo (cliente) do registro de aplicativo. |
--secret-file FILE | string | não | inalterado | Lê o Valor do novo segredo de cliente deste arquivo, ou - para stdin; ele substitui o segredo armazenado. Um segredo omitido é mantido. |
--key-file FILE | string | não | inalterado | Lê a chave JSON própria de uma conta do Google Drive deste arquivo, ou - para stdin; ela deve pertencer à mesma conta de serviço. Não com --secret-file. |
--expect-rev REVISION | integer | não | nenhum | Recusa a alteração a menos que a conta esteja nesta revisão (revision_conflict, código de saída 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 2Pelo menos uma alteração é obrigatória. Uma alteração de credenciais limpa last_test: teste a conta de novo. Os segredos de cliente do Entra expiram, então substitua o segredo aqui antes que isso aconteça.
media sync account connect#
Cria um novo link de uso único para conectar, ou reconectar, uma conta do Dropbox.
media sync account connect <id>| Parâmetro | Tipo | Obrigatório | Padrão | Notas |
|---|---|---|---|---|
<id> | string | sim | nenhum | A conta (msa_…). |
screenrig media sync account connect msa_01EXAMPLEACCOUNT0000000data.authorize_url e data.authorize_expires_at trazem o link, que substitui o anterior. Envie-o à pessoa dona da conta do Dropbox. Use-o quando a pessoa não concluiu ou a conta está em reconnect_required (o Dropbox não honra mais a conexão). Uma conta conectada permanece conectada até que o novo consentimento seja concluído, e outra conta do Dropbox que faça login assume a conexão.
media sync account test#
Verifica uma conta: o login e as permissões do Graph de um aplicativo da Microsoft, ou a conexão ou a chave de uma conta do Dropbox ou do Google Drive.
media sync account test <id>| Parâmetro | Tipo | Obrigatório | Padrão | Notas |
|---|---|---|---|---|
<id> | string | sim | nenhum | A conta (msa_…). |
screenrig media sync account test msa_01EXAMPLEACCOUNT0000000A resposta é armazenada como last_test. Para um aplicativo da Microsoft, informa credentials (a Microsoft emitiu um token; uma recusa traz o código AADSTS, como AADSTS7000215 para um segredo que é o ID em vez do Valor) e permissions (as permissões de aplicativo do Graph que o token carrega). Sites.Selected sozinha é um aviso: cada site ainda precisa de sua concessão, e um link de compartilhamento precisa de Files.Read.All. O teste não avalia a concessão de um site nem uma pasta: media sync create lê a pasta que você nomeia. Uma verificação que falha é data.ok false com código de saída 0.
media sync account delete#
Exclui uma conta que nenhuma sincronização usa.
media sync account delete <id> [--expect-rev REVISION]| Parâmetro | Tipo | Obrigatório | Padrão | Notas |
|---|---|---|---|---|
<id> | string | sim | nenhum | A conta (msa_…). |
--expect-rev REVISION | integer | não | nenhum | Recusa a exclusão a menos que a conta esteja nesta revisão (revision_conflict, código de saída 6). |
screenrig media sync account delete msa_01EXAMPLEACCOUNT0000000Enquanto sincronizações usam a conta, a resposta é resource_conflict (código de saída 5), nomeando-as: exclua-as primeiro.
media sync create dropbox#
Sincroniza uma pasta do Dropbox com uma pasta de mídia.
media sync create dropbox --account-id ID --url URL|PATH [--folder-id ID] [--every DURATION] [--name NAME]| Parâmetro | Tipo | Obrigatório | Padrão | Notas |
|---|---|---|---|---|
--account-id ID | string | sim | nenhum | A conta do Dropbox conectada pela qual ler (msa_…). |
--url URL | string | sim | nenhum | O endereço da pasta no Dropbox (https://www.dropbox.com/home/...), um link de pasta compartilhada que a conta adicionou ao seu Dropbox, ou um caminho que começa com /. Uma pasta do espaço da equipe é lida a partir da raiz da equipe. |
--folder-id ID | string | não | uma nova pasta de mídia com o nome da pasta de origem | A pasta de mídia (mfd_…) em que os arquivos são colocados. |
--every DURATION | string | não | 15m | Com que frequência procurar alterações, de 5 minutos a 24 horas: 15m, 1h, 6h ou segundos simples (300 a 86400). |
--name NAME | string | não | o nome da pasta de origem | 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 execução continua da posição salva do Dropbox na pasta e lê apenas o que mudou. Uma pasta que a conta não consegue abrir é media_sync_source_refused, e uma conexão que o Dropbox não honra mais é dropbox_reconnect_required (media sync account connect): ambas com código de saída 5, nada armazenado.
media sync create google-drive#
Sincroniza com uma pasta de mídia uma pasta do Google Drive compartilhada com a conta de serviço de uma conta.
media sync create google-drive --account-id ID --url URL|ID [--folder-id ID] [--every DURATION] [--name NAME]| Parâmetro | Tipo | Obrigatório | Padrão | Notas |
|---|---|---|---|---|
--account-id ID | string | sim | nenhum | A conta do Google Drive pela qual ler (msa_…). |
--url URL | string | sim | nenhum | O endereço da pasta (https://drive.google.com/drive/folders/ID) ou o ID dela. Compartilhe primeiro a pasta com o service_account_email da conta; Viewer basta. |
--folder-id ID | string | não | uma nova pasta de mídia com o nome da pasta de origem | A pasta de mídia (mfd_…) em que os arquivos são colocados. |
--every DURATION | string | não | 15m | Com que frequência procurar alterações, de 5 minutos a 24 horas: 15m, 1h, 6h ou segundos simples (300 a 86400). |
--name NAME | string | não | o nome da pasta de origem | 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 1AbCdEfGhIjKlMnOpQrStUvWxYzPela conta de serviço do screenRIG, a pasta só sincroniza quando um membro deste projeto com e-mail verificado a compartilhou ou é o proprietário dela (media_sync_sharer_not_member, código de saída 3, nada armazenado). Cada execução verifica isso de novo, e uma pasta que perde esse compartilhador interrompe a sincronização no estado error com a mídia mantida: compartilhe-a de novo a partir da conta do Google de um membro e depois execute media sync update ID --resume. Arquivos do Google Docs, Sheets e Slides são ignorados como unsupported_type. Uma pasta que o endereço não consegue abrir é media_sync_source_refused (código de saída 5): compartilhe-a com a conta de serviço.
media sync list#
Lista as sincronizações de mídia deste projeto com a pasta de mídia, a cadência, o estado e o status da última execução de cada uma.
media sync listSem parâmetros.
screenrig media sync listmedia sync show#
Inspeciona uma sincronização e o resumo da última execução dela.
media sync show <id>| Parâmetro | Tipo | Obrigatório | Padrão | Notas |
|---|---|---|---|---|
<id> | string | sim | nenhum | A sincronização (msy_…). |
screenrig media sync show msy_01EXAMPLESYNC000000000data.last_run traz status (ok, partial ou error), added, updated, removed, pending_delete (arquivos removidos que uma tela ainda mantém, aguardando na pasta Removed), skipped_total e skipped, os 20 primeiros arquivos ignorados com o motivo de cada arquivo (unsupported_type, too_large, storage, subfolder, download_failed, unreadable, in_use); uma execução com falha traz error com um code e um detail que indicam a correção. data.source acrescenta path para o Dropbox e shared_by para o Google Drive.
Uma sincronização no estado error precisa de reparo. Sua pasta de mídia foi excluída: aponte-a para outra com media sync update --folder-id. Sua pasta de origem foi excluída ou movida: exclua a sincronização e crie uma. Para o Google Drive pela conta de serviço do screenRIG, a pasta perdeu o compartilhador verificado (sharer_not_member): compartilhe-a de novo a partir da conta do Google de um membro do projeto e depois media sync update ID --resume. Uma execução do Dropbox falha com reconnect_required quando o Dropbox deixa de honrar a conexão (media sync account connect).
media sync update#
Altera o nome, a cadência ou a pasta de mídia de uma sincronização, ou a pausa e a retoma.
media sync update <id> [--name NAME] [--every DURATION] [--folder-id ID]
[--pause | --resume] [--expect-rev REVISION]| Parâmetro | Tipo | Obrigatório | Padrão | Notas |
|---|---|---|---|---|
<id> | string | sim | nenhum | A sincronização (msy_…). |
--name NAME | string | não | inalterado | Renomeia a sincronização. |
--every DURATION | string | não | inalterado | Com que frequência procurar alterações, de 5 minutos a 24 horas. |
--folder-id ID | string | não | inalterado | Preenche esta pasta de mídia (mfd_…) no lugar da atual. A próxima execução lê toda a origem de novo e coloca nela todos os arquivos sincronizados. |
--pause | boolean | não | desligado | Para de executar até ser retomada. Não com --resume. |
--resume | boolean | não | desligado | Executa de novo; também reinicia uma sincronização que um erro interrompeu. Não com --pause. |
--expect-rev REVISION | integer | não | nenhum | Recusa a alteração a menos que a sincronização esteja nesta revisão (revision_conflict, código de saída 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 3Pelo menos uma alteração é obrigatória.
media sync run#
Executa uma sincronização agora em vez de no próximo horário dela.
media sync run <id>| Parâmetro | Tipo | Obrigatório | Padrão | Notas |
|---|---|---|---|---|
<id> | string | sim | nenhum | A sincronização (msy_…). |
screenrig media sync run msy_01EXAMPLESYNC000000000A sincronização é executada em cerca de 30 segundos, e media sync show então mostra a última execução dela. Uma sincronização pausada deve ser retomada primeiro.
media sync delete#
Interrompe uma sincronização; a mídia e a pasta dela permanecem.
media sync delete <id> [--expect-rev REVISION]| Parâmetro | Tipo | Obrigatório | Padrão | Notas |
|---|---|---|---|---|
<id> | string | sim | nenhum | A sincronização (msy_…). |
--expect-rev REVISION | integer | não | nenhum | Recusa a exclusão a menos que a sincronização esteja nesta revisão (revision_conflict, código de saída 6). |
screenrig media sync delete msy_01EXAMPLESYNC000000000A sincronização esquece qual arquivo de origem virou qual mídia. A mídia importada e a pasta de mídia permanecem, e nada é removido.