利用可能なPlayerは?
プレーヤー:Player Webアプリ(PWA)、Google Play の Android、Amazon Signage Stick、Apple TV、macOS、iPhone と iPad、Windows、Linux と Raspberry Pi のパッケージ、LG webOS Signage、BrightSign、Samsung Smart Signage(Tizen)。最速かつ高い信頼性の再生にはネイティブプレーヤーをインストールしてください。
Player の Web アプリ(PWA)は play.screenrig.ai/player/ で動作し、スマート TV や組み込みブラウザ付き商用ディスプレイ、キオスクモードの管理された ChromeOS デバイス、タブレット、またはスクリーンに接続されたコンピューターで利用できます。Player のステータスのみ埋め込みは play.screenrig.ai/player/embed/status/ にあります。
すべてのPlayerはペアリングコードを表示します。エージェントに渡してください。あとは任せられます。
Windows以外のすべてのPlayerは、ペアリング画面にQRコードも表示します。ダッシュボードにサインインしたスマートフォンでスキャンし、画面をペアリングで確定してください。
プラットフォームによるプリミティブサポート
Playerプラットフォーム間の6つのコンテンツプリミティブを比較。
| Player プラットフォーム | 画像 | ビデオ | ストリーム | iframe | アプリケーション | カード |
|---|---|---|---|---|---|---|
| Web / PWA | はい | はい | HLS | はい | はい | はい |
Android(standard) | はい | はい | HLS + RTSP + マルチキャスト¹ | はい | はい | はい |
Android(amazonフレーバー) | はい | はい | HLS + RTSP + マルチキャスト¹ | はい | はい | はい |
| Linux(Qt、x86_64 アーティファクト) | はい | はい | HLS + RTSP + マルチキャスト¹ | はい | はい | はい |
| macOS | はい | はい | HLS | はい | はい | はい |
| Apple TV / tvOS | はい | はい | HLS | いいえ | いいえ | はい |
| Windows | はい | はい | HLS | はい | はい | はい |
| Samsung Smart Signage(Tizen) | はい | はい | HLS | はい | はい | はい |
| LG webOS Signage | はい | はい | HLS | はい | はい | はい |
| BrightSign | はい | はい | HLS | はい | はい | はい |
¹ 直接UDP/MPEG-TSマルチキャストはオプションで、AndroidまたはQtで有効にする必要があります。これはマルチキャストグループをPlayerに届けるネットワークが必要です。他のPlayerはHLSを使用し、マルチキャストソースはHLSの代替を含めることができます。
Apple TV は画像、動画、HLS ストリーム、カードをサポートします。iframe ウェブページやパッケージ化されたウェブアプリは表示できません。これらのウェブプリミティブを含むプレイリストは拒否され、最後に受け入れられたプレイリストが有効のままです。
iframe の src には、YouTube の動画、Shorts、ライブ、プレイリスト、または youtube.com/channel/UC…/live のリンクを指定できます。screenRIG はこれを、自動再生してループし、YouTube のコントロールを非表示にする埋め込みとして保存します。どの Player も、画面のブラウザーが音声を許可する場合は音声付きで再生し、ブラウザーが拒否した場合は Player の Web アプリがミュートで再生します。どこでもミュートにするには、リンクに mute=1 を追加します。ページの advance を {"mode":"duration","after_ms":30000,"until":"video_end"} に設定すると、動画が終わるまでページが表示されます(YouTube 動画がちょうど 1 つあるページ。プレイリストやライブには終わりがありません)。after_ms は、画面が動画の長さを読み取れないときにページを表示する時間です。
すべてのPlayerプラットフォームはプレイリストのサウンドトラックも再生します。Player Webアプリはブラウザが音声を許可すると開始します。詳細はサウンドトラックを参照。
最終的な同期
Android、Amazon Signage Stick、macOS、Windows、Linux、Raspberry PiのPlayerは、同じプレイリスト改訂を表示する近くのPlayerとページ変更を徐々に同期します。1つのIPv4サブネット上のスクリーンに同じプレイリストを割り当ててください。ページの固定時間を1秒以上にし、トランジションをカットし、入場アニメーションを使わないでください。各Playerは小さなページ開始ビーコンを1つ放送し、次のページまでの待機時間をわずかに調整します。タイミング調整は同じプレイリスト改訂の2台目のPlayerが検出された後に有効になります。異なるプレイリストのスクリーンは互いに影響しません。単独のスクリーンは通常の再生タイミングを維持し、グループは仲間が参加すると中央値の再生位置に従います。
ネットワークはポート49817でデバイス間UDPブロードキャストを許可する必要があります。デバイスが要求するとローカルネットワークアクセスを許可します。スクリーンはパケットロス、電源サイクル、ネットワーク分断を通じて再生を続け、ページビーコン到着で再同期します。追加の待機は最大40ミリ秒に制限されます。長いページや大きなタイミング差は同期に時間がかかります。これはビデオフレームやサウンドトラックではなくページ変更を同期します。
ロケーションをすばやく近づけるには、エージェントにscreen reload --tag LOCATIONでスクリーンの再生を再起動させます。LOCATIONは共有タグに置き換えます。プレーヤーは対象プレイリストを最初のページから再起動し、通常のビーコンで整列を完了します。ペアリングとダウンロード済みコンテンツはそのままです。
ネイティブPlayerをインストール
| プラットフォーム | プレーヤーを入手する |
|---|---|
| Android TV、タブレット、サイネージボックス(Android 9以降) | Google Play または Android APK |
| Amazon Signage Stick | Amazon Appstore |
| Fire TV Stick | Amazon Appstore |
| Apple TV | App Store |
| macOS | Mac App Store |
| iPhone と iPad | App Store |
| Windows | Microsoft Store |
| Linux(x86_64) | Linuxパッケージ screenrig.ai/linux/ から |
| Raspberry Pi(64 ビット) | Linux aarch64パッケージ screenrig.ai/linux/ から |
| Samsung Smart Signage(Tizen) | ネイティブプレーヤー |
| BrightSign | screenrig.ai/brightsign/ |
| LG webOS Signage(6.0以降) | screenrig.ai/webos/ |
すべてのダウンロードはダウンロードページにもあります。
- 01
スクリーンデバイス用の Player をインストールする。
- 02
起動します。全画面で開き、ペアリングコードを表示します。
- 03
ペアリングコードをエージェントに渡します。エージェントはスクリーンをペアリングし、公開します。
各ネイティブプレーヤーはメディアを一度ダウンロードし、キャッシュしてローカルストレージから再生します。
Android APK をインストールする
Android TV、Google TV デバイス、タブレット、および Google Play を使用しない Android 9 以降のサイネージボックスで APK を使用してください。ADB でインストールする場合に使用します。
APK は署名済みで公開されています。Google Play ビルドと同じ Player です。ファイル名にバージョンが含まれるため、現在のファイルの唯一の参照先として https://screenrig.ai/android/manifest.json を使用してください。
開始する前に、デバイスで開発者オプションとUSBデバッグまたはネットワークデバッグをオンにしてください。コンピューターにはadbも必要です。
デバイスに接続します。ネットワークデバイスの場合は
adb connect DEVICE_IP:5555を実行してください。APK をダウンロード、検証、インストールしてください:
APK をダウンロード、確認、インストール curl -fsSL https://screenrig.ai/android/manifest.json -o manifest.json path=$(jq -r .player.path manifest.json); sha=$(jq -r .player.sha256 manifest.json) curl -fsSLO "https://screenrig.ai$path" echo "$sha ${path##*/}" | sha256sum -c - adb install -r "${path##*/}" adb shell am start ai.screenrig.playerPlayer は全画面を開き、ペアリングコードを表示します。コードをエージェントに渡してください。
起動時に開始
起動時に開始はデフォルトでオンです。これは Player オペレーター設定のスイッチです:スクリーンをペアリングしたら、リモコンの OK を押してメニューを開き、設定を選択します。Android 9 では権限は不要です。Android 10 以降では、デバイスがデバイスオーナー管理されていない限り、他のアプリの上に表示を許可してください:起動時に開始を選択し、指示に従います。権限画面が使える場合、Player は初めてペアリングコードを表示するときに権限を求めます:設定を開くを選択し、他のアプリの上に表示を許可してください。権限が付与されるまで、この行は権限が必要と表示され、Player は起動時に開始しません。ADB でも許可できます:
adb shell cmd appops set ai.screenrig.player SYSTEM_ALERT_WINDOW allowFire OS 8 では ADB でこの権限を付与します。設定画面からは付与できません。
スクリーンセーバー
Android TVとGoogle TVでは、screenRIGはTVのスクリーンセーバーの1つです。TVの設定でスクリーンセーバーを開き、screenRIGを選択してください。TVがスクリーンセーバーを開始すると、Playerが前面に出てコンテンツを再生します。権限は不要です。
更新中
インストール手順を再実行します。Android はインストール済みのものに上位バージョンを上書きし、ペアリングを保持します。インストール済みのものを置き換えるのは上位バージョンのみです。
Google Play
APK と Google Play ビルドはパッケージ ai.screenrig.player を共有します。Google Play ビルドがインストールされている場合は、先にアンインストールしてください。APK をインストール後に Player を再度ペアリングしてください。
Linux と Raspberry Pi
Linux Player は 64 ビット Linux 向けの自己完結型パッケージで、x86_64 PC と Raspberry Pi などの aarch64 ボード用にビルドされています。Qt、Qt WebEngine、GStreamer を内包します。マシンには screenrig.ai/linux/ に記載されたアーキテクチャ別の glibc バージョン、Wayland セッションまたは cage キオスクコンポジター、GPU ドライバー、フォント、CA 証明書、オーディオサービスが必要です。
インストーラーでインストールしてください。インストーラーはマシンに合ったビルドを選び、SHA256SUMS と照合します。
curl -fsSL https://screenrig.ai/linux/install.sh | sh専用スクリーンでは、cage内のsystemdサービス下で起動時にPlayerを開始するために--kiosk(sh -s -- --kiosk)を追加します。アップグレードはインストーラーを再実行、または--uninstallで削除します。手動インストール:screenrig.ai/linux/からscreenrig-player-linux-x86_64.tar.gzまたはscreenrig-player-linux-aarch64.tar.gzとSHA256SUMSをダウンロードし、sha256sum --ignore-missing -c SHA256SUMSで確認、/opt/screenrig-playerに展開し、/opt/screenrig-player/screenrig-playerを実行します。
Debian 13、Raspberry Pi OS(trixie、64 ビット)、Ubuntu、Fedora、Arch Linux は、パッケージの glibc 要件を満たす場合に Player を実行できます。Debian 12 と Raspberry Pi OS bookworm には古い glibc が搭載されているため、先にアップグレードしてください。キオスク用の各ディストリビューションパッケージはLinux ダウンロードノートにあります。
Raspberry Pi
trixie ベースの Raspberry Pi OS(64 ビット)を使用してください。32 ビットと bookworm イメージは Player を実行できません。Raspberry Pi 5 はハードウェアで最大 4K・60 fps の HEVC をデコードし、H.264 デコーダーを持たないため、Raspberry Pi 5 向けのビデオはサイズにかかわらずすべて screenrig media upload --codec hevc でアップロードしてください。Raspberry Pi 4 は 1080p を再生します。Raspberry Pi OS Lite は --kiosk で直接 Player を起動します。
ディスプレイの解像度は選択した設定のままにしてください。4K HEVC 動画は 1920×1080 の出力で再生できます。Pi Player をアップグレードするには、既存のインストール先と Player アカウントを使って Linux インストーラーを再実行します。ペアリングとディスプレイ設定は保持されます。画面の再読み込みはコンテンツを更新する操作であり、新しい Player バージョンのインストールは行いません。
ビデオウォール
1つのPlayerが2〜12台のディスプレイを1つの壁として駆動します。対象は、--kioskインストールとwlr-randr(sudo apt install wlr-randr)を備えたLinux Playerと、Windows Playerです。Raspberry Pi 5は2台、PCはグラフィックス出力の数まで、Quieter 4CなどのIntelミニPCは最大3台を駆動します。Windows PlayerはWindowsのディスプレイレイアウトを自身で構成します。ディスプレイの配置と回転を行い、formatのないプレイリストではWindowsの複製モードでミラー表示します。Windowsのディスプレイスケーリングはそのまま維持されます。
screen show はスクリーンの出力(例:Linux では HDMI-A-1、Windows では DISPLAY1)を一覧表示します。壁は row(左から右)、column(上から下)、または grid のいずれかです。グリッドには 1 行あたりのディスプレイ数である --columns を指定し、少なくとも 2 行を埋めます。たとえば 12 台のディスプレイを 4 列にすると 3 行になります。ディスプレイは左から右、次に上から下の順に番号が付き、--outputs はその順序で出力に名前を付けます。--rotation は各ディスプレイを 0(デフォルト)、90、180、270 度のいずれかで時計回りに回転します。90 度と 270 度は縦型パネルです。
screenrig screen wall set SCREEN_ID --outputs HDMI-A-1,HDMI-A-2 --arrangement row [--rotation 0|90|180|270]
screenrig screen wall set SCREEN_ID --outputs DISPLAY1,DISPLAY2,DISPLAY3,DISPLAY4 --arrangement grid --columns 2
screenrig screen wall clear SCREEN_ID壁の変更後、各ディスプレイは20秒間その番号と出力名を表示し、順序を確認できます。
壁用に作られたプレイリストは format(displays、arrangement、orientation、グリッドの場合は columns)と 1 ページのキャンバスを持ち、ディスプレイあたり 1080p のデザイン単位で表されます。タイルは横向きで 1920 × 1080、縦向きで 1080 × 1920 で、キャンバスはタイルに列数と行数を掛けた大きさです。4K パネルでも特別な設定は不要です。スクリーンは、壁の形状が同じ場合にのみ壁用プレイリストを再生します。
| ディスプレイ | 配置 | 横向きキャンバス | 縦向きキャンバス |
|---|---|---|---|
| 2 | 行 | 3840 × 1080 | 2160 × 1920 |
| 2 | カラム | 1920 × 2160 | 1080 × 3840 |
| 3 | 行 | 5760 × 1080 | 3240 × 1920 |
| 3 | カラム | 1920 × 3240 | 1080 × 5760 |
| 4 | グリッド、2 カラム | 3840 × 2160 | 2160 × 3840 |
| 12 | グリッド、4 カラム | 7680 × 3240 | 4320 × 5760 |
displays付きのアイテムを配置します:[1,2,3]は横一列の3つのディスプレイ、[2]は1つのディスプレイ、[1,2]は2つのディスプレイにまたがります。指定したディスプレイは壁の長方形を埋めます:4列のグリッドでは、[1,2,5,6]は左上のブロック、[3,7,11]は3つのディスプレイの縦列です。壁キャンバス上に任意のrectを指定することもできます。カードはdisplays内にレイアウトされるため、[2]にcenterを指定するとディスプレイ2の中央に配置されます。displaysがなければすべてのディスプレイを使用します。壁付きスクリーンでは、通常のプレイリスト(formatなし)がすべてのディスプレイでミラー再生されます。
壁のアスペクト比で4K内の壁ビデオをレンダリングします。例:横向き3台のディスプレイを1行に並べる場合は3840 × 720、2台なら3840 × 1080、4列3行のグリッドなら3840 × 1620。content_fit: fillで配置します。テキストや顔はディスプレイの継ぎ目にかからないようにします。
{
"name": "Lobby wall",
"format": { "displays": 3, "arrangement": "row", "orientation": "landscape" },
"pages": [
{
"id": "welcome",
"canvas": { "width": 5760, "height": 1080, "background": "#000000FF" },
"transition": { "type": "crossfade", "duration_ms": 500 },
"advance": { "mode": "media_end" },
"primitives": [
{
"id": "film",
"primitive": "video",
"selector": { "by": "id", "media_id": "med_01EXAMPLEWALL000000000" },
"displays": [1, 2, 3],
"layer": 0,
"content_fit": "fill"
},
{
"id": "menu",
"primitive": "card",
"card": "crd_01EXAMPLEMENU000000000",
"layout": "center",
"displays": [2],
"content_fit": "fill"
}
]
}
]
}ストリップ
ストリップとは、ディスプレイの一辺に沿ってページの上に描画されるプレイリストです。下部のティッカーや上部のロゴなどに使います。ページはその下で再生され続け、ストリップは覆った部分を隠します。ストリップは領域ごとに作られます:header(上端)、footer(下端)、side(右端、全高)。
ストリップのプレイリストは領域プレイリストで、format: {"region": "footer", "orientation": "landscape"} を持ち、orientation は対象ディスプレイの向き(視聴者から見た向き)です。端の形に合わせたストリップ用のキャンバスを 1 つ持ちます。長辺は端に沿い、短辺の 2 倍以上で、たとえば横向きのフッターまたはヘッダーは 1920 × 240、横向きのサイドは 240 × 1080 です。ストリップには画像とカードの項目だけを置け、動画、ストリーム、iframe、アプリケーション、広告スロットは置けず、サウンドトラックもありません。ストリップが既定のプレイリストやテイクオーバーになることはありません。
screenrig playlist create ticker.json --format-region footer --format-orientation landscape
screenrig campaign create --name Ticker --playlist-id pl_TICKER --tag lobby --covers footerキャンペーンまたはスケジュールエントリーは covers でストリップを表示します。footer、header、side はその領域のストリップを再生し、full(既定)または main は通常のプレイリストをページとして再生します。領域をカバーするレベルには、その領域用に作られたプレイリストが必要です。
ストリップはキャンバスの縦横比を保ち、回転後の、同じ向きの各ディスプレイの端に沿って広がり、ディスプレイの半分までを覆います。向きの異なるディスプレイや、ストリップが半分を超えて覆ってしまうディスプレイ(ヘッダーとフッターは高さ、サイドは幅)にはページだけが表示されます。オーバーレイトリガーのアラートバーはストリップの上に描かれます。対象のどのスクリーンにも収まらないキャンペーンやエントリーは拒否されます(playlist_format_mismatch)。混在したオーディエンスで収まらないスクリーンでは、campaign explain が region_not_laid_out を報告し、スクリーンはページを表示します。プレイリストを領域に入れる、領域から外す、別の領域に変える変更は、スクリーン、フォルダー、キャンペーンが使用している間は拒否されます。
Player の Web アプリをインストールする
- 01
スクリーンデバイスで play.screenrig.ai/player/ を開きます。
- 02
iOSではSafariを使い、共有 → ホーム画面に追加。AndroidではChromeを使い、アプリをインストールまたはホーム画面に追加。
- 03
インストール済みのPWAを開き、表示されるセットアップ手順に従います。
- 04
PWAをスクリーンデバイスの前面に保持します。
自動再生を許可したキオスクブラウザを起動すると、Player の Web アプリはすぐに音声を再生します。音声を拒否するブラウザでは動画をミュートで再生し、Player のログにその旨が記録されます(Chrome は --autoplay-policy=no-user-gesture-required、Fully Kiosk は Autoplay Audio)。
Player は自身の環境の API とペアリングします。play.screenrig.ai は api.screenrig.ai と対応します。CLI が別の API オリジン --api-url https://api.DOMAIN を使う場合は、代わりに https://play.DOMAIN/player/ を開いてください。
あなたのエージェントはPlayerにコンテンツを公開するために公式プラグインが必要です。
ローカルネットワーク上のアプリケーション
アプリケーションは、http://192.168.1.20 にあるコントローラーなど、スクリーン自身のネットワーク上の http:// および ws:// アドレスを呼び出せます。キオスクブラウザーでは、ブラウザーの所有者が許可します。Chrome と Edge 142 以降では、エンタープライズポリシー LocalNetworkAccessAllowedForUrls を https://play.screenrig.ai に設定します。Player はその権限をフレーム表示するアプリケーションに渡し、プライベート IP アドレスと .local の名前は、fetch や画像を含め、http と ws で読み込まれます。それ以外の http:// ホスト名では、InsecureContentAllowedForUrls も https://play.screenrig.ai に設定するか、サイト設定で 安全でないコンテンツ: 許可 を選びます。どちらのポリシーも、アプリケーションのアドレスではなく Player ページを指定します。スクリーンのネットワーク上のデバイスにアクセスするでは、画像と CORS を扱います。
ChromeOSキオスク
Chromebox、Chromebase、ChromeOS Flex PCなどの管理されたChromeOSデバイスは、Google管理コンソールからキオスクアプリとしてPlayerウェブアプリを実行します。デバイスは直接Playerを起動し、全画面表示を維持し、閉じた場合は再起動します。
- 01
Google管理コンソールで デバイス → Chrome → アプリと拡張機能 → キオスク を開き、スクリーンの組織単位を選択します。
- 02
URLでアプリを追加:プロジェクトのフリートリンク、または末尾にスラッシュを付けた
https://play.screenrig.ai/player/で各デバイスをコードでペアリングします。 - 03
自動起動に設定し、アプリによる電源管理を許可をオンにします。
- 04
デバイスのキオスク電源設定で、アイドル動作を 何もしない に設定し、スクリーンが暗くなったりスリープしたりしないようにします。
- 05
デバイスを再起動します。フリートリンクがあれば、プレーヤーは新しいスクリーンとしてプロジェクトに参加します。なければペアリングコードを表示します。コードをエージェントに渡してください。
キオクセッションで、Playerはデバイスのシリアル番号と管理コンソールで注釈した資産IDおよび場所を読み取ります。これらはダッシュボードのスクリーンホスト詳細と screen show に表示されます。パワーウォッシュや再インストールでデバイスに新しいPlayer IDが付与されても、シリアル番号によりエージェントが既存のスクリーンに screen recover で再接続し、新しいペアリングは不要です。
サウンドトラックには、https://play.screenrig.ai の自動再生を AutoplayAllowlist ポリシーで許可します。
全フリートの1つのURL
フリートリンクは1つのPlayer URLで、それを開くすべてのデバイスがペアリングコードなしでプロジェクト内の独自のスクリーンになります。エージェントに依頼するか(screenrig fleet-links create)、ダッシュボードの設定 → フリートリンクで作成し、キオスクアプリのステップ2にURLを設定します。新しいデバイスはリンクのタグとプレイリストを引き継ぎ、管理コンソールで注釈を付けたアセットIDの名前とロケーションを取得します。
すでにスクリーンであるデバイスは再起動や更新後もそのスクリーンのままです。パワーウォッシュや再インストール後は、古いプレーヤーIDが10分間無音の後に同じスクリーンとして戻ります。リンクに最大スクリーン数制限を設定し、新しいスクリーンの参加を停止したり、広く共有されたURLを置き換えるために回転できます。リンクが作成したスクリーンは3つすべてを通じて再生を続けます。管理コンソールにURLを保持してください:プロジェクトにスクリーンを作成します。
RS-232経由の表示電源
ディスプレイの RS-232 制御ポートを USB シリアルアダプターで ChromeOS デバイスに接続し、https://play.screenrig.ai の SerialAllowUsbDevicesForUrls ポリシー(アダプターの USB ベンダーおよび製品 ID)または SerialAllowAllPortsForUrls にアダプターを許可します。起動時にプレーヤーは許可されたポートで工場出荷時設定の 9600 ボーとディスプレイ ID で Samsung(MDC)、LG、NEC、Philips(SICP)ディスプレイを検出します。その後、ディスプレイの電源、スタンバイ、再起動を切り替え、ディスプレイから読み取った電源状態を報告します。スクリーンのホスト機能リストにディスプレイ電源(RS-232)があります。
デバイス管理ツールでのフリートリンク
フリートリンクのURL(ダッシュボードの設定 → フリートリンク、またはscreenrig fleet-links create)は、お使いのデバイス管理ツールにも設定します:
- Android、Google TV、Amazon Signage Stick。EMMまたはデバイス管理ツールで、アプリのマネージド構成に
fleet_linkキーを設定します(パッケージai.screenrig.player)。 - Apple(Mac、Apple TV、iPhone、iPad)。MDMで、マネージドApp構成に
fleet_linkキーを設定します。 - LinuxとRaspberry Pi。URLをファイル
/etc/screenrig/fleet-linkに書き込むか、インストーラーに--fleet-link URLを追加します(sh -s -- --kiosk --fleet-link URL)。
AndroidとAppleでは、オプションのキー asset_id と location が新しいスクリーンの名前になり(アセットIDが優先)、serial により再インストールしたデバイスは自分のスクリーンに戻れます。
スクリーンを持たないデバイスは、リンクのプロジェクトに自動的に参加します。リンクが使えなくなった(再発行済み、オフ、上限到達、期限切れ)デバイスは、理由を示す1行とともにペアリングコードを表示します。URLはデバイス管理ツールに保管してください:プロジェクトにスクリーンを作成します。
フリートリンクは、指定した日時で終了させることができます。--expires-at(例:2027-12-31T23:59:59Z)を screenrig fleet-links create または update に渡すか、ダッシュボードの有効期限を設定します。その日時以降、新しいデバイスはペアリングコードを表示し、リンクが作成したスクリーンは再生を続けます。
QR コードによる Android デバイスオーナー設定
初期化済みの Android 10 以降でカメラ付きのデバイスは、デバイス管理ツールなしでフリートリンクに参加できます。ダッシュボードでリンクを開き(設定 → フリートリンク)、Android デバイスオーナーの下でQR コードを表示を選び、デバイスのようこそ画面を 6 回タップしてコードをスキャンします。デバイスは管理対象の Player をダウンロードし、コードに含まれる署名証明書で確認して、デバイスオーナーとしてインストールし、ペアリングコードなしでリンクのプロジェクトに参加します。その後、Player はデバイスのホームアプリとして全画面で動作し、ナビゲーションバー、通知、ロック画面は表示されません。
コードにはプロビジョニングペイロードが含まれ、プロビジョニング JSON をコピーで、JSON からプロビジョニングするデバイス管理ツール向けにコピーできます。エージェントは screenrig fleet-links show ID --android-provisioning で同じペイロードを出力します(ペイロードにリンクのシークレットが含まれるため、Manage サインインが必要です)。QR コードにエンコードしてください。ペイロードは次のとおりです:
{
"android.app.extra.PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME": "PACKAGE/ai.screenrig.player.managed.ScreenRigDeviceAdminReceiver",
"android.app.extra.PROVISIONING_DEVICE_ADMIN_PACKAGE_DOWNLOAD_LOCATION": "DOWNLOAD_URL",
"android.app.extra.PROVISIONING_DEVICE_ADMIN_SIGNATURE_CHECKSUM": "CHECKSUM",
"android.app.extra.PROVISIONING_LEAVE_ALL_SYSTEM_APPS_ENABLED": true,
"android.app.extra.PROVISIONING_ADMIN_EXTRAS_BUNDLE": { "fleet_link": "FLEET_LINK_SECRET" }
}PACKAGE、DOWNLOAD_URL、CHECKSUM は、https://screenrig.ai/android/manifest.json の managed エントリから取得します。package、https://screenrig.ai の後に path を続けたもの、signer_sha256 をパディングなしの URL セーフな base64 にしたものです。FLEET_LINK_SECRET はリンクの URL の #fleet= より後ろの部分です。ファイルはバージョン付きで保持され、チェックサムは署名証明書に属するため、印刷したコードは新しい Player が掲載されても使い続けられます。このコードにはリンクのシークレットが含まれるため、デバイスを設定する担当者にのみ共有してください。
ブラウザーソース(vMix、OBS)
ブラウザーソースはストレージを保持しないため、その中の Player は読み込むたびにペアリングを失います。画面リンクは1つのスクリーンのアドレスです。そこから開いた Player は、何も保持せずに、読み込むたびにそのスクリーンになります。vMix や OBS のブラウザーソース、またはデータを消去するブラウザーに使います。
- 01
スクリーンを一度ペアリングします。任意のブラウザーで Player のウェブアプリを開き、表示されるコードをエージェントに渡して、スクリーンがアクティブになるまで待ちます。
- 02
エージェントにスクリーンのリンクを依頼するか(
screenrig screen link create SCREEN_ID)、ダッシュボードでスクリーンを開いてリンクを作成を選びます(プロパティタブの画面リンクの行にあります)。 - 03
リンクをコピーします。エージェントが
screenrig screen link show SCREEN_IDで表示するか、ダッシュボードでリンクをコピーを選びます。形式はhttps://play.screenrig.ai/player/#screen=の後にシークレットが続きます。 - 04
ブラウザーソースの URL として貼り付けます。
- 05
ソースはスクリーンのプレイリストを直ちに再生し、再読み込みのたびに再び再生します。
画面リンクは1か所だけで開いてください。2か所で開くと、同じスクリーンが2回になります。1つのブラウザーにある複数のブラウザーソースは、それぞれ自分のリンクを使えば別々のスクリーンとして動作します。
画面リンクは認証情報です。持っている人はそのスクリーンを開けます。漏えいした場合や取り戻したい場合は、もう一度リンクを依頼します(screenrig screen link create SCREEN_ID、またはリンクを置き換え)。古いアドレスは直ちに動作しなくなり、まだそれを表示しているソースは通知だけを表示してコンテンツは表示せず、ペアリングコードも出ません。新しいアドレスを貼り付けるとソースは再び再生されます。リンクをオフにする(screenrig screen link delete SCREEN_ID)は新しいリンクを作らずにリンクを終了します。スクリーン自身の Player がある場合も、どちらの場合も影響を受けません。
スクリーンでの広告
既に使用している Player は広告 Player としても機能します。追加インストールは不要です。
販売はスクリーンごとに選択するもので、同じ公式プラグインと CLI を通じて行います。screenrig ads inventory update scr_LOBBY --enabled で所有スクリーンを広告オンにし、サイト名、都市、地域、会場タイプ、オーディエンスタグで公開説明します。screenrig ads slots create で再利用可能な広告スロットを定義します—許可されるメディア(画像または動画)、最長の画像・動画の長さ、オプションの料金上書き。スロット定義だけでは画面に変化はなく、その広告スロットページをプレイリストに配置することで実際の広告枠ができ、他のページは通常通り再生されます。
有料広告はadslot再生をサポートするPlayerが必要です。サーバーはそのサポートがないPlayerには通常のplaylistのみを提供し、そのスクリーンはハウスコンテンツと有料広告なしを再生します。対応Playerは各adslotページのフィルを要求し、埋められないスロットはスキップしてplaylistを進めます。購入者は何もペアリングせず、screenrig invitations create --kind ad-buyer --email ADDRESS --screen-id scr_LOBBYで送信する招待を通じてあなたの在庫から購入します。
プラグイン、プロジェクト、最初のスクリーンの手順はスタートガイドにあります。
商用ディスプレイ
Samsung Smart Signage(Tizen)はネイティブscreenRIGプレーヤーを実行します。
OS 9.1以上のBrightSignプレーヤーはSDカードからscreenRIG Playerを自動起動します。パッケージをカードのルートに展開し、挿入して電源を入れてください。プレーヤーはハードウェアポリシーを適用し、screenRIG Playerを開きます。
- 01
プレーヤーの時計とネットワークを先に設定します。時計がずれているとセキュア接続が停止します。
- 02
FAT32 SDカードのルートに抽出し、カードを挿入してください。
- 03
プレーヤーの電源を入れます。パッケージが起動し、ペアリングコードが表示されます。
- 04
コードをエージェントに渡す
LG webOS Signage
バージョン6.0以降(Chromium 79以降)のLG webOS Signageディスプレイは、screenRIGプレーヤーを実行します。インストールされたアプリが電源投入時に起動し、プレーヤーを開きます。webOS Signage 4.x以前のディスプレイは、プレーヤーが必要とするより古いブラウザーを使用しています。パッケージは screenrig.ai/webos/ からダウンロードしてください。
Local アプリケーション起動モードのディスプレイは、USBメモリから com.lg.app.signage.ipk をインストールします。
- 01
最初にディスプレイの日付、時刻、ネットワークを設定します。時計がずれているとインストールが「Unknown error」で止まり、セキュア接続も停止します。
- 02
FAT32形式のUSBメモリのルートに
applicationという名前のフォルダーを作成し、その中にcom.lg.app.signage.ipkを置きます。ファイル名は変更しないでください。 - 03
USBメモリをディスプレイに挿します。Server Settings で Application Launch Mode を Local、タイプを IPK に設定し、USB から Local Application Upgrade を実行します。
- 04
ディスプレイを再起動します。アプリが起動し、ペアリングコードが表示されます。
- 05
コードをエージェントに渡す
ディスプレイのアプリメニューまたはSIサーバーからインストールする場合は、代わりに ScreenRig-webos.ipk を使用します。2つのパッケージはディスプレイから見て別々のアプリで、それぞれ独自のペアリングを持つため、1台につきどちらか一方だけをインストールします。
ネットワークの準備前に起動したディスプレイは、screenRIGの画面を表示し、プレーヤーが応答するまで再試行を続けます。リモコンの Info を押すと、ディスプレイのモデル、ブラウザーのバージョン、接続状態を確認できます。
HTML5ブラウザまたはURLランチャーを内蔵した他の商用ディスプレイは、play.screenrig.ai/player/を直接開き、上記のWebアプリ手順に従えます。ディスプレイはページを前面に保持し、データの保存を許可する必要があります。Android TVやフルブラウザ搭載のストリーミングボックスも同様に、ボックスのブラウザでplay.screenrig.ai/player/を開き、エージェントにペアリングコードを渡し、ページを前面に保持します。
ストリームとフォールバック画像
ライブフィードには stream を、アップロードファイルには video を使用してください。ストリームには同じアカウントのアップロード済み画像がフォールバックとして必要です。接続中、再生が停止した場合、または Player がソースを受信できない場合に画像が表示されます。
フィードを準備
埋め込み認証情報なしの公開 HTTPS HLS プレイリスト、またはカメラの RTSP URL を使用してください。Web Player では、プレイリスト、セグメント、およびキーが Player オリジンからのクロスオリジンリクエストを許可する必要があります。H.264 ビデオと AAC オーディオは実用的な開始プロファイルです。デコードはデバイスに依存します。オーディオはデフォルトでミュートされており、ブラウザの自動再生ルールが適用されます。
タイミングと転送方法を選択
ページごとに最大 1 ストリームと期間ベースの進行を使用してください。異なるプロトコルの 1 または 2 つのソースを優先順で提供してください。ソースは url だけを指定することもでき、https の URL は HLS、rtsp または rtsps の URL は RTSP になります。マルチキャストの場合は、239/8 の管理スコープ IPv4 グループと UDP ポートを使用し、他の Player 用に HLS の代替を追加してください。screenRIG はマルチキャストを HLS に変換しません。ストリームはオフライン再生用にキャッシュされませんが、フォールバック画像はキャッシュされます。
カメラを直接再生する
Android、Amazon、Linuxのプレーヤーは、プレーヤー自身のネットワークから中継なしでrtsp://のカメラソースを直接開きます。カメラまたはレコーダーが示すURLを、user:pass@のログイン情報も含めて使ってください。Linuxはrtsps://のソースも開きます。
UniFi Protectカメラの場合は、カメラのProtect設定でチャンネルのRTSPをオンにしてURLをコピーします。AndroidとAmazonは、Protectのポート7441のrtsps:// URLを、ポート7447の暗号化されていないrtsp://に変換し、enableSrtpを削除します。プレーヤーからProtectコンソールのポート7447に到達できる必要があります。この接続はTLSもSRTPも使用しません。AndroidとAmazonでその他の暗号化されたRTSPSソースを使う場合は、HLS代替ソースまたはフォールバック画像を指定してください。他のプレーヤーはHLS代替ソースを再生するか、フォールバック画像を表示します。
マルチキャスト受信を有効にする
Androidではオペレーターメニューを開き、設定を選択してマルチキャストストリームを有効にします。デフォルトはオフです。QtではPlayer起動環境にSCREENRIG_ENABLE_MULTICAST=1を設定し、--capabilities-jsonを確認してください。ネットワークは選択したマルチキャストグループとポートを通す必要があります。このバージョンはDRM、RTP、カスタム認証ヘッダー、ストリームトランスコーディングを提供しません。
サウンドトラック
プレイリストサウンドトラックはすべてのPlayerで再生されます。Playerは各MP3トラックをプレイリストと共にダウンロード・検証し、ページ変更中に順に再生します。ページ遷移は音楽を停止・再起動しません。サウンドトラックはキャッシュ済みトラックからオフラインでも再生を続けます。キュー付きサウンドトラック(cued: true)はページキューが開始したときのみトラックを再生し、そのトラック終了後は次のキューまで無音です。advance が audio_end のページはキュー付きトラック終了で終了します。Playerがトラックを再生できない場合、ページはトラック長だけ持続します。
エージェントがプレイリストを再公開すると、新しいサウンドトラックに現在のトラックがまだ含まれていれば再生が続きます。サウンドトラックの音量はPlayerの音量と掛け合わされるため、オペレーターの音量設定やディスプレイの音量調整が画面の音量を決定します。
ブラウザはページに触れるまで音声をブロックすることがあります。Player の Web アプリはページを表示し続け、最初のタップまたはキー押下でサウンドトラックを開始します。無人キオスクブラウザの場合、音声付きの自動再生を許可してください。Chromium では --autoplay-policy=no-user-gesture-required で起動し、ChromeOS キオスクでは AutoplayAllowlist ポリシーを設定します。ネイティブ Player は設定不要です。
デバイスの状態とディスプレイ制御
すべてのPlayerは15分ごとにデバイスの状態を報告し、表示接続や電源が変わると即時に報告します。リモート再起動と使用可能な表示電源制御方法を宣言します。Playerが読み取り・切替可能な内容はプラットフォームとデバイス設定に依存します。
各スクリーンの実際の機能はscreen showにホスト機能として表示され、最新のヘルスレポートの隣にあります。これにより、エージェントは操作前にそのスクリーンが再起動やディスプレイ切替に対応しているか把握できます。表には各プレーヤーができることが示されます。
| プレーヤー | ヘルスを報告しました | 表示電源 | 再起動 |
|---|---|---|---|
| Web / PWA | Player の稼働時間、CPU コア数、ディスプレイ状態、およびブラウザが公開するネットワークタイプ | ChromeOS キオスクの RS-232(シリアルポート許可済み)・画面消灯 | いいえ |
| Android(Google Play) | デバイスとPlayerの稼働時間、メモリ、CPUコア数、ディスプレイ接続と電源、ネットワークとWi-Fi信号、バッテリーのあるデバイスではバッテリー残量、充電状態、電源、クラッシュ、レンダラー再起動 | 画面上のブラックアウト | いいえ |
| Android(管理対象、デバイスオーナー) | Google Play として、さらに CPU 温度も | バックライト;特権インストールでのHDMI-CEC;画面のブラックアウト | はい |
| Amazon Signage Stick | Google Play として | 画面上のブラックアウト | いいえ |
| Linux と Raspberry Pi | デバイスとPlayerの稼働時間、メモリ、CPU負荷、温度、ディスプレイ接続と電源、ネットワークとWi-Fi信号、クラッシュ | CEC デバイスと cec-ctl を使った HDMI-CEC;ddcutil がモニターを検出;パネルバックライト;画面のブラックアウト | はい、--kioskインストール後に |
| macOS | デバイスとPlayerの稼働時間、メモリ、CPU負荷とコア数、ディスプレイ接続と電源、ネットワークタイプ | Macで動作した後のスリープ表示;画面のブラックアウト | いいえ |
| Apple TV | デバイスとPlayerの稼働時間、メモリ、CPU負荷とコア数、ディスプレイ電源、ネットワークタイプ | 画面上のブラックアウト | いいえ |
| Windows | デバイスとPlayerの稼働時間、メモリ、CPUコア数、ディスプレイ接続と電源、ネットワークタイプ、レンダラー再起動 | DDC/CIでモニターが応答;モニターオフ;画面上ブラックアウト | はい、アカウントがPCのシャットダウンを許可する場合 |
| BrightSign | ウェブPlayerの読み取り値 | BrightSign シェル経由の HDMI-CEC;画面のブラックアウト | はい、BrightSignシェル経由で |
リモートアクション
デバイス操作はさらに3つが Player にコマンドとして届きます。キャッシュのクリア、アプリケーションの再起動(デバイスではありません)、最新リリースへの更新です。Player は、そのデバイスで動作する場合にのみ、ホスト機能に clear_cache、restart_app、update を宣言するため、screen show は実行前にエージェントに知らせます。Player がその機能を宣言していないスクリーンは command_unsupported で応答し、何も送信されません。キャッシュをクリアしてもペアリングと設定は保持され、マニフェストからコンテンツが再び満たされます。各コマンドは、screen show、done、failed の commands の下に、Player が報告する原因とともに一覧表示されます。
| プレーヤー | キャッシュをクリア | アプリを再起動 | 更新 |
|---|---|---|---|
| Web / PWA | はい | はい、ページの再読み込み | はい、サービスワーカーが更新され、その後ページが再読み込みされます |
| Android (Google Play, Amazon Signage Stick) | はい | デバイスが Player 自身の再起動を許可する場合 | いいえ、ストアが更新します |
| Android(管理対象、デバイスオーナー) | はい | はい | いいえ、デバイスマネージャーが更新します |
| Linux と Raspberry Pi | はい | はい | はい、更新チャネルが残っているインストールの場合 |
| macOS | はい | はい | いいえ、App Store が更新します |
| Apple TV | はい | いいえ | いいえ、App Store が更新します |
| Windows | はい | はい | はい、Store パッケージ版の場合 |
アイドル時の暗転、自動明るさ、キオスクロック
3 つのスクリーン設定が、デバイス上の画面そのものの動作を決めます。Player は、screen show がその設定のホスト機能 (display_power.idle、brightness.auto、kiosk_lock) を一覧に含む場合に適用します。設定はどちらの場合も保存されます。
- アイドル時の暗転。 タッチまたはキー操作がないまま 30〜86400 秒が経過すると、または presence が復帰イベントの場合は画面の前に誰もいないまま経過すると、画面が暗転し、再生が一時停止します。選択に応じて、タッチまたは presence で再び点灯します。暗転した画面を復帰させたタッチは、それ以上は伝わりません。presence はデバイス上でデバイスのカメラを読み取り、画像がデバイスの外に出ることはありません。ディスプレイをオフに保つディスプレイスケジュールまたはオーバーライドが優先されます。
- 自動明るさ。
autoはデバイスの光センサーで明るさを設定し、fixed(デフォルト)はオペレーターの明るさを維持します。デバイスがbrightness.autoを宣言するのは、光センサーがある場合だけです。 - キオスクロック。 Android Player は、画面固定を使って自身を画面に固定します。デバイスオーナーは不要です。初回は画面の前にいる人が確認し、固定が続く間はステータスバー、ホーム、最近使ったアプリが無効になります。
エージェントは screen display-idle、screen brightness、screen kiosk-lock で設定します。ダッシュボードのスクリーンページのプロパティタブにも、デバイス設定の下に同じ 3 つがあります。
ライブビュー
ライブビューは、スクリーンが再生している内容をダッシュボードで動画として表示します。screenrig screen live frameは、HTTPS しか使えないエージェント向けに、その JPEG フレームを保存します。Android プレーヤー(Google Play と Amazon Signage Stick)、Linux、Raspberry Pi が配信し、対応するスクリーンはscreen showのホスト機能にlive_viewを表示します。Android では、プレーヤーが起動するたびに、スクリーンの前にいる人が画面キャプチャを一度許可します。ライブセッションは有効期限が切れると自動的に終了します。見続けるには、もう一度開始してください。
最初のスクリーンをチェック
エージェントに対象スクリーンを指定し、簡単な歓迎メッセージの公開を依頼します。プレーヤーが表示したらスクリーンショットを依頼してください。
エージェントのリストにスクリーンがない場合、Playerが開いてセットアップが完了しているか確認してください。コンテンツが更新されない場合はデバイスの接続を確認し、エージェントにスクリーン状態と再生証拠の検査を依頼してください。
スクリーン上のチップや screen show のコードについては、Playerステータスコードで説明しています。
スクリーンがペアリングされると、そのオペレーターメニューがスクリーン名とプレイリスト、ページを表示します。