文档

将 播放器 放到你的屏幕上

在屏幕上安装 screenRIG 播放器,保持其运行,让你的智能体发布内容。相同的播放器显示普通内容和选择加入账户的付费广告;买家不配对任何设备。

有哪些播放器可用?

播放器: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)。安装原生播放器以获得最快、最可靠的播放体验。

播放器 Web 应用(PWA)位于 play.screenrig.ai/player/,可在任何带现代浏览器的屏幕上运行:智能电视或内置浏览器的商用显示器、以 kiosk 模式 管理的 ChromeOS 设备、平板或连接至屏幕的电脑。播放器状态嵌入版位于 play.screenrig.ai/player/embed/status/。

每个播放器显示配对码。提供给你的智能体,由其处理后续。

除 Windows 外,每个播放器的配对界面还会显示二维码。用已登录控制台的手机扫描,并点击 配对屏幕 确认。

平台对原始支持

比较播放器平台上的六个内容原语。

六种内容类型,在播放器平台间对比
播放器平台图片视频流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 上启用。它需要网络将多播组传送到播放器。其他播放器使用 HLS;多播源可以包含 HLS 备选方案。

Apple TV 支持图片、视频、HLS 流和卡片。不支持显示 iframe 网页或打包的 Web 应用。包含任一 Web 原语的播放列表会被拒绝;最后接受的播放列表保持激活。

iframe 的 src 可以是任意 YouTube 视频、Shorts、直播、播放列表或 youtube.com/channel/UC…/live 链接。screenRIG 会将其存储为自动播放、循环播放并隐藏 YouTube 控件的嵌入。屏幕的浏览器允许声音时,每个播放器都会带声音播放;浏览器拒绝时,播放器 Web 应用会将其静音;在链接中添加 mute=1 即可在所有播放器上静音。将页面的 advance 设为 {"mode":"duration","after_ms":30000,"until":"video_end"},页面会持续到视频播放结束(页面上恰好有一个 YouTube 视频;播放列表或直播没有结束);after_ms 是屏幕无法读取视频时长时页面的显示时间。

上述每个平台播放器也播放播放列表配乐。播放器 Web 应用在浏览器允许声音后启动;详见 配乐。

最终同步

Android、Amazon Signage Stick、macOS、Windows、Linux 和 Raspberry Pi 播放器逐步将页面更改与显示相同播放列表版本的附近播放器对齐。将相同播放列表分配给同一 IPv4 子网的屏幕。使用至少一秒的固定页面时长,取消过渡和入口动画。每个播放器广播一个小的页面开始信标,并对下一页面的等待时间做微调。仅在发现第二个相同播放列表版本的播放器后激活时间调整。不同播放列表的屏幕互不影响。孤立屏幕保持正常播放时间;群组一旦加入同伴,遵循中位播放位置。

网络必须允许设备间UDP广播,端口49817。设备请求时允许局域网访问。屏幕在丢包、断电和网络分区时持续播放,并在页面信标到达时重新同步。每次等待最多40毫秒。长页面和大时间差异需更长时间同步;此同步页面变更而非视频帧或音轨。

要快速将一个位置的屏幕聚拢,请让你的智能体使用 screen reload --tag LOCATION 重启其屏幕上的播放,将 LOCATION 替换为它们的共享标签。播放器会从第一页重新启动符合条件的播放列表,并通过常规信标完成对齐。配对和下载的内容保持不变。

安装原生播放器

获取各原生播放器的位置
平台获取播放器
Android电视、平板和标牌盒子(Android 9及以上)Google Play 或 Android APK
Amazon Signage StickAmazon Appstore
Fire TV StickAmazon Appstore
Apple TVApp Store
macOSMac App Store
iPhone 和 iPadApp Store
WindowsMicrosoft Store
Linux(x86_64)Linux 软件包来自 screenrig.ai/linux/
Raspberry Pi(64 位)Linux aarch64 软件包来自 screenrig.ai/linux/
Samsung Smart Signage(Tizen)原生播放器
BrightSignscreenrig.ai/brightsign/
LG webOS Signage(6.0 或更高版本)screenrig.ai/webos/

所有下载也都列在下载页面上。

  1. 01

    为你的屏幕设备安装播放器。

  2. 02

    启动它。全屏打开并显示配对码。

  3. 03

    将配对码交给你的智能体。它会配对屏幕并发布内容。

