ドキュメント

プレイリスト CLI コマンド

プレイリストの準備、検証、作成、部分更新、エクスポート、インポート、ページ・リビジョン・インスタンスの管理、アプリケーションリリースの置き換え。

ここにあるコマンドはすべて CLI リファレンスの説明どおりに動作します。グローバルフラグ、JSON 出力、終了コード、リビジョン、再試行。

プレイリスト

プレイリストはページの JSON ドキュメントです。playlist init は順序付き入力からフルスクリーンドキュメントを準備します。playlist create と playlist update はファイルからそのドキュメントを読み込み、playlist patch、playlist rename、playlist page add|replace|remove はその一部を変更します。形状はコマンドの下に要約されます。

playlist init#

ローカルメディアファイル、準備済みメディアID、アプリリリースID、HTTPまたはHTTPS URL、貼り付けた iframe 埋め込みコードから、編集可能な全画面プレイリストを準備します。

playlist init <inputs...> --name NAME --output FILE [--overwrite] [--screen-id ID]
              [--target-width PX --target-height PX] [--duration-ms MS] [--fit contain|cover|fill] [--sound]
              [--no-transcode] [--no-progress] [--poll-ms MS]
パラメータータイプ必須デフォルトメモ
<inputs...>ファイル、med_ ID、rel_ ID、HTTPまたはHTTPS URL、または貼り付けた <iframe> 埋め込みコードはいなし再生順。ローカルの画像、動画、音声ファイルは--no-transcodeがなければアップロード後準備完了まで待機。既存メディアはすでに準備済みである必要があります。音声ファイル、または準備完了の音声med_ IDは、ページではなく、入力順にサウンドトラックになります。少なくとも1つの入力はページでなければなりません。HTTPおよびHTTPS URLには、LANホスト、認証情報、{screen.field.kiosk_id}のようなスクリーントークンを含めることができ、そのまま保持され、ページが取得されることはありません。貼り付けた埋め込みコードはsrcが読み取られます。PlayerのWebアプリには、ユーザー名やパスワードを含まないHTTPS URLが必要です。
--name NAMEstringはいなしプレイリストの表示名。
--output FILEパスはいなし編集可能なプレイリストドキュメントを書く。親ディレクトリは作成されます。デフォルトは排他:空でない既存のファイルは usage_error(終了コード 2)で失敗し、そのまま残ります。
--overwritebooleanいいえオフ既存の出力ファイルを、これらの入力から作成したドキュメントでアトミックに置き換えます。
--screen-id IDstringいいえなし対象スクリーンの寸法とリビジョンを読み取ります。ビデオウォールを持つスクリーンでは、ウォールのキャンバスと対応する format が得られます。
--target-width PX / --target-height PXinteger一緒に未設定キャンバスサイズを上書きします。両方またはどちらもなし。スクリーンが提供されないか、スクリーンが不明または複数のサーフェスを報告する場合に必須です。
--duration-ms MSintegerいいえ8000動画以外のページの表示時間。指定しない限り、アプリケーションページは 24 時間(86400000)表示されます。
--fitstringいいえcontain画像およびビデオページにはcontain、cover、またはfillを使用します。アプリケーションとiframeはfillを使用します。
--soundbooleanいいえオフ動画ページの音声を再生します。指定しない場合、すべての動画ページは無音です。音声付きのページは、表示されている間サウンドトラックを一時停止します。
--no-transcodebooleanいいえオフアップロードされたファイルのバイトは変更されていません。
--no-progressbooleanいいえオフstderrのアップロード進行を抑制
--poll-ms MSintegerいいえ1000ポーリング間隔をアップロード
screenrig playlist init med_01EXAMPLEIMAGE0000000000 med_01EXAMPLEVIDEO0000000000 --name "Lobby loop" --screen-id scr_01EXAMPLESCREEN00000000 --output lobby.json

準備はローカルドキュメントを書き込み、メディアをアップロードすることがあります。リモートプレイリストの作成やスクリーンの割り当ては行いません。ドキュメントを検査した後、screen publishしてください。プレイリストの準備、公開、編集を参照。

data は output、width、height、page_count、soundtrack_tracks、release_ids、media_ids、uploads を報告し、--screen-id を付けると screen_id、screen_revision、publish.argv も報告します。ビデオウォールを持つスクリーンでは format が加わります。60 秒未満に設定されたアプリケーションページには application_page_short 警告が出ます。

playlist validate#

作成または更新前にプレイリストドキュメントをローカルで検証します。ネットワーク不要。

playlist validate <file>
パラメータータイプ必須デフォルトメモ
<file>パスはいなしプレイリストドキュメント、または標準入力の場合は-です。
screenrig playlist validate ./lobby-loop.json

エラーは正確なJSONパスを示します。パスが通ればローカルの形状とフィールド間意味は有効ですが、認可、メディア準備、動的セレクター数、期間、リモート可用性はサーバーチェックが必要です。playlist create、playlist update、screen publish は書き込み前にこのチェックを実行します。data は valid、scope、server_checks を報告し、チェックを失敗させないジオメトリの lint 検出結果(それぞれ page_id、code、id、message を持つ)も含みます:motion_overuse、collision、safe_margin、adjacent_repeat。60秒未満で進むアプリケーションページには application_page_short 警告が出ます。ページの見え方を確認するには、公開して screen screenshot を実行します。

playlist create#

JSON ドキュメント、テンプレート、または組み込みの「緊急のお知らせ」テンプレートからプレイリストを作成します。

playlist create [file] [--from-template ID --name NAME [--set NAME=VALUE...] [--dry-run]] [--starter KEY [--name NAME]] [--format-region REGION --format-orientation ORIENTATION] [--note TEXT]
パラメータータイプ必須デフォルトメモ
[file]パスいいえなしプレイリストドキュメント、または標準入力の場合は-です。これか --from-template、または --starter を指定します。name、pages、オプションの audio、format、fields を含み、それ以外のメンバーは usage_error です。
--from-template IDstringいいえなしこのテンプレート(pl_ の ID)からプレイリストを作成します。現在のページに --set の値を入力し、通常のプレイリストと同様に検証します。
--name NAMEstring--from-template とともになし新しいプレイリストの名前。--dry-run では不要で、--starter ではオプションです。
--set NAME=VALUEstringいいえなし--from-template と併用:フィールドの値。メディアフィールドには準備完了の画像または動画の ID を指定します。繰り返し指定できます。NAME は小文字の英字、数字、アンダースコアからなる1〜32文字のフィールド名で、1回だけ指定します。
--dry-runbooleanいいえオフ--from-template と併用:何も作成せずに、値を確認してページ数を報告します。
--starter KEYstringいいえなし組み込みテンプレートを追加します:urgent-notice。素早いお知らせのための見出しとメッセージです。
--format-region REGIONstringいいえなしheader、footer、または side:プレイリストをその端に沿ってページの上に描画するストリップにし、ファイル内の format を置き換えます。--format-orientation と一緒に指定してください。ストリップを参照してください。
--format-orientation ORIENTATIONstring--format-region とともになしlandscape または portrait:ストリップの対象となるディスプレイの向き(視聴者から見た向き)。
--note TEXTstringいいえなし変更を確認する人へのメモ:プレーンテキストで最大280文字。変更が即時適用される場合は無視されます。
screenrig playlist create ./lobby-loop.json
screenrig playlist create --from-template pl_01EXAMPLETEMPLATE00000 --name "Monday notice" --set headline="Open late"

