BrightSign Video Sync Scripts

Yes, you can use BrightSign media players with a Mac! Here’s how to configure them without the (Windows only) BrightAuthor software.


My MultiScreener software plays Quicktime movies on Mac computers, using ethernet to keep any number of computers playing in sync. It works great (and has been used around the world by artists, galleries and museums) but computers are expensive, complicated,  and inherently unreliable.

Inexpensive media players (like the WD TV series) are often used for looping presentations because they play most HD formats and have no fans or discs to wear out. But they can’t do multi-screen synchronization (except via HDSync replacement firmware).

BrightSign makes industrial media players that support network features and complex interactivity. As of 2017 the LS423 is the cheapest option for multichannel video installations and these scripts have been tested with that player and numerous older ones.

So BrightSign players seem perfect for our needs: No annoying user-interface, cheaper and more reliable than a computer. They come to life as soon as you apply power, etc. But there are some major pitfalls too …

Trouble in Paradise

For each presentation, the players need to be configured so they know what to do with your media. BrightSign provides the (Windows Only) BrightAuthor software for this. There is no Mac version and BrightSign doesn’t seem interested in making one. Considering that video content is often edited on Macs, this decision seems strange. If you have access to Windows, BrightAuthor is great for authoring complex presentations with playlists, interactivity & web data feeds, but it’s total overkill for multichannel synchronized playback.

Furthermore, BrightAuthor exports your video file in an obfuscated format on the player’s SD card. You can’t re-use previously-authored SD cards by swapping video files. You really need to start a new BrightAuthor project for every show.

BrightAuthor gets updated constantly. Most updates require a firmware update on the players and new projects are not backwards-compatible. New players ship with outdated firmware, so your current shows won’t run on a brand-new player until you update the firmware. If you update a presentation in the future you need to re-author your project, export a new SD card, and probably update the firmware too. This situation is pretty terrible for galleries, museums, or artists.

The Script Solution

The key to using a BrightSign with a Mac is scripting: For each project, BrightAuthor exports a file called “autorun.brs” in the BrightScript scripting language. When the player is powered-up it looks for this file and follows whatever instructions it finds. (This is no secret: BrightSign recommends that Mac users write scripts.) BrightScript is well-documented, including example scripts. Those examples don’t include network sync, but this old forum post does. I modified the code a bit and added comments to make it easier for inexperienced users.

  • The “Master” script tells the player to preload the specified video file, send a sync message over Ethernet to all clients, and start playing. When the video ends the player loops and sends another sync message.
  • The “Client” script tells the player to preload the specified video file and wait for the sync message, then play the video.

NOTE: BrightSign players cannot do timecode sync. Once the videos start they can drift out of sync slightly. (In my tests I had a maximum of 1 or 2 frames of drift after 90 minutes.)

You will need:

  • A BrightSign player and an SD card for each video channel. (I’ve used SanDisk Extreme Pro class 10 cards.)
  • A display and appropriate cable for each video channel.
  • A properly encoded video file for each channel. (Complete List of supported formats. For best sync performance the manufacturer recommends using transport streams, not MOV or MP4 files but I’ve seen no difference in practice.)
  • For 2 channel sync, you need 1 Ethernet cable. (It will connect directly between the 2 players.)
  • For 3 or more channels you need 1 Ethernet cable per player and 1 Ethernet switch.
    (Each player will connect to the switch)
  • A text editor to edit the scripts.

Download and Instructions:

  1. Download my zip file:
    (Tested on several models including HD220, HD222, HD223, LS423)
  2. Format your SD cards:
    If your video is less than 4GB in size:
    use FAT32 format. (This is the easiest and most compatible option for most people.)
    If your video is larger than 4GB and you have a “Series 3” player or later (XTx43, XDx33, HDx23, LS423, HO523) then format your card as ExFat.
    (requires firmware versions 6.2.94 or later)
    If your video is larger than 4GB and you have an older player:
    Mac users with should use “Mac OS Extended”. (This requires BrightSign firmware from late 2013 or newer.)
    • Windows users should use NTFS.
    • Linux users should use EXT3 or EXT4
    (More info about formatting your cards here.)
  3. Unzip the download file and locate the master and client folders.
  4. One player will be the master and all other players will be clients. Copy your videos and script files onto the appropriate SD cards. Do not rename the scripts!
  5. Edit the variables in each script file, based on the explanations in “Script Setup” below.
  6. If you have an old HD220 player, download the most recent firmware and copy the “.bsfw” firmware file to each SD card. All modern players have new enough firmware to support these scripts, so they don’t need any updates.
  7. Insert the SD cards in the BrightSign players and power them up.
  8. If updating firmware, each player will update, delete the firmware file from the card, and restart.
  9. Once they’re all running they should play and loop automatically, staying in sync.