每个原生播放器只下载一次媒体,缓存后从本地存储回放。

安装 Android APK

在 Android 9 及以上且不使用 Google Play 的 Android 电视、Google TV 设备、平板和数字标牌盒子上使用 APK。通过 ADB 安装时使用。

APK 已签名且公开。它与 Google Play 版本的播放器相同。文件名包含版本号,因此请使用 https://screenrig.ai/android/manifest.json 作为当前文件的唯一指向。

开始前,请在设备上开启开发者选项和USB调试或网络调试。电脑上还需安装adb。

  1. 连接设备。对于网络设备,运行 adb connect DEVICE_IP:5555。

  2. 下载、校验并安装 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.player
  3. 播放器全屏打开并显示配对码。将该码提供给智能体。

开机启动

开机启动默认开启。它是播放器操作设置中的一个开关:屏幕配对后,按遥控器上的确定键打开菜单,选择 设置。Android 9 无需权限。Android 10 及以后版本,除非设备由设备所有者管理,否则需授予 显示在其他应用上层 权限:选择 开机启动 并按提示操作。当设备提供权限设置界面时,播放器首次显示配对码会请求此权限:选择 打开设置 并允许 显示在其他应用上层。权限未授予前,该行显示 需要权限,播放器不会开机启动。也可通过 ADB 授权:

开机启动
adb shell cmd appops set ai.screenrig.player SYSTEM_ALERT_WINDOW allow

在 Fire OS 8 上,使用 ADB 授予此权限;设置界面不提供该选项。

屏幕保护程序

在 Android TV 和 Google TV 上,screenRIG 是电视的屏幕保护程序之一。在电视的 设置 中打开 屏幕保护程序 并选择 screenRIG。当电视启动屏幕保护程序时,播放器会置于前端并播放内容。无需权限。

正在更新

再次运行安装步骤。Android 会将更高版本覆盖安装并保留配对。仅更高版本会替换已安装版本。

Google Play

APK 与 Google Play 版本共享包 ai.screenrig.player。如果已安装 Google Play 版本,请先卸载。安装 APK 后重新配对播放器。

Linux 和 Raspberry Pi

Linux 播放器是针对 64 位 Linux 的独立软件包,适用于 x86_64 PC 和 aarch64 板卡,如 Raspberry Pi。软件包内含 Qt、Qt WebEngine 和 GStreamer。机器需要 screenrig.ai/linux/ 为对应架构列出的 glibc 版本、Wayland 会话或 cage 自助终端合成器,以及 GPU 驱动、字体、CA 证书和音频服务。

使用安装程序安装,它会为机器选择构建版本并根据 SHA256SUMS 进行验证:

快速安装
curl -fsSL https://screenrig.ai/linux/install.sh | sh

在专用屏幕上,添加 --kiosk (sh -s -- --kiosk) 以在 cage 下的 systemd 服务中启动播放器。再次运行安装程序以升级,或使用 --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 要求时可运行播放器。Debian 12 和 Raspberry Pi OS bookworm 搭载较旧的 glibc;请先升级。各发行版的自助终端安装包见 Linux 下载说明。

Raspberry Pi

使用基于 trixie 的 Raspberry Pi OS(64 位);32 位和 bookworm 镜像无法运行播放器。Raspberry Pi 5 硬件解码 HEVC 最高支持 4K 60 fps,没有 H.264 解码器,因此发往它的每个视频无论尺寸都请用 screenrig media upload --codec hevc 上传。Raspberry Pi 4 播放 1080p。Raspberry Pi OS Lite 配合 --kiosk 直接启动播放器。

保持显示器已选的分辨率:4K HEVC 视频可以在 1920×1080 输出上播放。要升级 Pi 播放器,请使用现有的安装前缀和播放器账户重新运行 Linux 安装程序;配对和显示设置会保留。重新加载屏幕只会刷新内容,不会安装新的播放器版本。

视频墙