エンベロープの data.id は、screen assign が受け取る pl_ ID です。変更が確認待ちのときは data が {status: pending_review, review, playlist, next} となり、プレイリストは approved_revision: 0 で存在し、承認されるまでどの画面にも表示できません(playlist_not_approved)。next は screenrig reviews show ID です。テンプレートは fields を宣言したプレイリストで、画面には表示されません(playlist_is_template)。テンプレートから作成したプレイリストは通常のプレイリストとして割り当て、スケジュールし、改訂できます。

playlist update#

プレイリストドキュメントを置き換えます。

playlist update <id> <file> [--format-region REGION --format-orientation ORIENTATION] [--expect-rev REVISION] [--note TEXT]
パラメータータイプ必須デフォルトメモ
<id>stringはいなしpl_プレイリストID
<file>パスはいなし置き換えるドキュメント、または標準入力の場合は-です。name、pages、オプションの audio、format、fields を含み、それ以外のメンバーは usage_error です。audio を省略するとサウンドトラックが削除され、format を省略するとプレイリストは通常のものになり、省略した fields は保持されます。
--format-region REGIONstringいいえなしheader、footer、または side:プレイリストをその端に沿ってページの上に描画するストリップにし、ファイル内の format を置き換えます。--format-orientation と一緒に指定してください。ストリップを参照してください。
--format-orientation ORIENTATIONstring--format-region とともになしlandscape または portrait:ストリップの対象となるディスプレイの向き(視聴者から見た向き)。
--expect-rev REVISIONstringいいえなしオプションのリビジョン前提条件。現在のリソースを書き込む場合は省略します。提供された古い値はrevision_conflictです:再取得、再適用、再試行。
--note TEXTstringいいえなし変更を確認する人へのメモ:プレーンテキストで最大280文字。変更が即時適用される場合は無視されます。
screenrig playlist update pl_01EXAMPLEPLAYLIST000000 ./lobby-loop.json

playlist show ID --output FILE はこの形のファイルを書き込みます。プレイリストの一部だけを変更するには、playlist patch、playlist rename、playlist page add|replace|remove のいずれかを使います。

変更がレビュー待ちの場合、ライブプレイリストは人が提案を承認するまで変更されずに再生され続けます。

playlist patch#

指定したプレイリストのトップレベルのメンバーだけを変更し、それ以外はすべてそのままにします。

playlist patch <id> [file] [--name NAME] [--clear-audio] [--expect-rev REVISION] [--note TEXT]
パラメータータイプ必須デフォルトメモ
<id>stringはいなしpl_プレイリストID
[file]パスいいえなしname、pages、audio、format、fields のいずれかを含む部分的な JSON オブジェクト、または標準入力なら -。指定した pages、audio、format は値全体を置き換え、配列はマージされません。audio: null はサウンドトラックを削除し、format: null は形式を削除します。
--name NAMEstringいいえ変更なし内容を送らずに、名前を設定します。前後の空白を除去した後で1〜120文字。ファイル内の name とは併用できません。
--clear-audiobooleanいいえオフaudio: null と同様に、サウンドトラックを削除します。どのページも audio_cue を残せません。ファイル内の audio とは併用できません。
--expect-rev REVISIONstringいいえなしオプションのリビジョン前提条件。現在のリソースを書き込む場合は省略します。提供された古い値はrevision_conflictです:再取得、再適用、再試行。
--note TEXTstringいいえなし変更を確認する人へのメモ:プレーンテキストで最大280文字。変更が即時適用される場合は無視されます。
screenrig playlist patch pl_01EXAMPLEPLAYLIST000000 --name "Lobby loop" --expect-rev 7
screenrig playlist patch pl_01EXAMPLEPLAYLIST000000 changes.json --expect-rev 7

ファイル、--name、--clear-audio のいずれかを指定します。名前だけの変更では、既存の内容は再チェックされません。指定した pages と audio は、サーバーがまとめてチェックします。リージョン format は {"region": "header", "orientation": "landscape"} です。ストリップを参照してください。Propose アクセスの場合、またはエージェントの変更にレビューを要求するプロジェクトでは、変更は playlist update と同様に待機し、pending_review を返します。

playlist rename#

内容を送らずに、プレイリストの名前を変更します。

playlist rename <id> --name NAME [--expect-rev REVISION] [--note TEXT]
パラメータータイプ必須デフォルトメモ
<id>stringはいなしpl_プレイリストID
--name NAMEstringはいなし新しい名前、前後の空白を除去して1~120文字。
--expect-rev REVISIONstringいいえなしオプションのリビジョン前提条件。現在のリソースを書き込む場合は省略します。提供された古い値はrevision_conflictです:再取得、再適用、再試行。
--note TEXTstringいいえなし変更を確認する人へのメモ:プレーンテキストで最大280文字。変更が即時適用される場合は無視されます。
screenrig playlist rename pl_01EXAMPLEPLAYLIST000000 --name "Lobby loop" --expect-rev 7

playlist patch の名前のみの形式。ページ、サウンドトラック、コメントはそのままで、既存の内容は再チェックされません。提案された名前変更は、他の変更と同様に人の承認を待ちます。

playlist page add#

他のページを送らずに、プレイリストに 1 ページを追加します。

playlist page add <playlist-id> (--file PAGE.json | --media MED_ID) [--seconds N] [--fit contain|cover] [--sound]
                  [--from WHEN] [--until WHEN] [--before PAGE_ID] [--page-id ID]
                  [--expect-rev REVISION] [--note TEXT]
