メディア同期
メディア同期は、メディアフォルダーを SharePoint、OneDrive for work、Dropbox、Google Drive のフォルダーと同じ状態に保ちます。実行のたびに、ソースフォルダー直下の画像(png、jpeg、webp、gif)、動画(mp4、webm)、音声(mp3)をインポートします;サブフォルダーは無視されます。変更されたファイルは同じメディア ID のままバイトが置き換えられるため、それを再生するすべてのプレイリストが更新されます。ソースで削除または移動されたファイルは再生から外れ、そのメディアは削除されるか、スクリーンがまだ表示している間は Removed サブフォルダーに移動され、何も保持しなくなった時点で削除されます。その他のファイルは、理由とともにスキップとして一覧表示されます: Office ファイルや PDF はプレイリストでドキュメントリンクとして表示し、MOV などは MP4 H.264 としてエクスポートしてください。プレイリストは by:folder セレクターでフォルダーを再生します。
すべての同期は、プロジェクトのアカウントを通じて読み取ります。アカウント ID は msa_ で、同期 ID は msy_ で始まります。media sync account add microsoft365 はご自身の Microsoft Entra アプリを保存するか、プロジェクトの Microsoft 接続を指定します;media sync account add dropbox は Dropbox アカウントの所有者向けの 1 回限りのリンクを表示します;media sync account add google-drive は、screenRIG またはご自身のサービスアカウントのアドレスと共有されたフォルダーを読み取ります。アカウントをテストしてから、フォルダーのアドレスで同期を作成すると、すぐに実行対象になります。
クライアントシークレットは --secret-file FILE、Google Drive のキーは --key-file FILE で渡し(標準入力には -)、引数としては決して渡しません。シークレットはサーバー上で封印され、data.secret {set, hint} としてのみ表示されます。読み取りには読み取りアクセスが必要で、変更にはすべて Manage アクセスが必要です。
media sync account add microsoft365#
同期が SharePoint または OneDrive for work のフォルダーを読み取れるように、ご自身の Microsoft Entra アプリ、またはプロジェクトの Microsoft 接続を追加します。
media sync account add microsoft365 --name NAME
(--tenant-id TENANT --client-id ID --secret-file FILE | --connection-id ID)| パラメーター | タイプ | 必須 | デフォルト | メモ |
|---|---|---|---|---|
--name NAME | string | はい | なし | 1~80文字。 |
--tenant-id TENANT | string | --connection-id なし | なし | ご自身の組織のディレクトリ(テナント)ID、または contoso.onmicrosoft.com のようなそのプライマリドメイン;common、organizations、consumers は決して指定できません。--client-id と --secret-file とともに指定します。 |
--client-id ID | string | --connection-id なし | なし | アプリ登録の Application (client) ID(GUID)。 |
--secret-file FILE | string | --connection-id なし | なし | クライアントシークレットの値をこのファイルから、または標準入力を表す - から読み取ります(引数では渡しません);ファイルには値だけを入れます。 |
--connection-id ID | string | --tenant-id なし | なし | --tenant-id、--client-id、--secret-file の代わりに、プロジェクトの Microsoft 接続(pcn_…)を通じて、どちらのモードでもサインインします。これらとは併用できません。 |
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_01EXAMPLECONNECTION0000Microsoft Entra 管理センターで、リダイレクト URI のないシングルテナントのアプリを登録し、クライアントシークレットを追加し(シークレット ID ではなく値をコピー)、Microsoft Graph のアプリケーションのアクセス許可 Sites.Selected(その後、各サイトへの読み取りアクセスをアプリに付与)または Files.Read.All を追加して、管理者の同意を付与します。アプリはこのプロジェクトに属します。次に media sync account test を実行します。
media sync account add dropbox#
Dropbox アカウントを追加し、所有者が Dropbox にサインインした状態で開いて接続するための 1 回限りのリンクを表示します。
media sync account add dropbox --name NAME [--app-key KEY]| パラメーター | タイプ | 必須 | デフォルト | メモ |
|---|---|---|---|---|
--name NAME | string | はい | なし | 1~80文字。 |
--app-key KEY | string | いいえ | screenRIG の Dropbox アプリ | ご自身の Dropbox アプリのアプリキー: 1〜64 文字の英数字で、アプリシークレットは決して指定しません。 |
screenrig media sync account add dropbox --name "Marketing Dropbox"
screenrig media sync account add dropbox --name "Marketing Dropbox" --app-key YOURAPPKEYdata.authorize_url がリンク、data.authorize_expires_at がその有効期限です。CLI がブラウザーを開くことはありません。リンクは Dropbox アカウントの所有者に送ってください。所有者は読み取り専用のアクセス(files.metadata.read、files.content.read、account_info.read、sharing.read)を許可します。data.state が ready(最初は pending_consent)になるまで media sync account show を実行し、その後 media sync create dropbox を実行します。ご自身の Dropbox アプリでは、これらの権限を有効にし、出力に表示されるリダイレクト URI を登録する必要があります。
media sync account add google-drive#
Google Drive アカウントを追加してすぐに使える状態にし、フォルダーの共有先となるサービスアカウントのアドレスを表示します。
media sync account add google-drive --name NAME [--key-file FILE]| パラメーター | タイプ | 必須 | デフォルト | メモ |
|---|---|---|---|---|
--name NAME | string | はい | なし | 1~80文字。 |
--key-file FILE | string | いいえ | screenRIG のサービスアカウント | ご自身の Google Cloud サービスアカウントの JSON キーをこのファイルから、または標準入力を表す - から読み取ります(引数では渡しません)。 |
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 は各フォルダーを共有するアドレスで、閲覧者で十分です。screenRIG のサービスアカウントを通じる場合、フォルダーが同期されるのは、検証済みメールアドレスを持つこのプロジェクトのメンバーがそれを共有したか、所有している場合だけです(そうでない場合は media_sync_sharer_not_member)。ご自身のキーを使う場合は、サービスアカウントと共有されたフォルダーはすべて同期されます。
media sync account list#
このプロジェクトのメディア同期アカウントを、種類、状態、直近のテストとともに一覧表示します;シークレットは返されません。
media sync account listパラメーターなし。
screenrig media sync account listmedia sync account show#
アカウントを確認します。テナントとクライアント ID、状態、マスクされたシークレット、直近のテストを表示します。
media sync account show <id>| パラメーター | タイプ | 必須 | デフォルト | メモ |
|---|---|---|---|---|
<id> | string | はい | なし | アカウント(msa_…)。 |
screenrig media sync account show msa_01EXAMPLEACCOUNT0000000Dropbox アカウントには、接続した人と app_key も表示され、Google Drive アカウントには service_account_email が表示されます。
media sync account update#
アカウントの名前を変更するか、Microsoft アプリのテナント、アプリケーション ID、クライアントシークレットを変更するか、Google Drive アカウント独自のキーを置き換えます。
media sync account update <id> [--name NAME] [--tenant-id TENANT] [--client-id ID]
[--secret-file FILE | --key-file FILE] [--expect-rev REVISION]| パラメーター | タイプ | 必須 | デフォルト | メモ |
|---|---|---|---|---|
<id> | string | はい | なし | アカウント(msa_…)。 |
--name NAME | string | いいえ | 変更なし | アカウントの名前を変更します。 |
--tenant-id TENANT | string | いいえ | 変更なし | テナントのディレクトリ ID またはプライマリドメイン。 |
--client-id ID | string | いいえ | 変更なし | アプリ登録の Application (client) ID。 |
--secret-file FILE | string | いいえ | 変更なし | 新しいクライアントシークレットの値をこのファイルから、または標準入力を表す - から読み取ります;保存済みのシークレットが置き換えられます。省略したシークレットは保持されます。 |
--key-file FILE | string | いいえ | 変更なし | Google Drive アカウント独自の JSON キーをこのファイルから、または標準入力を表す - から読み取ります;同じサービスアカウントのキーである必要があります。--secret-file とは併用できません。 |
--expect-rev REVISION | integer | いいえ | なし | アカウントがこのリビジョンでない限り変更を拒否します(revision_conflict、終了コード 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 2少なくとも 1 つの変更が必要です。認証情報を変更すると last_test が消去されるので、アカウントをもう一度テストしてください。Entra のクライアントシークレットには有効期限があるため、期限が切れる前にここで置き換えてください。
media sync account connect#
Dropbox アカウントを接続または再接続するための、新しい 1 回限りのリンクを作成します。
media sync account connect <id>| パラメーター | タイプ | 必須 | デフォルト | メモ |
|---|---|---|---|---|
<id> | string | はい | なし | アカウント(msa_…)。 |
screenrig media sync account connect msa_01EXAMPLEACCOUNT0000000data.authorize_url と data.authorize_expires_at にリンクが含まれ、前のリンクは置き換えられます。Dropbox アカウントの所有者に送ってください。その人が完了しなかった場合や、アカウントが reconnect_required(Dropbox が接続を認めなくなった状態)の場合に使います。接続済みのアカウントは、新しい同意が完了するまで接続されたままで、別の Dropbox アカウントがサインインすると、その接続を引き継ぎます。
media sync account test#
アカウントを確認します: Microsoft アプリのサインインと Graph のアクセス許可、または Dropbox や Google Drive アカウントの接続かキー。
media sync account test <id>| パラメーター | タイプ | 必須 | デフォルト | メモ |
|---|---|---|---|---|
<id> | string | はい | なし | アカウント(msa_…)。 |
screenrig media sync account test msa_01EXAMPLEACCOUNT0000000応答は last_test として保存されます。Microsoft アプリでは、credentials(Microsoft がトークンを発行したこと。拒否された場合は、値ではなく ID を指定したシークレットの AADSTS7000215 など、AADSTS コードが含まれます)と permissions(トークンが持つ Graph のアプリケーションのアクセス許可)を報告します。Sites.Selected だけの場合は警告になります: 各サイトには引き続き付与が必要で、共有リンクには Files.Read.All が必要です。このテストは、サイトへの付与やフォルダーは判定しません: 指定したフォルダーを読み取るのは media sync create です。失敗したチェックは、終了コード 0 で data.ok が false になります。
media sync account delete#
どの同期も使っていないアカウントを削除します。
media sync account delete <id> [--expect-rev REVISION]| パラメーター | タイプ | 必須 | デフォルト | メモ |
|---|---|---|---|---|
<id> | string | はい | なし | アカウント(msa_…)。 |
--expect-rev REVISION | integer | いいえ | なし | アカウントがこのリビジョンでない限り削除を拒否します(revision_conflict、終了コード 6)。 |
screenrig media sync account delete msa_01EXAMPLEACCOUNT0000000同期がアカウントを使っている間は、それらを示して resource_conflict(終了コード 5)が返ります;先にそれらを削除してください。
media sync create dropbox#
Dropbox のフォルダーをメディアフォルダーに同期します。
media sync create dropbox --account-id ID --url URL|PATH [--folder-id ID] [--every DURATION] [--name NAME]| パラメーター | タイプ | 必須 | デフォルト | メモ |
|---|---|---|---|---|
--account-id ID | string | はい | なし | 読み取りに使う接続済みの Dropbox アカウント(msa_…)。 |
--url URL | string | はい | なし | フォルダーの Dropbox アドレス(https://www.dropbox.com/home/...)、アカウントが自分の Dropbox に追加した共有フォルダーのリンク、または / で始まるパス。チームスペースのフォルダーは、チームのルートから読み取られます。 |
--folder-id ID | string | いいえ | ソースフォルダーの名前を付けた新しいメディアフォルダー | ファイルの置き場となるメディアフォルダー(mfd_…)。 |
--every DURATION | string | いいえ | 15m | 変更を確認する頻度、5 分〜24 時間: 15m、1h、6h、または秒数のみ(300〜86400)。 |
--name NAME | string | いいえ | ソースフォルダーの名前 | 1~80文字。 |
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"実行のたびに、Dropbox が保存したフォルダー内の位置から続けて、変更された分だけを読み取ります。アカウントが開けないフォルダーは media_sync_source_refused、Dropbox が認めなくなった接続は dropbox_reconnect_required(media sync account connect)になり、どちらも終了コード 5 で、何も保存されません。
media sync create google-drive#
アカウントのサービスアカウントと共有された Google Drive のフォルダーをメディアフォルダーに同期します。
media sync create google-drive --account-id ID --url URL|ID [--folder-id ID] [--every DURATION] [--name NAME]| パラメーター | タイプ | 必須 | デフォルト | メモ |
|---|---|---|---|---|
--account-id ID | string | はい | なし | 読み取りに使う Google Drive アカウント(msa_…)。 |
--url URL | string | はい | なし | フォルダーのアドレス(https://drive.google.com/drive/folders/ID)またはその ID。先にフォルダーをアカウントの service_account_email と共有してください;閲覧者で十分です。 |
--folder-id ID | string | いいえ | ソースフォルダーの名前を付けた新しいメディアフォルダー | ファイルの置き場となるメディアフォルダー(mfd_…)。 |
--every DURATION | string | いいえ | 15m | 変更を確認する頻度、5 分〜24 時間: 15m、1h、6h、または秒数のみ(300〜86400)。 |
--name NAME | string | いいえ | ソースフォルダーの名前 | 1~80文字。 |
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 1AbCdEfGhIjKlMnOpQrStUvWxYzscreenRIG のサービスアカウントを通じる場合、フォルダーが同期されるのは、検証済みメールアドレスを持つこのプロジェクトのメンバーがそれを共有したか、所有している場合だけです(media_sync_sharer_not_member、終了コード 3、何も保存されません)。実行のたびにこれが再確認され、そのような共有者を失ったフォルダーは、メディアを保持したまま同期を状態 error で停止させます;メンバーの Google アカウントからもう一度共有してから、media sync update ID --resume を実行してください。Google ドキュメント、スプレッドシート、スライドのファイルは unsupported_type としてスキップされます。アドレスが開けないフォルダーは media_sync_source_refused(終了コード 5)になります;サービスアカウントと共有してください。
media sync list#
このプロジェクトのメディア同期を、メディアフォルダー、頻度、状態、直近の実行のステータスとともに一覧表示します。
media sync listパラメーターなし。
screenrig media sync listmedia sync show#
同期とその直近の実行の概要を確認します。
media sync show <id>| パラメーター | タイプ | 必須 | デフォルト | メモ |
|---|---|---|---|---|
<id> | string | はい | なし | 同期(msy_…)。 |
screenrig media sync show msy_01EXAMPLESYNC000000000data.last_run には、status(ok、partial、error のいずれか)、added、updated、removed、pending_delete(スクリーンがまだ保持している削除済みファイルで、Removed フォルダーで待機中)、skipped_total、そしてスキップされた最初の 20 ファイルを各ファイルの理由(unsupported_type, too_large, storage, subfolder, download_failed, unreadable, in_use)とともに示す skipped が含まれます。失敗した実行には、修正方法を示す code と detail を伴う error が含まれます。data.source には、Dropbox では path、Google Drive では shared_by が加わります。
状態が error の同期は修復が必要です。メディアフォルダーが削除された場合は、media sync update --folder-id で別のフォルダーを指定します。ソースフォルダーが削除または移動された場合は、同期を削除して新しく作成します。screenRIG のサービスアカウント経由の Google Drive では、フォルダーが検証済みの共有者を失った場合(sharer_not_member)、プロジェクトメンバーの Google アカウントからもう一度共有してから、media sync update ID --resume を実行します。Dropbox が接続を認めなくなると(media sync account connect)、Dropbox の実行は reconnect_required で失敗します。
media sync update#
同期の名前、頻度、メディアフォルダーを変更するか、一時停止と再開を行います。
media sync update <id> [--name NAME] [--every DURATION] [--folder-id ID]
[--pause | --resume] [--expect-rev REVISION]| パラメーター | タイプ | 必須 | デフォルト | メモ |
|---|---|---|---|---|
<id> | string | はい | なし | 同期(msy_…)。 |
--name NAME | string | いいえ | 変更なし | 同期の名前を変更します。 |
--every DURATION | string | いいえ | 変更なし | 変更を確認する頻度、5 分〜24 時間。 |
--folder-id ID | string | いいえ | 変更なし | 代わりにこのメディアフォルダー(mfd_…)に入れます。次の実行ではソース全体をもう一度読み取り、同期されたすべてのファイルをそこに配置します。 |
--pause | boolean | いいえ | オフ | 再開するまで実行を停止します。--resume とは併用できません。 |
--resume | boolean | いいえ | オフ | 再び実行します;エラーで停止した同期も再開します。--pause とは併用できません。 |
--expect-rev REVISION | integer | いいえ | なし | 同期がこのリビジョンでない限り変更を拒否します(revision_conflict、終了コード 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 3変更を少なくとも 1 つ指定してください。
media sync run#
次の予定時刻を待たず、同期を今すぐ実行します。
media sync run <id>| パラメーター | タイプ | 必須 | デフォルト | メモ |
|---|---|---|---|---|
<id> | string | はい | なし | 同期(msy_…)。 |
screenrig media sync run msy_01EXAMPLESYNC000000000同期は約 30 秒以内に実行され、その後 media sync show に直近の実行が表示されます。一時停止中の同期は、先に再開する必要があります。
media sync delete#
同期を停止します;メディアとフォルダーは残ります。
media sync delete <id> [--expect-rev REVISION]| パラメーター | タイプ | 必須 | デフォルト | メモ |
|---|---|---|---|---|
<id> | string | はい | なし | 同期(msy_…)。 |
--expect-rev REVISION | integer | いいえ | なし | 同期がこのリビジョンでない限り削除を拒否します(revision_conflict、終了コード 6)。 |
screenrig media sync delete msy_01EXAMPLESYNC000000000同期は、どのソースファイルがどのメディアになったかを忘れます。インポート済みのメディアとメディアフォルダーは残り、何も削除されません。