一个播放器驱动 2 到 12 个显示器组成一面墙:采用 --kiosk 安装并带有 wlr-randr (sudo apt install wlr-randr) 的 Linux 播放器,以及 Windows 播放器。Raspberry Pi 5 驱动两个显示器;PC 可驱动其图形输出所允许的最多数量,Intel 迷你 PC 如 Quieter 4C 最多驱动三个。Windows 播放器自行安排 Windows 的显示布局:它定位并旋转显示器,对于没有 format 的播放列表,通过 Windows 的复制模式镜像显示。Windows 保留自己的显示缩放。

screen show 列出屏幕的输出,例如 Linux 上的 HDMI-A-1 或 Windows 上的 DISPLAY1。墙面可以是 row(从左到右)、column(从上到下)或 grid。网格需要 --columns,即每行的显示器数量,并至少填满两行:分 4 列排列的 12 个显示器构成 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)和一个页面画布,按每个显示器 1080p 设计单位:瓦片横屏为 1920 × 1080,竖屏为 1080 × 1920,画布为瓦片乘以列数和行数。4K 面板无需不同设置。屏幕仅在墙面形状相同时播放墙面播放列表。

按显示器、排列和方向的墙面画布
显示器排列横向画布纵向画布
2行3840 × 10802160 × 1920
2column1920 × 21601080 × 3840
3行5760 × 10803240 × 1920
3column1920 × 32401080 × 5760
4网格,2 列3840 × 21602160 × 3840
12网格,4 列7680 × 32404320 × 5760

使用 displays 放置项目:[1,2,3] 跨越一行中的三个显示器,[2] 位于一个显示器上,[1,2] 跨越两个显示器。这些显示器填满墙面的一个矩形:在 4 列的网格上,[1,2,5,6] 是左上角的方块,[3,7,11] 是三个显示器组成的一列。或在墙面画布上指定自由的 rect。卡片在其 displays 内布局,因此 center 位于 [2] 时居于显示器 2 的中央;无 displays 时使用所有显示器。有墙面的屏幕上,普通播放列表(无 format)在每个显示器上镜像播放。

在 4K 内以墙面宽高比渲染墙面视频,例如三块横屏显示器排成一行为 3840 × 720,两块为 3840 × 1080,4 列 3 行的网格为 3840 × 1620,并用 content_fit: fill 定位。避免文字和人脸出现在显示器接缝处。