パラメータータイプ必須デフォルトメモ
<playlist-id>stringはいなしpl_プレイリストID
--file PAGE.jsonパス--file、--media のうちちょうど1つなしそのまま追加されるページオブジェクト、または標準入力なら -。--seconds と --fit は適用されません。
--media MED_IDstring--file、--media のうちちょうど1つなし準備完了の画像または動画。ページはそれをプレイリストのキャンバス(ビデオウォールではウォールのキャンバス、それ以外は最初の通常ページのキャンバス)全体に、最初の通常ページの遷移で表示し、日付を指定しない限り日付は持ちません。画像は --seconds 後に進み、動画は --sound を付けない限りミュートで最後まで再生されます。
--seconds Nintegerいいえ10画像の表示時間、1〜86400。
--fitstringいいえcontaincontain または cover。
--soundbooleanいいえオフ動画の音声を再生します。動画のみ対象です。ページは表示されている間サウンドトラックを一時停止し、audio_cue を付けられません。--file とは併用できません(そのページが独自の muted を持つため)。
--from WHENstringいいえなしページが最初に表示される時刻(各スクリーンのタイムゾーン):YYYY-MM-DDTHH:MM、または 00:00 を表す YYYY-MM-DD。
--until WHENstringいいえなしページの表示の終了(排他的):YYYY-MM-DDTHH:MM、またはその日の終わりを表す YYYY-MM-DD。
--before PAGE_IDstringいいえ末尾このページの前にページを置きます。
--page-id IDstringいいえup- と小文字の英字または数字8文字新しいページの ID:英字1文字に続けて英字、数字、-、_、最大64文字。
--expect-rev REVISIONstringいいえなしオプションのリビジョン前提条件。現在のリソースを書き込む場合は省略します。提供された古い値はrevision_conflictです:再取得、再適用、再試行。
--note TEXTstringいいえなし変更を確認する人へのメモ:プレーンテキストで最大280文字。変更が即時適用される場合は無視されます。
screenrig playlist page add pl_01EXAMPLEPLAYLIST000000 --media med_01EXAMPLEIMAGE0000000000 --from 2026-12-01 --until 2026-12-24
screenrig playlist page add pl_01EXAMPLEPLAYLIST000000 --media med_01EXAMPLEVIDEO0000000000 --before up-ab12cd34 --note "Winter menu"
screenrig playlist page add pl_01EXAMPLEPLAYLIST000000 --file page.json --page-id welcome

ページは --from から --until の直前まで表示されます。終了したページは、誰かが削除するまで残ります。応答は更新されたプレイリストです。

Propose アクセスの場合、エージェントの変更にレビューを要求するプロジェクトの場合、または変更がレビューされるアップローダーメンバーの場合、変更は pending_review(ok: true、終了コード 0)を返します。同じ提案者による同じプレイリストへの後続のページ変更は、待機中のそのレビューに加わるため、連続したアップロードが互いを置き換えることはありません。まだ誰も承認していないプレイリストは playlist_not_approved を返します。アップローダーが自分のプレイリストに追加できるのは、自分のフォルダーのメディアページだけです。それ以外は outside_upload_scope で、その upload_scope に使用できるものが一覧表示されます。アップローダーを参照してください。

playlist page replace#

プレイリストの 1 ページを、位置と ID を保ったまま置き換えます。

playlist page replace <playlist-id> <page-id> [--file PAGE.json | --media MED_ID] [--seconds N] [--fit contain|cover]
                      [--sound] [--from WHEN] [--until WHEN | --always] [--expect-rev REVISION] [--note TEXT]
パラメータータイプ必須デフォルトメモ
<playlist-id>stringはいなしpl_プレイリストID
<page-id>stringはいなし置き換えるページ。
--file PAGE.jsonパスいいえなし完全な新しいページ、または標準入力なら -。その id は <page-id> か未指定でなければなりません。--media とは併用できません。
--media MED_IDstringいいえなしページのメディアを差し替えます。日付を含め、それ以外はすべて保存されたままです。画像を画像に、または動画を動画に差し替える場合は、キャンバス、フィット、秒数、日付が保たれます。画像を動画に、またはその逆に差し替える場合は、ID、遷移、日付を保ったまま、プレイリストのキャンバス上のメディアページとして作り直されます。プリミティブが 1 つだけのページが必要です。
--seconds Nintegerいいえ変更なし画像の表示時間、1〜86400。--file とは併用できません。
--fitstringいいえ変更なしcontain または cover。--file とは併用できません。
--soundbooleanいいえオフページの動画の音声を再生します。単独でも --media と一緒でも指定できます。動画プリミティブが 1 つだけのページが対象で、指定しない場合、差し替えでは元のページの音声の有無が維持されます。--file とは併用できません。
--from WHENstringいいえ変更なしページが最初に表示される時刻(各スクリーンのタイムゾーン):YYYY-MM-DDTHH:MM、または 00:00 を表す YYYY-MM-DD。この境界だけを変更します。
--until WHENstringいいえ変更なしページの表示の終了(排他的):YYYY-MM-DDTHH:MM、またはその日の終わりを表す YYYY-MM-DD。この境界だけを変更します。
--alwaysbooleanいいえオフページの日付 from と until を削除します。プロジェクトが設定したオフ切り替え、週ごとのウィンドウ、データ条件は残ります。--from や --until とは併用できません。
--expect-rev REVISIONstringいいえなしオプションのリビジョン前提条件。保存済みのページから作成したページは、指定しない限り、読み取った時点のリビジョンに固定されます。古い値は revision_conflict です。
--note TEXTstringいいえなし変更を確認する人へのメモ:プレーンテキストで最大280文字。変更が即時適用される場合は無視されます。
screenrig playlist page replace pl_01EXAMPLEPLAYLIST000000 up-ab12cd34 --media med_01EXAMPLEIMAGE0000000000
screenrig playlist page replace pl_01EXAMPLEPLAYLIST000000 up-ab12cd34 --until 2026-12-31
screenrig playlist page replace pl_01EXAMPLEPLAYLIST000000 up-ab12cd34 --always

--file、--media、--sound、--from、--until、--always のいずれか少なくとも 1 つを指定します。日付フラグは複数のプリミティブを持つページでも使えますが、メディア、フィット、秒数を変更するには、プリミティブが 1 つだけのページか、--file でのページ全体が必要です。不明なページ ID は拒否されます。レビューとアップローダーのルールは playlist page add と同じです。アップローダーが置き換えられるのは、自分のフォルダーのメディアページだけです。

playlist page remove#

プレイリストから 1 ページを削除します。

playlist page remove <playlist-id> <page-id> [--expect-rev REVISION] [--note TEXT]
パラメータータイプ必須デフォルトメモ
<playlist-id>stringはいなしpl_プレイリストID
<page-id>stringはいなし削除するページ。
--expect-rev REVISIONstringいいえなしオプションのリビジョン前提条件。現在のリソースを書き込む場合は省略します。提供された古い値はrevision_conflictです:再取得、再適用、再試行。
--note TEXTstringいいえなし変更を確認する人へのメモ:プレーンテキストで最大280文字。変更が即時適用される場合は無視されます。
screenrig playlist page remove pl_01EXAMPLEPLAYLIST000000 up-ab12cd34

