有哪些播放器可用?
播放器: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 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
为你的屏幕设备安装播放器。
- 02
启动它。全屏打开并显示配对码。
- 03
将配对码交给你的智能体。它会配对屏幕并发布内容。
每个原生播放器只下载一次媒体,缓存后从本地存储回放。
安装 Android APK
在 Android 9 及以上且不使用 Google Play 的 Android 电视、Google TV 设备、平板和数字标牌盒子上使用 APK。通过 ADB 安装时使用。
APK 已签名且公开。它与 Google Play 版本的播放器相同。文件名包含版本号,因此请使用 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.player播放器全屏打开并显示配对码。将该码提供给智能体。
开机启动
开机启动默认开启。它是播放器操作设置中的一个开关:屏幕配对后,按遥控器上的确定键打开菜单,选择 设置。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 × 1080 | 2160 × 1920 |
| 2 | column | 1920 × 2160 | 1080 × 3840 |
| 3 | 行 | 5760 × 1080 | 3240 × 1920 |
| 3 | column | 1920 × 3240 | 1080 × 5760 |
| 4 | 网格,2 列 | 3840 × 2160 | 2160 × 3840 |
| 12 | 网格,4 列 | 7680 × 3240 | 4320 × 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 定位。避免文字和人脸出现在显示器接缝处。
{
"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 应用
- 01
在屏幕设备上打开 play.screenrig.ai/player/。
- 02
在 iOS 上,使用 Safari:分享 → 添加到主屏幕。在 Android 上,使用 Chrome:安装应用 或 添加到主屏幕。
- 03
打开已安装的 PWA 并按照其显示的设置说明操作。
- 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 应用。设备直接启动播放器,保持全屏,关闭后自动重启。
- 01
在 Google 管理控制台,打开 设备 → Chrome → 应用和扩展 → 自助终端,选择屏幕所属的组织单位。
- 02
通过 URL 添加应用:项目的 车队链接,或带尾部斜杠的
https://play.screenrig.ai/player/,以通过代码配对每个设备。 - 03
设置为自动启动,并开启 允许应用管理电源。
- 04
在设备的自助终端电源设置中,将空闲操作设置为 不执行任何操作,使屏幕永不变暗或休眠。
- 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)。
在设备管理工具中使用设备组链接
设备组链接的 URL(控制台的 设置 → 设备组链接,或 screenrig fleet-links create)也可设置在你的设备管理工具中:
- Android、Google TV 和 Amazon Signage Stick。在你的 EMM 或设备管理工具中,于应用的托管配置里设置
fleet_link键(包名ai.screenrig.player)。 - Apple(Mac、Apple TV、iPhone 和 iPad)。在你的 MDM 中,于托管应用配置里设置
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 让重新安装的设备找回其屏幕。
没有屏幕的设备会自行加入该链接所在的项目。链接已失效(已轮换、已关闭、已满或已过期)的设备会显示配对码,并附一行说明原因。请将该 URL 保存在设备管理工具中:它会在项目中创建屏幕。
设备组链接可在你选定的时间结束:传入 --expires-at(例如 2027-12-31T23:59:59Z)给 screenrig fleet-links create 或 update,或在控制台中设置 过期时间。此时间之后,新设备会显示配对码,该链接已创建的屏幕会继续播放。
通过二维码设置 Android 设备所有者
已恢复出厂设置、搭载 Android 10 或更高版本且带摄像头的设备,无需设备管理工具即可加入车队链接。在控制台中打开该链接(设置 → 车队链接),在 Android 设备所有者下选择显示二维码,在设备的欢迎界面点按屏幕六次并扫描二维码。设备会下载受管理的 Player,用二维码中的签名证书校验,将其安装为设备所有者,并在无需配对码的情况下加入该链接所在的项目。随后 Player 作为设备的主屏幕应用全屏运行,不显示导航栏、通知或锁屏。
二维码包含配置载荷,复制配置 JSON 会将其复制给通过 JSON 配置的设备管理工具。你的智能体使用 screenrig fleet-links show ID --android-provisioning 输出同样的载荷(载荷包含该链接的密钥,因此需要 Manage 登录),可直接编码为二维码。载荷如下:
{
"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,以及经 URL 安全的 base64(无填充)编码的 signer_sha256。FLEET_LINK_SECRET 是链接 URL 中 #fleet= 之后的部分。文件带有版本号并会保留,校验和属于签名证书,因此在列出更新的 Player 后,已打印的二维码仍然有效。二维码包含该链接的密钥:请仅分享给负责设置设备的人员。
浏览器源(vMix、OBS)
浏览器源不保留存储,其中的 Player 每次加载都会丢失配对。屏幕链接是单个屏幕的地址:从它打开的 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
来源立即播放屏幕的播放列表,并在每次重新加载后再次播放。
请只在一处打开屏幕链接。在两处打开,就是同一个屏幕出现两次。同一浏览器中的多个浏览器源,只要各用各的链接,就作为独立的屏幕运行。
屏幕链接是一种凭据:持有它的人就能打开该屏幕。如果泄露,或你想收回它,请再次索取链接(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 播放器。
- 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 格式的 U 盘根目录创建名为
application的文件夹,并把com.lg.app.signage.ipk放进去。保持文件名不变。 - 03
将 U 盘插入显示屏。在 Server Settings 中,将 Application Launch Mode 设为 Local,类型设为 IPK,然后从 USB 运行 Local Application Upgrade。
- 04
重启显示屏。它会启动应用并显示配对码。
- 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 上,每次播放器启动时,屏幕旁的人需要允许一次屏幕捕获。实时会话在有效期结束时会自行结束;再次启动即可继续观看。
检查你的第一个屏幕
指定目标屏幕并让智能体发布简单的欢迎信息。当播放器显示时请求截图。
如果屏幕不在智能体列表中,确认播放器已打开且设置完成。内容未更新时,检查设备连接并请智能体检查屏幕状态和播放证据。
屏幕上的状态图标,或 screen show 中的代码,在播放器状态码中说明。
屏幕配对后,其 操作员菜单 会显示屏幕名称及其播放列表和页面。