Přeskočit na obsah
DocsScreen Player

Screen Player

Install the PulseMesh Screen Player on a signage media box and pair it to your display.

The Screen Player is in early access. It runs today as an Android app on signage media boxes, and the APK is on the downloads page. A Linux build is in development; Windows support is planned.

The Screen Player turns an off-the-shelf signage media box into a live, frame-locked show output: the hardware is signage, the job is a show. Playback is local — the media lives on the box — and sync is cloud, so your screens hold the same clock as everything else in the show.

Supported hardware

  • Android 10 or newer, on arm64 or 32-bit ARM — the class of device sold as a signage media box or media player. One APK covers both.
  • Hardware video decode for your show's resolution and frame rate.
  • A way to install apps from outside the Play Store: the vendor's management tool, "install unknown apps" on the box, or adb over the network.
  • A wired network drop where you can get one — staging show media is the heavy part.

The box we test against is the NovaStar TB10 Plus, and it has its own install steps below. Other boxes that meet the list above are good candidates; if you're unsure about a specific model, ask us at [email protected] before buying a fleet of them.

Setup

Get the APK

Download the Android APK from the downloads page. It is signed with the PulseMesh release key, and a box only accepts updates signed with the same key — so always take the Screen Player from that page.

Install it on the box

The Screen Player is not a Play Store app — it installs directly on the box. Use the route for your hardware.

NovaStar TB10 Plus — ViPlex Express

You need a Windows PC running ViPlex Express 4 on the same network as the box, and the box's terminal password.

  1. In ViPlex Express, select the player, then go to Settings → Advanced Login and enter selftest as the password.

  2. Open Debugging → Debugging Tool and select User Software. Choose the APK and install it.

  3. Still in the Debugging Tool, open the SSH tab and make the Screen Player the box's device owner:

    dpm set-device-owner io.pulsemesh.signage/.AdminReceiver
    

    It answers Success: Device owner set to package ….

  4. Restart the box from the same tab:

    reboot
    

Device owner is what lets the Screen Player keep the panel: without it, the TB10's built-in NovaStar player draws over everything else on screen. The player only takes the panel if it already owns the box when it starts — that's why you reboot.

Device owner is one-way. Once it's set, the Screen Player can only be removed from the box by a factory reset. Updates install over it without removing anything.

Other boxes — sideload

Open the APK on the box itself (from a USB stick or the box's file manager). Android will ask you to allow "install unknown apps" for whichever app opened it — a one-time permission per box.

Other boxes — adb

From a computer on the same network, connect to the box and install:

adb connect <box-ip>:5555
adb install <path-to-the-apk>

First boot — the claim code

On a TB10 Plus the Screen Player starts by itself after the reboot. On other boxes, launch it once from the box's launcher. It shows a six-character claim code on screen — the code is how PulseMesh tells this box apart from the identical one next to it.

Claim it

Enter the code on your Devices page, from any browser: Add a device → Screen, Timecode Bridge or local player. Screens pair through a display's Cloud Player, so the display needs one first. The lookup shows the box's hardware facts before you bind it to a display, so you can confirm you're claiming the right one. The claim also asks for the screen's video role — the name this screen answers to in show plans, like drone-1. You're looking at the screen that shows the code, so this is the moment you know which one it is.

Configure the row

Once claimed, the player appears as a row under Screens on the Devices page. Configure is where you adjust the video role later and set its output latency once the display chain is measured. A role change reaches an up-to-date player the next time it connects; older players pick it up when re-paired.

Watch it go ready

The Devices page reports the player's readiness — staged · clock locked · reachable. GO on Devices means GO in Show Control.

Updating

Install the newer APK the same way you installed the first one — on a TB10 Plus, through User Software. The claim and the device owner setting both survive an update, so there's nothing to redo, and nothing to uninstall first.

Staging and recovery

Show media is downloaded to the box and checksummed before the show — staging starts when a show is loaded or its media changes, and a screen that hasn't finished isn't ready. During the show, playback is local and sync is cloud: the player holds sync through network loss and rejoins on its own. No one climbs a truss to reboot a screen.

Show day

Power your boxes up well before the show — about ten minutes. A freshly booted player needs time to settle its clock before it can hold a frame-accurate picture, and the Devices page won't call it ready until it has.

Troubleshooting

If things aren't working after following the steps above, please review the solutions below. If you continue to run into issues, feel free to reach out to us at [email protected].

No claim code on screen

Make sure the Screen Player app is installed and running — the code is shown by the app, not by the box. If the app was installed over adb, launch it once from the box's launcher. On a TB10 Plus, reboot the box after setting device owner.

NovaStar's own content shows on a TB10 Plus

The Screen Player isn't holding the panel yet. Check that the dpm set-device-owner step answered Success, then reboot the box.

dpm set-device-owner is refused

The box already has an account or a device owner. Only a factory reset clears an existing device owner; after one, start the install again.

The claim code doesn't look up

Check that the box has internet access and is running the latest APK from the downloads page. If Screen, Timecode Bridge or local player isn't available on the Devices page, the display needs a Cloud Player first.

A screen stays unstaged

Staging is the media download, and it starts when a show is loaded or its media changes. If a screen never finishes, check its network connection and give a large show time — then look at the player's row on the Devices page for its status.

A revoked player stopped syncing

Revoking a device cuts its access at its next poll — that's the point of revoke. To bring the box back, use Restore on its row on the Devices page.