プレイリストには 1〜100 ページと、visibility のない通常ページが 1 つ必要なため、最後の日付なしページの削除は invalid_request になります。不明なページは not_found です。レビューとアップローダーのルールは playlist page add と同じです。

playlist show#

1件のプレイリストとその現在のリビジョンを読み込むか、編集可能なドキュメントとして書き込みます。

playlist show <id> [--output FILE [--overwrite]] [--editable]
パラメータータイプ必須デフォルトメモ
<id>stringはいなしpl_プレイリストID
--output FILEパスいいえなし編集可能なドキュメントを FILE に書き込み、そのパス、playlist_id、revision を報告します。ファイルはそのまま playlist update に使えます。親ディレクトリは作成されます。デフォルトは排他。--editable より優先されます。
--overwritebooleanいいえオフ既存の --output ファイルをアトミックに置き換えます。中断された実行が残した空のファイルは、これがなくても置き換えられます。
--editablebooleanいいえオフ編集可能なドキュメントとそのリビジョンを、エンベロープの data.document、data.playlist_id、data.revision として返します。
screenrig playlist show pl_01EXAMPLEPLAYLIST000000
screenrig playlist show pl_01EXAMPLEPLAYLIST000000 --output playlist.json
screenrig playlist show pl_01EXAMPLEPLAYLIST000000 --editable

単独のshowは検査応答です。ライブバージョンを返します。approved_revisionはまだ誰も承認していないプレイリストでは0で、変更待ちの間はapprovalがオープンレビュー名を示し、reviews show IDは提案を返します。プレイリストに関するオープンなノートがある場合、警告notes_about_resourceがその件数を数えてscreenrig notes --about IDを示し、--humanが最大5件を一覧表示します。

playlist list#

プロジェクトのプレイリスト一覧

playlist list [--templates] [--library]
パラメータータイプ必須デフォルトメモ
--templatesbooleanいいえオフテンプレートのみ:フィールドを宣言したプレイリスト。
--librarybooleanいいえオフ代わりに組織のライブラリのプレイリストを読み取り専用で一覧します。スクリーン、スケジュール、スタックに割り当てるか、playlist create --from-template でコピーしてください。変更はライブラリプロジェクトでのみ行います。
screenrig playlist list --templates
screenrig playlist list --library

playlist fields#

テンプレートのフィールドまたはコピーの値を表示するか、値を変更してコピーを最新の状態にします。

playlist fields <id> [--set NAME=VALUE...] [--clear NAME...] [--refresh] [--expect-rev REVISION] [--note TEXT]
パラメータータイプ必須デフォルトメモ
<id>stringはいなしテンプレート、またはテンプレートから作成したプレイリストの pl_ ID。
--set NAME=VALUEstringいいえなしフィールドの値を設定します。繰り返し指定できます。NAME は小文字の英字、数字、アンダースコアからなる1〜32文字のフィールド名で、1回だけ指定します。
--clear NAMEstringいいえなしオプションのフィールドの値を消去します。繰り返し指定できます。
--refreshbooleanいいえオフ値に関係なく、テンプレートの現在のリビジョンからページを作り直します。
--expect-rev REVISIONstringいいえなしこのリソースのリビジョンを任意で要求します。
--note TEXTstringいいえなし変更を確認する担当者へのメモ。
screenrig playlist fields pl_01EXAMPLECOPY00000000 --set headline="Closed today"

オプションなしでは、テンプレートのフィールドとそこから作成されたプレイリストの数、またはコピーの値、作成元のテンプレートのリビジョン、テンプレートに新しいリビジョンがあるかどうかを表示します。data.kind は template または instance で、テンプレートは fields と instances を報告し、コピーは template_id、template_revision、template_current_revision、outdated、values を報告します。すべての変更、および --refresh だけでも、テンプレートの現在のリビジョンからコピーのページを作り直します。これがテンプレートへのブランド変更が既存のコピーに反映される方法で、自動では反映されません。値は作成時と同様に検証されます。Propose アクセスでは変更は確認依頼になります。

playlist instances#

テンプレートから作成したプレイリストと、それぞれの作成元のテンプレートのリビジョンを一覧表示します。

playlist instances <id>
パラメータータイプ必須デフォルトメモ
<id>stringはいなしテンプレートの pl_ ID。
screenrig playlist instances pl_01EXAMPLETEMPLATE00000

outdated は、テンプレートの古いリビジョンから作成されたプレイリストを示します。playlist fields ID --refresh で最新の状態になります。

playlist revisions#

プレイリストのリビジョンを新しい順に一覧表示します。

playlist revisions <id> [--after CURSOR]
パラメータータイプ必須デフォルトメモ
<id>stringはいなしpl_プレイリストID
--after CURSORstringいいえなし前のページのdata.next_cursor
screenrig playlist revisions pl_01EXAMPLEPLAYLIST000000

data.items の各リビジョンには、それを作成したもの(created、edited、コピー元のリビジョンを restored_from として持つ promoted、または履歴開始時にプレイリストが持っていたリビジョンである baseline)、作成者、日時、名前、ページ数、current かどうかが示されます。1 ページには最大 50 件のリビジョンが含まれ、data.next_cursor が文字列である間は古いリビジョンが残っており、null が最後のページを示します。リビジョンはプレイリストが存在する限り保持されます。

playlist revision show#

1件のリビジョンと、その時点のプレイリストを読み込みます。

playlist revision show <id> --revision N
パラメータータイプ必須デフォルトメモ
<id>stringはいなしpl_プレイリストID
--revision Nintegerはいなし読み込むリビジョン。
screenrig playlist revision show pl_01EXAMPLEPLAYLIST000000 --revision 3

data.revision には playlist revisions が列挙するフィールドが入り、data.playlist にはその時点のプレイリスト(名前、ページ、サウンドトラック、形式)が入り、revision はこのリビジョンになります。プレイリストに存在しなかったリビジョン、または履歴の開始前のリビジョンは not_found です。

playlist promote#

以前のリビジョンを新しいリビジョンとしてコピーし、再び現在のものにします。

playlist promote <id> --revision N --expect-rev CURRENT
パラメータータイプ必須デフォルトメモ
<id>stringはいなしpl_プレイリストID
--revision Nintegerはいなしコピーするリビジョン。
--expect-rev CURRENTstringはいなしプレイリストの現在のリビジョン(playlist show)。古い値はrevision_conflictです:プレイリストを読み直して再試行します。
screenrig playlist promote pl_01EXAMPLEPLAYLIST000000 --revision 3 --expect-rev 9

