0

Monitoring of Brightsign devices

Hello,

just want to ask about your strategies to monitor brightsign players.

I tested the prometheus-node-exporter, but I couldn't find a way to assure that the player shows content. A lot of metrics about CPU etc. but nothing else.

A simple ping is not helping, too to assure a playback is shown. 

I was thinking about taking screenshots and have a script looking for pictures without content.

I want to monitor the players without using bsncloud.  

What are your strategies?

Thanks,

lennard

3 comments

  • 0
    Avatar
    Mitsy

    Hello,

    Prometheus node-exporter: Great for system metrics (CPU, memory), but it doesn’t report on what's being displayed.

    Ping: Just confirms the device is online—not useful for confirming what's on screen.

    Screenshot + image recognition: Solid approach, but needs some automation + logic to avoid false positives.

    his is the most reliable, BSN.cloud-independent method.

    How:

    Use a device like a Raspberry Pi (or NUC) with an HDMI capture card connected to the BrightSign’s HDMI out (loopback).

    Periodically grab a screenshot from the HDMI stream (e.g., using ffmpeg or v4l2).

    Use a lightweight image recognition (or even color histogram comparison) to detect black/frozen/empty screens.

    Optional: OCR with Tesseract to check for expected text overlays or timestamps in playback.

    Benefits:

    You see exactly what the display shows.

    Can detect if the screen is black, frozen, or stuck.

    Tools:

    ffmpeg, v4l2-ctl, ImageMagick, Tesseract, OpenCV.

    2. Custom Logging from BrightSign via Local Web Server / Syslog
    BrightSign can be configured (via BrightAuthor or directly) to send logs or pings to a local server.

    How:

    Embed log messages or heartbeats inside the BrightAuthor project (e.g., every 60s).

    Log could include:

    “Now playing: Video A”

    “Ad loop completed”

    Timestamp, media name, duration, etc.

    Push these logs to your local syslog server, or via HTTP to a small Flask/Node backend you control.

    Benefits:

    No need for HDMI capture.

    Lower infrastructure cost.

    Drawbacks:

    EZPassNJ



    Best Regards

  • 0
    Avatar
    Steven Smith

    Hi Lennard,
    We use custom HTTP API checks to verify content playback (e.g., polling current_media). Alternatively, scrape BrightSign logs for errors or deploy a lightweight endpoint to confirm frame updates.

  • 0
    Avatar
    Bright Scripters

    While BSN doesn't provide proof-of-play, it is useful and highly recommended.

    Analyzing screenshots does sound like a solid approach. You could also check for the presence of a powered monitor on the HDMI output through EDID. Healthy screenshot alone doesn't mean that content is visible...

Please sign in to leave a comment.