json
{
  "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 是它所针对显示器的方向,以观看者看到的方向为准。它有一块条带画布,形状与其边缘一致:长边沿着边缘,且至少是短边的两倍,例如横屏页脚或页眉为 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,该屏幕显示页面。把播放列表移入或移出某个区域,或改到另一个区域,在有屏幕、文件夹或活动使用它时会被拒绝。

安装播放器 Web 应用

  1. 01

    在屏幕设备上打开 play.screenrig.ai/player/。

  2. 02

    在 iOS 上,使用 Safari:分享 → 添加到主屏幕。在 Android 上,使用 Chrome:安装应用 或 添加到主屏幕。

  3. 03

    打开已安装的 PWA 并按照其显示的设置说明操作。

  4. 04

    保持PWA在屏幕设备的前台。

启动允许自动播放的自助终端浏览器(Chrome 使用 --autoplay-policy=no-user-gesture-required,Fully Kiosk 使用 Autoplay Audio),播放器 Web 应用会立即播放声音;拒绝声音的浏览器会静音播放视频,播放器日志会记录这一点。

播放器与其所在环境的 API 配对:play.screenrig.ai 对应 api.screenrig.ai。当 CLI 使用其他 API 源 --api-url https://api.DOMAIN 时,请改为打开 https://play.DOMAIN/player/。

你的智能体需要官方插件才能向播放器发布内容。

本地网络上的应用程序

应用程序可以调用屏幕所在局域网中的 http:// 和 ws:// 地址,例如位于 http://192.168.1.20 的控制器。在自助终端浏览器上,由浏览器的所有者允许这一点。在 Chrome 和 Edge 142 及更高版本中,将企业策略 LocalNetworkAccessAllowedForUrls 设为 https://play.screenrig.ai:播放器会把该权限交给它以框架嵌入的应用程序,之后私有 IP 地址和 .local 名称即可通过 http 和 ws 加载,fetch 和图片也包括在内。对于其他 http:// 主机名,还需将 InsecureContentAllowedForUrls 设为 https://play.screenrig.ai,或在网站设置中选择不安全内容:允许。两项策略指定的都是播放器页面,而不是应用程序的地址。访问屏幕所在网络中的设备介绍图片和 CORS。

ChromeOS 自助终端

受管 ChromeOS 设备,如 Chromebox、Chromebase 或 ChromeOS Flex PC,从 Google 管理控制台以自助服务应用形式运行播放器 Web 应用。设备直接启动播放器,保持全屏,关闭后自动重启。

  1. 01

    在 Google 管理控制台,打开 设备 → Chrome → 应用和扩展 → 自助终端,选择屏幕所属的组织单位。

  2. 02

    通过 URL 添加应用:项目的 车队链接,或带尾部斜杠的 https://play.screenrig.ai/player/,以通过代码配对每个设备。

  3. 03

    设置为自动启动,并开启 允许应用管理电源。

  4. 04

    在设备的自助终端电源设置中,将空闲操作设置为 不执行任何操作,使屏幕永不变暗或休眠。

  5. 05

    重启设备。使用 fleet 链接时,播放器作为新屏幕加入项目。无链接时显示配对码:将该码提供给智能体。

在自助终端会话中,播放器读取设备的序列号和你在管理控制台设备上注释的资产 ID 及位置。它们显示在控制台的屏幕主机详情和 screen show 中。当设备被重置或重新安装赋予新的播放器身份时,序列号让你的智能体通过 screen recover 重新连接到其现有屏幕,而不是配对新屏幕。

针对配乐,允许 https://play.screenrig.ai 自动播放,使用 AutoplayAllowlist 策略。

整个设备群的单一 URL

车队链接是一个播放器 URL,打开它的每个设备都会成为项目中的独立屏幕,无需配对码。向你的智能体请求一个 (screenrig fleet-links create),或在控制台的 设置 → 车队链接 中创建,并将其 URL 放入步骤 2 的自助服务应用中。每个新设备都会带有链接的标签和播放列表,并以你在管理控制台中注释的资产 ID 及位置命名。

已是屏幕的设备在重启和更新后仍保持该屏幕身份。恢复出厂或重装后,旧播放器身份静默十分钟后恢复为同一屏幕。可限制链接的最大屏幕数,关闭以阻止新屏幕加入,或轮换以替换过度共享的 URL。链接已创建的屏幕在三种情况下持续播放。请在管理控制台保存该 URL:它会在项目中创建屏幕。

通过 RS-232 控制显示电源

将显示器的 RS-232 控制端口通过 USB 串口适配器连接到 ChromeOS 设备,并通过 SerialAllowUsbDevicesForUrls 策略(适配器的 USB 供应商和产品 ID)或 SerialAllowAllPortsForUrls 授权该适配器给 https://play.screenrig.ai。启动时,播放器会在授权端口以出厂默认的 9600 波特率和显示 ID 发现三星(MDC)、LG、NEC 或飞利浦(SICP)显示器。然后切换显示器的电源、待机和开机状态,并报告显示器反馈的电源状态。屏幕的主机功能列表包括显示器电源(RS-232)。

浏览器源(vMix、OBS)

浏览器源不保留存储,其中的 Player 每次加载都会丢失配对。屏幕链接是单个屏幕的地址:从它打开的 Player 每次加载都是该屏幕,且不保留任何内容。可用于 vMix 或 OBS 的浏览器源,或任何会清除数据的浏览器。

  1. 01

    先为屏幕配对一次。在任意浏览器中打开 Player 网页应用,把显示的配对码交给你的智能体,然后等待屏幕变为活动状态。

  2. 02

    向你的智能体索取该屏幕的链接(screenrig screen link create SCREEN_ID),或在控制台中打开该屏幕并选择创建链接(位于其“属性”选项卡的屏幕链接行)。

  3. 03

    复制链接:你的智能体用 screenrig screen link show SCREEN_ID 打印它,或在控制台中选择复制链接。它是 https://play.screenrig.ai/player/#screen= 后跟一个密钥。

  4. 04

    将其粘贴为浏览器源的 URL。

  5. 05

    来源立即播放屏幕的播放列表,并在每次重新加载后再次播放。

请只在一处打开屏幕链接。在两处打开,就是同一个屏幕出现两次。同一浏览器中的多个浏览器源,只要各用各的链接,就作为独立的屏幕运行。

屏幕链接是一种凭据:持有它的人就能打开该屏幕。如果泄露,或你想收回它,请再次索取链接(screenrig screen link create SCREEN_ID,或 替换链接):旧地址立即失效,仍显示它的来源只会显示通知而无内容,也没有配对码。粘贴新地址后,来源即可再次播放。关闭链接(screenrig screen link delete SCREEN_ID)会结束该链接且不创建新链接。无论哪种情况,屏幕自己的 Player(如果有)都不受影响。

您的屏幕上的广告

你已使用的播放器也是广告播放器:无需额外安装。

销售是你针对每个屏幕的选择,通过相同的官方插件和 CLI 实现。使用 screenrig ads inventory update scr_LOBBY --enabled 选择自有屏幕并公开描述,包括站点名称、城市、地区、场地类型和受众标签。使用 screenrig ads slots create 定义可重用广告位——接受的媒体(图片或视频)、最长图片和视频时长,以及该广告位的可选费率覆盖。仅定义广告位不会改变屏幕内容;将其广告位页面放入播放列表才会给屏幕带来实际广告时段,其他页面正常播放。

付费广告需要支持广告位播放的播放器。服务器仅为不支持的播放器提供普通播放列表,因此该屏幕播放自有内容,无付费广告;支持的播放器为每个广告位页面请求填充,跳过无法填充的广告位,保持播放列表继续。买家不进行配对——他们通过你发送的 screenrig invitations create --kind ad-buyer --email ADDRESS --screen-id scr_LOBBY 邀请从你的库存购买。

插件、项目和首屏步骤见 入门指南。

商业显示器

Samsung Smart Signage(Tizen)运行原生 screenRIG 播放器。

运行 OS 9.1 或更高版本的 BrightSign 播放器会自动从 SD 卡启动 screenRIG 播放器。将安装包解压到卡根目录,插入后开机。播放器会应用硬件策略并打开 screenRIG 播放器。

  1. 01

    先设置播放器的时钟和网络。错误的时钟会阻止安全连接。

  2. 02

    提取到 FAT32 SD 卡根目录并插入卡。

  3. 03

    播放器开机。启动包并显示配对码。

  4. 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。

  1. 01

    先设置显示屏的日期、时间和网络。错误的时钟会使安装以“Unknown error”失败,并阻止安全连接。

  2. 02

    在 FAT32 格式的 U 盘根目录创建名为 application 的文件夹,并把 com.lg.app.signage.ipk 放进去。保持文件名不变。

  3. 03

    将 U 盘插入显示屏。在 Server Settings 中,将 Application Launch Mode 设为 Local,类型设为 IPK,然后从 USB 运行 Local Application Upgrade。

  4. 04

    重启显示屏。它会启动应用并显示配对码。

  5. 05

    将代码交给你的智能体。

若要从显示屏的应用菜单或 SI 服务器安装,请改用 ScreenRig-webos.ipk。这两个软件包对显示屏而言是互不相同的应用,各自有独立的配对,因此每台显示屏只安装其中一个。

在网络就绪之前启动的显示屏会显示 screenRIG 画面并持续重试,直到播放器响应。按遥控器上的 Info 键可查看显示屏的型号、浏览器版本和连接状态。

其他带有内置 HTML5 浏览器或 URL 启动器的商业显示器可以直接打开 play.screenrig.ai/player/ 并按照上述 Web 应用步骤操作。显示器必须保持页面在前台并允许存储数据。带有完整网页浏览器的 Android TV 和流媒体盒子也可以这样做:在盒子的浏览器中打开 play.screenrig.ai/player/,向你的智能体提供配对码,并保持页面在前台。

流和备用图像

直播使用 stream,上传文件使用 video。流需要同账户已上传的备用图像。连接时、播放停顿或播放器无法接收源时显示该图像。

准备一个源

使用无嵌入凭据的公共 HTTPS HLS 播放列表,或摄像头的 RTSP URL。Web 播放器要求播放列表、分段和密钥允许来自播放器源的跨域请求。H.264 视频配 AAC 音频是实用起点;解码依设备而定。默认静音,浏览器自动播放规则依然生效。

选择时间和传输方式

每页最多使用一个流和基于时长的自动切换。提供一个或两个不同协议的源,按优先顺序。源可以只给出 url:https URL 为 HLS,rtsp 或 rtsps URL 为 RTSP。多播使用管理范围 IPv4 组 239/8 和 UDP 端口;为其他播放器添加 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 上,在播放器启动环境中启用 SCREENRIG_ENABLE_MULTICAST=1 并检查 --capabilities-json。网络必须支持所选组播组和端口。本版本不提供 DRM、RTP、自定义认证头或流转码。

配乐

播放列表原声带在所有播放器上播放。播放器下载并验证每个 MP3 曲目及播放列表其他内容,然后按顺序播放曲目,页面切换时音乐不断。页面转换不会停止或重启音乐,且原声带在离线时从缓存曲目继续播放。带提示的原声带(cued: true)仅在页面提示启动时播放曲目,曲目结束后静音直到下一个提示。advance 为 audio_end 的页面在提示曲目结束时结束;若播放器无法播放该曲目,页面持续曲目长度。

当智能体重新发布播放列表时,如果当前曲目仍在新音轨中,则继续播放。音轨音量乘以播放器音量,因此操作员音量设置或显示器自身的音量控制仍决定屏幕的响度。

浏览器可能会阻止声音,直到有人触摸页面。播放器 Web 应用持续显示页面,并在首次点击或按键时开始播放音轨。对于无人值守的自助终端浏览器,允许带声音的自动播放;在 Chromium 中,使用 --autoplay-policy=no-user-gesture-required 启动;在 ChromeOS 自助终端 上,设置 AutoplayAllowlist 策略。原生播放器无需设置。

设备健康和显示控制

每个播放器每十五分钟报告设备健康状况,显示连接或电源变化时立即报告。声明支持的设备控制:远程重启及可用的显示电源方法。播放器能读取和切换的内容取决于平台和设备设置。

每个屏幕的实际能力会在 screen show 中作为其主机能力显示,位于其最新健康报告旁边,这样智能体在操作前就能知道该屏幕是否可以重启或切换显示器。表格展示每个播放器的可用功能。

由播放器控制的设备健康和显示
播放器健康已报告显示电源重启
Web / PWA播放器运行时间、CPU 核心数、显示状态及浏览器可暴露的网络类型ChromeOS 自助服务亭上的 RS-232,已授予串口权限;屏幕黑屏否
Android(Google Play)设备和播放器的运行时间、内存、CPU 核心数、显示连接和电源、网络和 Wi-Fi 信号、带电池设备的电池电量、充电状态和供电来源、崩溃及渲染器重启情况屏幕黑屏否
Android(托管,设备所有者)作为 Google Play,外加 CPU 温度背光;特权安装上的HDMI-CEC;屏幕黑屏是
Amazon Signage Stick作为 Google Play屏幕黑屏否
Linux 和 Raspberry Pi设备和播放器的运行时间、内存、CPU 负载、温度、显示连接和电源、网络和 Wi-Fi 信号及崩溃情况通过 CEC 设备和 cec-ctl 的 HDMI-CEC;DDC/CI 由 ddcutil 识别显示器;面板背光;屏幕黑屏是,安装 --kiosk 后
macOS设备和播放器的运行时间、内存、CPU 负载和核心数、显示连接和电源、网络类型显示睡眠,一旦在该 Mac 上生效;屏幕黑屏否
Apple TV设备和播放器的运行时间、内存、CPU 负载和核心数、显示电源和网络类型屏幕黑屏否
Windows设备和播放器的运行时间、内存、CPU 核心数、显示连接和电源、网络类型及渲染器重启情况DDC/CI 监视器响应;监视器关闭;屏幕黑屏是,当账户可以关闭 PC 时
BrightSign网页播放器读数通过 BrightSign shell 的 HDMI-CEC;屏幕黑屏是,通过 BrightSign shell

远程操作

另外三个设备控制作为命令送达播放器:清除其缓存、重启其应用(而非设备),以及将其更新到最新版本。播放器仅在该行为在该设备上可用时,才在其主机功能中声明 clear_cache、restart_app 或 update,因此 screen show 会在智能体操作前告知它;其播放器未声明该能力的屏幕返回 command_unsupported,且不发送任何内容。清除缓存会保留配对和设置,并从清单重新填充内容。每条命令列在 screen show、done 或 failed 的 commands 下,附带播放器报告的原因。

按播放器划分的远程操作
播放器清除缓存重启应用更新
Web / PWA是是,重新加载页面是,service worker 更新后重新加载页面
Android (Google Play, Amazon Signage Stick)是设备允许播放器自行重启的情况下否,由商店更新
Android(托管,设备所有者)是是否,由设备管理器更新
Linux 和 Raspberry Pi是是是,在保留了更新渠道的安装上
macOS是是否,由 App Store 更新
Apple TV是否否,由 App Store 更新
Windows是是是,在 Store 打包的版本上

空闲变暗、自动亮度和自助终端锁定

三项屏幕设置直接作用于设备本身的屏幕。当 screen show 列出相应的主机能力(display_power.idle、brightness.auto 或 kiosk_lock)时,播放器才会应用其中一项;无论如何设置都会被存储。

  • 空闲变暗。 没有触摸或按键达 30 到 86400 秒后,或在 presence 为唤醒事件时屏幕前无人达同样时间后,屏幕变暗,播放暂停。按你的选择,触摸或 presence 会使其重新亮起;唤醒变暗屏幕的那次触摸不会再往下传递。presence 在设备本地读取设备的摄像头,不会有图像离开设备。让显示器保持关闭的显示排程或覆盖优先。
  • 自动亮度。 auto 根据设备的光线传感器设置亮度;fixed(默认值)保持操作员设定的亮度。设备只有在具备光线传感器时才声明 brightness.auto。
  • 自助终端锁定。 Android 播放器通过屏幕固定将自身固定在屏幕上,无需设备所有者。屏幕前的人员首次需要确认,锁定期间状态栏、主屏幕和最近任务均被禁用。

你的智能体使用 screen display-idle、screen brightness 和 screen kiosk-lock 来设置它们。控制台中屏幕页面的“属性”选项卡在“设备设置”下有同样的三项。

实时画面

实时画面会在控制台以视频形式显示屏幕正在播放的内容,screenrig screen live frame 会为只有 HTTPS 的智能体保存其 JPEG 帧。Android 播放器(Google Play 和 Amazon Signage Stick)、Linux 和 Raspberry Pi 都会发布实时画面,能够发布的屏幕会在 screen show 中列出 live_view 主机能力。在 Android 上,每次播放器启动时,屏幕旁的人需要允许一次屏幕捕获。实时会话在有效期结束时会自行结束;再次启动即可继续观看。

控制设备上的屏幕

屏幕配对后,按遥控器上的确定键打开操作员菜单。菜单的第一页包含:

  • 屏幕名称。 选择它以重命名屏幕。
  • 播放列表。 它的提示是屏幕正在播放的播放列表。选择它,或按右键,按字母顺序列出项目中的所有播放列表,并选择一个切换屏幕。接管、活动或播放列表计划仍决定播放内容;提示始终显示正在播放的内容。
  • 页面。 它的提示是当前显示页面的名称;页面名称即其标识符。菜单在此行打开。按左或右键切换到上一页或下一页,或选择它以列出播放列表中的页面并按播放顺序选择跳转。所选页面从头开始播放。
  • 设置。 亮度、音量和重置,Android上还有多播接收和开机启动。
  • 退出设置 可从任何屏幕关闭菜单。

返回或列表中的左键返回上一个屏幕。菜单在60秒无输入后自动关闭。

暂停和恢复

按遥控器上的播放/暂停键(Windows上为K)暂停屏幕;显示暂停标记。暂停屏幕保持页面计时器、页面视频和音轨。再次按键,所有内容从停止处继续:设置为显示20秒的页面,暂停于10秒,继续显示剩余10秒,音乐从同一点恢复而非重新开始。切换到下一页或上一页,或菜单中选择页面,保持暂停状态:新页面在开始处等待,直到恢复。卡片、网页和直播流暂停时继续运行。暂停自动在60分钟后结束。

检查你的第一个屏幕

指定目标屏幕并让智能体发布简单的欢迎信息。当播放器显示时请求截图。

如果屏幕不在智能体列表中,确认播放器已打开且设置完成。内容未更新时,检查设备连接并请智能体检查屏幕状态和播放证据。

屏幕上的状态图标,或 screen show 中的代码,在播放器状态码中说明。

屏幕配对后,其 操作员菜单 会显示屏幕名称及其播放列表和页面。

继续智能体工作流程。