そのリビジョンのページ、サウンドトラック、形式が次のリビジョンになります。名前はそのまま、以前のリビジョンも一覧に残り、プレイリストを表示しているすべての画面が更新されます。コマンドはプレイリストが書き込まれた時点で返り、Player を待ちません。ページは通常の書き込みと同様に再解決されます。セレクターは現在のメディアに一致し、リビジョンが使っていたメディアまたはアプリケーションが失われているか準備完了でない場合、昇格は書き込みと同じ問題で拒否されます。昇格にはライブで公開できる認証情報が必要です。変更がレビュー待ちになる認証情報にはforbiddenが返り、まだ誰も承認していないプレイリストはplaylist_not_approvedです。内容がすでに現在のものと同じリビジョンでは何も変わりません。昇格は Premium の機能です。この機能がないプランでは feature_not_in_plan(終了コード 8)が返されますが、playlist revisions と playlist revision show はすべてのプランで使えます。

playlist delete#

プレイリストを1つ削除します。

playlist delete <id> [--expect-rev REVISION]
パラメータータイプ必須デフォルトメモ
<id>stringはいなしpl_プレイリストID
--expect-rev REVISIONstringいいえなしオプションのリビジョン前提条件。現在のリソースを書き込む場合は省略します。提供された古い値はrevision_conflictです:再取得、再適用、再試行。
screenrig playlist delete pl_01EXAMPLEPLAYLIST000000

スクリーン(アーカイブ済みやペアリング中も含む)がデフォルト、プレイリストのスケジュール、またはテイクオーバーとしてそれを使っている間、スクリーンフォルダーがデフォルトとして使っている間、またはキャンペーンが再生している間は、プレイリストは削除されません。応答は resource_conflict(終了コード 5)です。先にそれらを変更してください。

playlist export#

画像と動画のファイル、サウンドトラックの音声、iframe URL をポータブルなプレイリストバンドルとしてエクスポートします。

playlist export <id> --output DIRECTORY [--skip-applications]
パラメータータイプ必須デフォルトメモ
<id>stringはいなしpl_プレイリストID
--output DIRECTORYパスはいなし保存先ディレクトリ。既存であってはなりません。バンドルは一時的な隣接ファイルを経由して書き込まれ、リネームされます。
--skip-applicationsbooleanいいえオフアプリケーションプリミティブと、空のページまたはアプリケーションが制御するページを削除します。少なくとも 1 ページを残す必要があります。結果には、スキップしたプリミティブとページの ID が一覧表示されます。
screenrig playlist export pl_01EXAMPLEPLAYLIST000000 --output ./lobby-bundle

バンドルには、マニフェスト、プレイリストドキュメント、内容に基づいてアドレス指定された画像、動画、サウンドトラック音声のファイルが含まれます。name、audio、pages が含まれ、format とテンプレートの fields は含まれません。動的セレクター all、tag、folder は正確な ID に固定され、iframe URL は保持され、コメントは除外されます。

カード、ストリーム、adslot ページがあると、メディアのダウンロード前にエクスポートが停止します。アプリケーションも既定ではエクスポートを停止させます。--skip-applications はアプリケーションプリミティブと、空のページまたはアプリケーションが制御するページを削除し、スキップしたプリミティブとページの ID を報告します。少なくとも 1 ページを残す必要があります。このフラグを指定しても、カード、ストリーム、adslot ページがあるとエクスポートは停止します。

カードとアプリケーションへの参照を保持した編集可能なドキュメントには、screenrig playlist show pl_01EXAMPLEPLAYLIST000000 --output playlist.json を使います。ドキュメントは同じプロジェクトの既存リソースを使います。

playlist import#

バンドルディレクトリからプレイリストを作成、または既存のものを更新。

playlist import <directory> [--name NAME] [--update ID [--expect-rev REVISION]] [--poll-ms MS] [--note TEXT]
パラメータータイプ必須デフォルトメモ
<directory>パスはいなしplaylist export によって書き込まれたバンドルディレクトリです。
--name NAMEstringいいえバンドルの playlist 名1~120文字。新しいプレイリストの名前、または --update が置き換えるプレイリストの新しい名前。
--update IDstringいいえ新しいプレイリストが作成されました新規作成ではなくこのpl_プレイリストを更新します。割り当てられたすべてのスクリーンに影響します。オプションの--expect-revを受け入れます。
--expect-rev REVISIONstringいいえなし--update付き:宛先プレイリストの現在のリビジョン。
--poll-ms MSintegerいいえ1000メディアが準備完了になるまでのアップロードのポーリング間隔。
--note TEXTstringいいえなし変更がレビュー待ちになるときの、変更をレビューする人へのメモ、最大280文字。
screenrig playlist import ./lobby-bundle
screenrig playlist import ./lobby-bundle --name "Lobby loop (copy)"
screenrig playlist import ./lobby-bundle --update pl_01EXAMPLEPLAYLIST000000

プレイリストの表示名は繰り返される場合があります。インポートは名前が一致しても別のプレイリストを作成します。既存のプレイリストを置き換えるには ID を指定して --update を使用してください。

インポートはプロジェクトに触れる前にバンドル全体をローカルで検証します:マニフェスト、ドキュメント、パス、メディア種別、長さ、ハッシュ。既存のメディアは正確なファイル名、メディアタイプ、バイト長、ハッシュ、タグが一致した場合に再利用され、残りは変換なしでアップロードされ、すべてのオブジェクトが準備済みになった後にプレイリストが書き込まれます。data は mode(create または update)、source_playlist_id、playlist、directory、および total、reused、uploaded を伴う media を報告します。

Propose アクセスの場合、またはエージェントの変更にレビューを要求するプロジェクトでは、メディアは引き続きアップロードされ、プレイリストの書き込みはレビューになります。data.status は pending_review、data.review がそれを示し、data.next は screenrig reviews show ID です。人が承認するまで、画面上では何も変わりません。

インポートはリモートメディアを削除または剪定しません。アップロード開始後に後続のステップが失敗した場合、エラーは準備済みと確認されたオブジェクトをリストし、プレイリスト書き込みが開始されたかどうかを示します。同じバンドルを再試行すると、それらのオブジェクトが再利用されます。

playlist replace-release#

プレイリスト内のアプリケーションリリース 1 件の置き換えを、それが届くスクリーンとともにプレビューまたは適用します。

playlist replace-release <id> --page PAGE_ID --primitive PRIMITIVE_ID --release-id REL_ID
                         [--apply [--expect-rev REVISION] [--expect-impact TOKEN] [--note TEXT]]