Did these scripts help you? Donations are appreciated. (sorry, not tax-deductible)

Script Setup:

Warning: Apple’s TextEdit app will break your scripts! It will second-guess your motives and make subtle substitutions (“smart quotes”, spellcheck, etc) that corrupt the code. If you’re careful you can turn off those features but I heartily recommend BBEdit instead. It doesn’t break anything. (Install the trial version. If you don’t buy a license it will eventually revert to a free mode with fewer features, but that works fine for us.)


You must edit these lines at the top of each script. Do not edit anything else later in the script file!

videoFile = “myFile.mp4”
The filename of your video, in quotes.

VideoMode$ = “1024x768x75p”
The output resolution and refresh rate of your display, in quotes. (There is a list of available options in the script file.)

audioVolume = 15
The volume of the audio output, in percent. These players have LOUD outputs so try 10-20 for sane headphone levels.

Each client script has one additional variable:

ClientIP$ = “”
The IP address of this client, in quotes. Each client player needs a unique suffix, but all players must have the same first 3 numbers.


  • master = “”
  • client 1 = “”
  • client 2 = “”
  • client 3 = “” … and so on …


I’ve tested this setup thoroughly, and many people use these scripts in museums, galleries, trade shows, etc. Read everything carefully, there’s a lot of info here.

  • Most problems I’ve seen were due to a text editor like Apple TextEdit, which silently adds “smart quotes” and other tweaks that break the scripts. See my notes in the “Script Setup” section above.
  • Make sure you set a video mode that your display can handle. (Example: some HDMI displays prefer 59.94Hz instead of 60Hz. Many are unable to do 24Hz at all.)
  • Look at the blinking LEDs on the player to help diagnose the problem.
  • Do a factory reset to clear out any hidden settings in the player’s registry
  • SD card formatting can be trickier than you think: Your player might be configured to write log files to the SD card by default. Certain disk formats are mounted read-only (Windows NTFS, Mac OS Extended) so the player will hang at the setup screen instead of loading your script. In that case it may be best to temporarily reformat your card as FAT32, confirm that the master script runs (with a <4GB test video) and then reformat the card to your preferred format and try again.

If you have a general problem please see BrightSign support. If you found a problem with these scripts or you have an improvement to contribute, feel free to get in touch via my Contact page.

Audio Formats and Multichannel Surround Sound:

  • Some players (LS423) lack a headphone jack, but the USB-C jack passes through analog audio if you use an adapter (available in the Accessories section of the BrightSign online store). No scripting changes are required but the adapter must be present at startup. Plugging it in later won’t work!
  • AAC mono or stereo is fine, at 44.1 or 48kHz sampling rates. (It will be decoded by the BrightSign and passed over HDMI as uncompressed PCM, while also coming out of the BrightSign’s headphone jack.
  • AAC format surround is not supported.
  • AC3 format surround is passed-through to the HDMI output, to be decoded by a compatible receiver. The BrightSign won’t decode the AC3 to PCM over HDMI and nothing will come out of the headphone jack.
    AC3 Details:
    • Encode your video as H264 (MOV or MP4 containers work fine)
    • Encode your 5.1 audio to a Dolby digital AC3 file (just like for DVD authoring in the days of old)
    • Use tsMuxeR to mux them together into an MPEG transport stream (.TS file)
    • The TS file will play on the BrightSign, passing the Dolby Digital audio over HDMI.
    – (This forum post indicates that MP4 and MOV containers should work too, but I could only make it work with TS containers.)
    – If you want to play your TS file on a Mac you need to install the A52 AC3 codec from the Subler project. (Works great in QTX but doesn’t help with QT7.)
  • Audio will not be embedded in the HDMI output if the script is set to a resolution that isn’t traditionally used for video. (like 800×600 or 1024×768)

Black Level:

  • At HD and computer resolutions, the HDMI output seems to use the full brightness range of the display
  • At 720×480 resolution (aka standard def.) blacks are lifted. It looks like the traditional 7.5 IRE “pedestal” from the days of old. (There is no pedestal at 640×480 though.)



  • Tested with the recently released HD222 players
  • Simplified the instructions included in the script (No changes to the script code itself)


  • Fixed typo in example video mode (There was an extra p in “75p”)
  • Renamed the download to avoid confusion with the “BrightSign Network” which is BrightSign’s subscription based service for content updates.


  • Initial release