パラメータータイプ必須デフォルトメモ
<id>stringはいなしpl_プレイリストID
--page PAGE_IDstringはいなしアプリケーションを保持するページの正確な ID。
--primitive PRIMITIVE_IDstringはいなしそのページ上の application プリミティブの正確な ID。
--release-id REL_IDstringはいなし新しい不変の rel_ リリース。app update の data.application.release_id から。
--applybooleanいいえオフ置き換えを書き込みます。これがない場合、コマンドは読み取り専用のプレビューになります。
--expect-rev REVISIONstringいいえなし--apply付き:プレビューのプレイリストリビジョン。現在のリビジョンが異なる場合は revision_conflict で、サーバーがアトミックに確認します。
--expect-impact TOKENstringいいえなし--apply付き:プレビューの data.impact。その後に置き換えまたは影響を受けるスクリーンが変わった場合、書き込みは resource_conflict になります。もう一度プレビューしてください。
--note TEXTstringいいえなし--apply付き:変更がレビュー待ちになるときに、変更をレビューする人へのメモ。
screenrig playlist replace-release pl_01EXAMPLEPLAYLIST000000 --page board-page --primitive board --release-id rel_NEW
screenrig playlist replace-release pl_01EXAMPLEPLAYLIST000000 --page board-page --primitive board --release-id rel_NEW --apply

プレビューには、デフォルトの割り当て、保存済みのスケジュールエントリ(一時停止中と将来のものを含む)、テイクオーバー、または現在有効なプレイリスト(キャンペーンと継承されたフォルダーの再生を含む)がそのプレイリストを参照している、アクティブ、ペアリング保留中、アーカイブ済みのスクリーンが一覧表示されます。data には previous_release_id、release_id、revision、affected_screens(それぞれ id、label、state、revision を持つ)、impact、applied が含まれます。--apply を直接指定するとスクリーンの調査をスキップするため、--expect-impact を指定しない限り affected_screens は省略されます。すでに固定されているリリースは、書き込みなしで成功します。レビュー中は --apply が新しい固定を提案します。アプリケーションリリースを置き換えますを参照してください。

プレイリストドキュメント

プレイリストは name(1〜120文字)と pages(1〜100)、オプションの audio サウンドトラック、オプションの format で構成されます。各ページは id、canvas、transition、advance、オプションの visibility、オプションの audio_cue、および primitives(1〜24)を持ちます。ページ、プリミティブ、トラックの ID は、英字1文字に続けて最大63文字の英字、数字、_、- を並べた形式で、ページ ID はプレイリスト内で、プリミティブ ID はそのページ内で一意です。canvas は、1〜1,000,000 の width と height、background、オプションの viewport_fit を受け取ります。ページの背景とモーションを参照してください。

format はプレイリストをビデオウォール({displays, arrangement, orientation}、grid 用の columns 付き)またはストリップ({region, orientation})にします。ビデオウォールは 1920 x 1080(縦向きでは 1080 x 1920)のディスプレイ 2〜12 台で構成され、すべての通常ページはウォールのキャンバスを持ち、プリミティブの displays は rect の代わりに、そのプリミティブが覆うタイルを指定します。ビデオウォールとストリップを参照してください。広告スロットページ({id, type: "adslot", adslot_id}、オプションで visibility)にはキャンバスもプリミティブもありません。プレイリストに含められるのは最大 16 件で、visibility のない通常ページを 1 つ保持します。

テンプレートはドキュメントに fields を追加し、[{name, label, type, required, max_length?}] の type は text、media、url のいずれかで、任意のプリミティブを locked: true としてマークできます。ページはフィールドを、カードの params では {field.NAME}(テキストとアドレスのフィールド)、画像または動画の selector.media_id(メディアフィールド)、iframe の src 全体(アドレスフィールド)として読み取ります。すべてのトークンは正しい型の宣言済みフィールドを指し、すべてのフィールドが読み取られる必要があり、ロックされたプリミティブは何も読み取りません。playlist validate がこれをオフラインで確認します。ロックされたプリミティブを変更できるのは、オーナーまたは承認できるメンバーだけです(primitive_locked)。テンプレートで宣言できるフィールドは最大 16 個です。name は小文字の英字、数字、アンダースコアからなる 1〜32 文字、label は最大 60 文字、テキストフィールドの max_length(デフォルト 200)は最大 2000 です。値のない任意のメディアまたはアドレスフィールドは、それを読み取るプリミティブを省きます。fields の宣言とプリミティブのロックはプレイリストテンプレートの機能で、Premium の機能です。2〜3台のディスプレイのビデオウォール format には Plus、4〜12台には Enterprise が必要です。その機能がないプランでは feature_not_in_plan と required_plan が返されますが、プレイリストにすでにある内容を保つ書き込みは引き続き行えます。テンプレートからのコピーの作成はすべてのプランで利用できます。

6つのプリミティブは、image、アップロードした video、ライブの stream、Webの iframe と application、そして card です。コピーや装飾はワイヤー型ではありません。ライブテキストには card を置くか、エージェントが作った完成済みの静止画をアップロードして画像として置きます。

ストリームには、一意のプロトコルを持つ1つまたは2つの順序付きソースと、同じプロジェクトの準備済み画像を fallback_media_id として指定します。1ページにつきストリームは最大1つで、期間ベースの進行を使用します。HLSは公開HTTPS URLを使い、AndroidとQtのPlayerはログイン情報も含めてRTSPカメラ映像に直接接続します。各Playerが開くURLの形式はカメラの通信方式の詳細を参照してください。AndroidとQtではオプションで直接UDP/MPEG-TSマルチキャストを使え、239/8のIPv4グループとポートを指定します。ソースは url だけを指定し、スキームでプロトコルを決めることもできます。他のPlayerはHLS代替を選ぶか、フォールバックを表示します。ストリームのバイトは再生用にキャッシュされません。音声はデフォルトでミュートです。muted を false にすると再生され、規則は下記の動画の音声と同じです。プレイリストバンドルのインポートとエクスポートはストリームをサポートしません。

{
  "id": "live",
  "primitive": "stream",
  "sources": [
    {
      "protocol": "udp-mpegts",
      "group": "239.10.0.1",
      "port": 5000
    },
    {
      "protocol": "hls",
      "url": "https://example.com/live.m3u8"
    }
  ],
  "fallback_media_id": "med_fallback",
  "muted": true,
  "rect": {
    "x": 0,
    "y": 0,
    "width": 1920,
    "height": 1080
  },
  "layer": 0,
  "content_fit": "contain"
}

このプリミティブはadvance: {"mode":"duration","after_ms":30000}を含むページで使用してください。例のフィードとフォールバックIDを置き換えてください。プレーヤーの要件とトランスポート設定。

すべてのプリミティブはフラットです。id、primitive、そのプリミティブ固有のフィールド、続いて rect、layer、content_fit、オプションの enter と motion です。入れ子のコンテンツオブジェクトはありません。rect はキャンバス単位の x、y、width、height で、layer は 0〜1024 の整数です。rect はブリード用にキャンバスの外へはみ出してもかまいません。Player はコンテンツを rect 全体に合わせてからキャンバスでクリップするため、表示されるキャンバスを埋めるには content_fit cover または fill を使います。カードは layout で配置され、rect が必要なのは free の場合だけです。ウォールのプレイリストでは displays が rect の代わりになります。

画像およびビデオのプリミティブには selector が必要です。selector.by は、準備完了の media_id が1つで one_at_a_time が false の id、1〜1,024個の一意の準備完了 media_ids を持つ ids、そのプリミティブの準備完了オブジェクトすべてを表す all、^[A-Za-z0-9]{1,32}$ に一致する tag、または既存の mfd_ メディアフォルダーの folder_id を持つ folder のいずれかです。この場合はフォルダー直下の準備完了ファイルをそのまま再生し、サブフォルダーのファイルは再生しません。プリミティブ自体に media_id を付けたり、サーバーが解決したアイテムを送ったりしないでください。application プリミティブは1つの release_id を固定し、iframe プリミティブは src と 1〜200 文字の title を受け取るため、どちらもセレクターは使えません。src は、スクリーンから到達できる任意の http または https ページで、LAN 上のページやログインが必要なページも含まれます。YouTube のリンクは自動再生の埋め込みとして保存されます。src、および iframe の任意の fallback_src には、{screen.field.kiosk_id} のようなスクリーントークンを含めることができ、application プリミティブも同じトークンを使った params を持てるため、1つのプレイリストで各スクリーンに専用のページを表示できます。Android、Amazon Signage Stick、Linux、Raspberry Pi、Windows の Player はページそのものを開きます。Player ウェブアプリと macOS、Samsung Tizen、LG webOS、BrightSign の Player はページをフレームに表示するため、X-Frame-Options(DENY、SAMEORIGIN、または廃止された ALLOW-FROM)を送るページ、または Player のオリジンを含まない Content-Security-Policy frame-ancestors リストを持つページでは、これらの Player でブロックされたフレームが表示され、Player ウェブアプリはアドレスにログインを含まない https ページのみを表示します。公開 HTTPS ページがフレーム表示を拒否していることを公開時に検出しても、書き込みは成功し、CLI はサーバーの warnings エントリを表示します。コード iframe_framing_refused、page_id、primitive_id、src、拒否したヘッダー、次の手順(Player のオリジンからのフレーム表示を許可するページを使うか、そのオリジンの許可をページの所有者に依頼してください)が含まれます。サーバーはまた、拒否したページごとに playlist.iframe_framing_refused 警告をイベントログに追加し、events list は primitive_id を付けるとそれを表示します。LAN 上のページ、http ページ、数秒以内にサーバーが到達できないページは検査されません。Player はマニフェストが画面に表示された時点でプレイリストを再生中と報告するため、検証済みの公開が iframe ページの描画を保証するわけではありません。警告に対処するか、スクリーンを確認してください。どちらのウェブプリミティブにも固有のサイズがないため、いずれも content_fit に fill を指定する必要があります。

iframe は reload_s(デフォルトの 0 は再読み込みなし。60〜86400 は、ページが画面に表示されている間、reload_s 秒ごとに src を再読み込みします)、fallback_src(src が読み込めないときに表示されるページ。形式とルールは src と同じで、復旧した src は次の再読み込みで置き換えられます)、navigation_allowlist([scheme://]host[:port][path] 形式のホストソース 1〜64 件。example.com、*.example.com、https://example.com/docs/ など。リストを指定すると、ページのリンク、スクリプトによる移動、リダイレクトは src、fallback_src、および一致するアドレスにのみ届きます。省略すると制限なし、空のリストは拒否されます)も受け取ります。貼り付けた <iframe> の埋め込みコードからは src が読み取られます。Google スライド、ドキュメント、スプレッドシートの共有、ウェブに公開または埋め込みリンク、Microsoft 365 の埋め込みリンクは、スクリーン用に再構築して保存されます。スライドと PowerPoint のデッキはループし、Google スライドのデッキはリンク自体の間隔で進み、ページの継続時間が上限になります(ページにはデッキ全体の時間を指定してください)。ドキュメント、スプレッドシート、Word、Excel は 5 分ごとに再読み込みされます。閲覧者にサインインを求めるファイルは document_not_shared で拒否され、その詳細には変更すべき共有設定が示されます。ウェブページ、動画、ドキュメントを表示するを参照してください。

advance.mode は duration であり、after_ms を伴います。YouTube 動画がちょうど 1 つあるページ(プレイリストやライブは除く)では、until を video_end に設定すると、動画が終わるまでページが表示され、after_ms は画面が動画の長さを読み取れないときの表示時間になります。1つだけ画像または動画プリミティブがあるページでは media_end、audio_cue がサウンドトラックトラックを指定するページでは audio_end、アプリが window.screenrig.nextPage() を呼び出して自身のターンを終了する場合は application と max_ms です。application ページには controller でマークされたプリミティブが1つだけ必要です。他のすべてのモードでは禁止されます。after_ms、max_ms、dwell_ms は 1,000 から 86,400,000 までの整数ミリ秒で、media_end ページの画像には dwell_ms が必要です。1 ページに stream は最大 1 つ、application または iframe のプリミティブは最大 2 つで、media_end はその両方を禁止します。

transition.type は crossfade、swipe-left、swipe-right、swipe-up、swipe-down、dip、wipe-left、wipe-right、wipe-up、wipe-down、slide-left、slide-right、slide-up、slide-down、stinger のいずれかです。duration_ms は必須で、0〜60000 です。playlist init は 200ms のクロスフェードを指定します。スワイプは両ページをカルーセルのように同時に動かします。スライドは新しいページが既存ページの上を移動し、既存ページは4分の1だけ動きます。ワイプは動くエッジで新しいページを後ろから表示します。ディップは既存ページを単色にフェードアウトし、新しいページにフェードインします。color はオプションの #RRGGBB で、デフォルトは #000000、dip でのみ有効です。方向名は動く方向を示します。wipe-left はエッジが左へ動きます。ease はオプションで、linear、in、out、in-out のいずれかです。デフォルトは crossfade と swipe-* では linear、dip、wipe-*、slide-* では in-out です。stinger では指定できません。新しいページが遷移を所有します。プレイリストの最初のページには遷移がありません。

スティンガーは、画面を覆うテーマ付き全画面グラフィックで、アウトゴーイングページを覆い、画面が覆われている間にインカミングページを切り替え、その後覆いを外します。プレイリストのセクション名として使用します:セクションの最初のページに置いてください。stinger オブジェクトは type: "stinger" に必須で、他のタイプでは許可されません。すべてのメンバーは任意です。theme は neomustard(デフォルト)、cyanotype、propaganda、signal、avant-garde、bloom または primetime のいずれかで、カードテーマに対応します。title は最大40文字、subtitle は最大60文字でテーマの表示タイプで設定します。logo は media: とプロジェクト内の準備済み画像のID(例:media:med_01EXAMPLE)の組み合わせです。accent はテーマのアクセントを置き換える任意の #RRGGBB です。スティンガーの duration_ms は2000から6000でバンパー全体を覆い、典型的な長さは2700から4000です。タイトルは hang_ms(0から6000、デフォルト1000ミリ秒=1秒)間完全表示され、hang_ms は duration_ms の最大60%です。長い表示には長い duration_ms が必要です。スティンガーを描画できないプレーヤーは同じ長さのクロスフェードを再生します。ライブのスティンガーカードページでトランジションを確認できます。

以下の例はスティンガーページのトランジションを示します。

{ "type": "stinger", "duration_ms": 3500, "stinger": { "theme": "primetime", "title": "BREAKFAST", "subtitle": "Served until 11", "logo": "media:med_01EXAMPLE", "hang_ms": 1000 } }

プリミティブのオプションの enter オブジェクトは、オブジェクトアニメーションを 1 つ追加します。fade-up、fade-down、fade-left、fade-right、fade-in、zoom-in、zoom-out のいずれかで、0〜8 のオプションの stagger は開始を 1 段階あたり 120ms ずつ遅らせます。オプションの motion は、プリミティブが入場した後も動かし続けます。spin と drift は画像または動画を回転またはスライドさせ、path は画像、動画、アプリケーション、iframe をウェイポイントに沿って動かします。ページの背景とモーションを参照してください。

オプションのページvisibilityオブジェクトはページの再生時間を制限します:必須のenabledブール値、オプションの市民時間fromとuntilの範囲、最大16件の繰り返しwindows(曜日と市民時間)。fromとuntilは各スクリーンのタイムゾーンでのYYYY-MM-DDTHH:MMで、fromは含み、untilは含まず、fromより後でなければなりません。ウィンドウはdays(monからsun)で、startとendはHH:MMとして、両方まとめて指定するか、終日の場合は両方とも省略します。start以前のendは日付をまたぎます。enabled: falseはページを非表示にします。enabled: trueにはfrom、until、windows、dataの少なくとも1つが必要です。すべてのプレイリストはvisibilityフィールドをまったく持たないページを少なくとも1つ保持します。スクリーンはこれらの時刻を実効タイムゾーンで読み取ります。オーバーライドがあればそれ、なければ Player が報告するゾーン、それもなければ UTC です。

ページのvisibility.data条件{key, path?, equals?}は、カードデータのドキュメントが一致している間だけページを表示します。keyはカードデータのキーまたはカードID、pathはドキュメント内のRFC 6901ポインター、equalsは文字列、数値、ブール値、またはnullです(省略すると値が存在するかどうかを判定します)。キー{screen.weather}は各スクリーン自身の場所の天気を読み取ります。場所はscreen update ID --location LAT,LONで設定します。{"enabled":true,"data":{"key":"{screen.weather}","path":"/condition","equals":"rain"}}は、そのスクリーンがある場所で雨が降っている間だけページを表示します。天気ドキュメントにはcondition(clear、cloud、fog、rain、snow、storm、wind)、band(freezingは0 °C未満、coldは0〜9、mildは10〜17、warmは18〜24、hotは25以上)、整数度のtemperatureC、isDayがあります。これはスクリーンの0.25度セルの現在の天気で、約1時間ごとに更新され、予報ではありません。場所のないスクリーンはこのページを表示せず、公開時にはドキュメントに含まれないpathやequals(cloudの代わりのcloudyなど)は拒否されます。ホスト機能page.conditionsを宣言しない Player では、そのようなページは無効になります。データ条件は Plus の機能です。この機能がない場合、ページにまだない visibility.data 条件を追加する書き込みには feature_not_in_plan が返されます。保存済みの条件の維持や削除、時間帯による表示は引き続き使えます。visibilityのない通常のページを予備として残してください。

video または stream プリミティブは、muted を false に設定しない限り無音で再生されます。設定すると、そのページが現在のページである間、スクリーンの音量で音が再生され、そのページはプレイリストのサウンドトラックを一時停止します。サウンドトラックは次の音のないページで同じ位置から再開します。1つのページ上の複数のプリミティブは、すべて音を再生します。音のあるページには audio_cue を付けられません。付ける書き込みは pages[i].audio_cue で invalid_request を返し、「a page with sound cannot cue the soundtrack」と表示されます。ただし、両方を持つ保存済みの古いページは再生され続けます。広告は常にミュートです。

オプションのトップレベルaudioオブジェクトはページが変わる間連続再生され、音声付きのページでは一時停止するサウンドトラックを追加します。tracksは再生順に1から128件のエントリをリストし、それぞれにユニークなid(ページIDパターン)と準備完了のaudioメディアオブジェクトのmedia_idを持ちます。loopはtrueがデフォルトで、最後のトラック後に最初に戻ります。volumeは1がデフォルトで0から1の範囲で、Playerの音量に乗算されます。cuedはfalseがデフォルトで、trueは各トラック後にサウンドトラックを停止し、トラックはページaudio_cueが開始した時のみ再生されます。通常のページはaudio_cueを持ち、そのリストのtrackIDとオプションのrestartブール値(デフォルトfalse)を持ちます:ページが表示されるとPlayerはそのトラックを開始から切り替え、すでに再生中でrestartがtrueの場合のみ再起動します。キューはヒントであり、広告スロットページはキューを持てず、サウンドトラックなしのキューは拒否されます。advance{"mode":"audio_end"}を持つページは、そのaudio_cueが示すトラックの終了時に終了し、キューとサウンドトラックが必要で、after_msは取りません。画像と動画プリミティブのdurationルールに従います。streamプリミティブはまだdurationページが必要で、ページ上のアプリは決してそのコントローラーではありません。max_msはサーバーが上書きするオプションのヒントです。playlist updateは文書全体を置き換えるため、audioを省略するとサウンドトラックが削除されます。playlist patchはaudioを指定しない限りそれを保持し、--clear-audioまたはaudio: nullは削除します。ストリップにはサウンドトラックがありません。サウンドトラック作成。

ほかのコマンドグループ