Advanced device configuration options for Windows players
Where can you set these configurations?
Navigate to the Devices menu and select the device where you wish to set the advanced configs.
- In the details tab, select
Settings, scroll down until you find theAdvanced configmodal.

- Click on the
editthen place theconfigto the box

Clear button only clears the input field to an empty json. Sending this json doesn't disable the previous configuration of the device.
The basic configuration structure is the following json array, which contains the actual configuration objects
{
"configuration": [
{
}
]
}
There can be multiple objects inside a singe command. For example you can enable both debug mode and memory watchdog in the same Advanced configuration json
{
"configuration": [
{
"type": "DEBUG_MODE",
"enabled": true
},
{
"type": "AUTO_START",
"enabled": true
}
]
}
enabledkey has to be defined, value has to be a non-empty booleanmaxMemoryLimitFractionkey has to be defined, value has to be number. The minimum limit is0.4, the maximum is1.0.
Screen control
Control screens
{
"configuration": [
{
"type": "SCREEN_CONTROL",
"serialConnection": {
"baudrate": 9600,
"port": "COM1",
"dataBits": 8,
"stopBits": 0,
"parity": 0,
"flowControl": 1
},
"commands": [
{
"action": "SCREEN_ON",
"method": "serial",
"messageType": "string",
"message": "TON\n"
},
{
"action": "SCREEN_OFF",
"method": "serial",
"messageType": "string",
"message": "TOF\n"
}
]
}
]
}
serialConnectionbaudrateint - Serial communication speed in bits per second (e.g., 9600, 115200)portstring - COM port identifier (e.g., "COM1", "COM3")dataBitsint - Number of data bits per frame (typically 7 or 8)stopBitsint - Number of stop bits: 0 = One, 1 = 1.5, 2 = Two stop bitsparityint - Parity check mode: 0 = None, 1 = Odd, 2 = Even, 3 = Mark, 4 = SpaceflowControlint - Currently not used
commandshas to be an array type containing validScreenControlCommandobjectsactionkey has to be defined, and one of the following values:SCREEN_ON,SCREEN_OFFmethodkey has to be defined, one of the following values:serial,socketmessageTypekey has to be defined, and one of the following values:byte,stringmessagehas to be defined. The command varies by device/TV manufacturer and must be obtained from the device's documentation- In case of
stringmessageTypethey have to be non-empty strings for exampleTOF\n
- In case of
Show debug logs
Sometimes the support team requires a device log from the users to find out what causes a problem on the device. Enabling the debug log on the device will show more information for us in the device log.
{
"configuration": [
{
"type": "DEBUG_MODE",
"enabled": true
}
]
}
enabledkey has to be defined, value has to be a non-empty boolean
Set WebView with Browser Authentication Requests
The WEBVIEW_AUTHENTICATION advanced configuration is specifically designed for authentication methods that utilize browser's request for authentication.
{
"configuration": [
{
"type": "WEBVIEW_AUTHENTICATION",
"credentials": [
{
"host": "example.com",
"username": "AUTH_USERNAME",
"password": "AUTH_PASSWORD"
}
]
}
]
}
credentialshas to be an array type containing validcredentialobjects
Set WebView Basic Authentication
The WEBVIEW_BASIC_AUTHENTICATION advanced configuration is specifically designed for basic authentication that do not utilize browser's request for authentication.
It automatically applies the Authorization header to all outgoing requests based on the specified URL parameter.
{
"configuration": [
{
"type": "WEBVIEW_BASIC_AUTHENTICATION",
"credentialList": [
{
"domainUrl": "PROTOCOL://DOMAIN:PORT/PATH",
"userName": "AUTH_USER_NAME",
"password": "AUTH_PASSWORD"
}
]
}
]
}
credentialListhas to be an array type containing validcredentialListobjects
Examples on how to fill data in the configuration:
{
"configuration": [
{
"type": "WEBVIEW_BASIC_AUTHENTICATION",
"credentialList": [
{
"domainUrl": "http://192.168.1.166:8080/",
"userName": "MyUserName",
"password": "MyPassword"
}
]
}
]
}
{
"configuration": [
{
"type": "WEBVIEW_BASIC_AUTHENTICATION",
"credentialList": [
{
"domainUrl": "http://mystreamhost.infoo/",
"userName": "MyUserName",
"password": "MyPassword"
}
]
}
]
}
Set Power button behavior
Set the behavior of the power button
{
"configuration": [
{
"type": "POWER_BUTTON",
"mode": "DO_NOTHING"
}
]
}
modekey has to be defined, and one of the following values:DO_NOTHING,SLEEP,SHUTDOWN
Turn off websecurity
This command disables device's websecurity.
Enabling this feature carries a certain level of risk. Once this feature is activated, we cannot accept responsibility for any unexpected outcomes that may occur
{
"configuration": [
{
"type": "WEB_SECURITY",
"enabled": false
}
]
}
Chromium Settings
Configures the browser engine (Chromium) of the player: which browser features are disabled, the device scale factor used for rendering, and the GPU related options. The application will restart automatically to apply changes.
{
"configuration": [
{
"type": "CHROMIUM_SETTINGS",
"enabled": true,
"disableFeatures": ["FeatureName1", "FeatureName2"],
"deviceScaleFactor": 1.0,
"disableHardwareAcceleration": false,
"disableGpuVsync": false
}
]
}
enabledis optional, defaults totrue. Sendingfalseclears the configurable Chromium settings below and restores the Windows client's built-in defaults. It does not re-enable browser features that the client disables by defaultdisableFeatureshas to be an array of strings containing valid Chromium feature namesdeviceScaleFactoris optional. It overrides the display scaling used by the browser engine, ignoring the Windows display scaling setting. It has to be a number between1.0and5.0, where1.0means the content is rendered at the native resolution of the screens (equivalent to 100% Windows scaling). Omitted,nullor an out of range value means no override, so the Windows display scaling is useddisableHardwareAccelerationis optional, defaults tofalse. Whentrue, the browser engine renders the content without GPU accelerationdisableGpuVsyncis optional, defaults tofalse. Whentrue, the browser engine no longer synchronizes the rendered frames to the refresh rate of the screen
A CHROMIUM_SETTINGS configuration always describes the complete desired state of the configurable browser settings, so every field you leave out is reset to its default value. If you want to keep a previously sent setting, send it again in every CHROMIUM_SETTINGS configuration.
Example: Disable automatic microphone input volume adjustment (WebRTC automatic gain control). Use this when the browser keeps changing the microphone input level during audio/video capture.
{
"configuration": [
{
"type": "CHROMIUM_SETTINGS",
"disableFeatures": ["WebRtcAllowInputVolumeAdjustment"]
}
]
}
Example: Render the content at the native resolution of the screens. Use this when a high resolution multi screen device running at a high Windows display scaling factor (for example 4x4K screens at 300%) shows blank areas or does not play videos.
{
"configuration": [
{
"type": "CHROMIUM_SETTINGS",
"deviceScaleFactor": 1.0
}
]
}
Example: Turn off hardware acceleration and GPU vsync. Use this when the device shows rendering artifacts, torn or corrupted frames caused by the graphics driver.
{
"configuration": [
{
"type": "CHROMIUM_SETTINGS",
"disableHardwareAcceleration": true,
"disableGpuVsync": true
}
]
}
Example: Reset the configurable Chromium settings to the Windows client's built-in defaults.
{
"configuration": [
{
"type": "CHROMIUM_SETTINGS",
"enabled": false
}
]
}
Set application's automatic start
Set the application's behavior, to start when system starts.
{
"configuration": [
{
"type": "AUTO_START",
"enabled": true
}
]
}
Set application's window properties
Set the application's window properties and behavior
{
"configuration": [
{
"type": "APPLICATION_WINDOW",
"windowMode": "FullScreen",
"windowPosition": "LeftTop",
"width": 1280,
"height": 720
}
]
}
windowModekey has to be defined, and one of the following values:FullScreen,FullScreenMultiple,WindowedwindowPositionkey has to be defined, and one of the following values:LeftTop,Center
Configure individual screens
Windows player version 5.0.240 or later can change the resolution, desktop position, and orientation of each connected screen through SCREEN_CONFIGURATION. Include only the screens and settings you want to change. For example, this sets two screens to Full HD without specifying their positions:
{
"configuration": [
{
"type": "SCREEN_CONFIGURATION",
"enabled": true,
"screens": [
{ "index": 1, "resolution": "1920x1080" },
{ "index": 2, "resolution": "1920x1080" }
]
}
]
}
index is the screen number reported in device information (DisplayName), starting at 1. The player numbers connected screens by their current desktop position, left to right and then top to bottom. Windows device names such as \\.\DISPLAY1 can change after a disconnection; they do not determine these numbers. All entries in one configuration use the screen order captured before any changes are applied. If you later rearrange screens, check their reported numbers before sending another configuration.
| Screen field | Value | Behavior |
|---|---|---|
index | Required integer from 1 to the number of connected screens | Selects the screen to change. An unmatched index is skipped. |
resolution | Optional "WIDTHxHEIGHT", such as "1920x1080" | Changes resolution only if the screen supports that mode. An invalid or unsupported resolution is skipped; other settings in the entry can still apply. |
screenX and screenY | Optional integer pixel coordinates | Move the screen's top-left corner. Supply both values; supplying only one leaves its position unchanged. Check screen widths when choosing positions to avoid overlaps. |
orientation | Optional 0, 90, 180, or 270 | Sets landscape, portrait, landscape flipped, or portrait flipped, respectively. Omit it or use -1 to leave orientation unchanged. |
For example, on a layout whose first screen is 1920 pixels wide, a position-only entry for screen 2 is { "index": 2, "screenX": 1920, "screenY": 0 }. The fields are independent: a position or orientation change does not require a resolution. The player applies the configuration when received and saves it for reapplication at startup. An active per-screen orientation takes precedence over the device-wide orientation setting.
To stop reapplying this configuration, send:
{
"configuration": [
{
"type": "SCREEN_CONFIGURATION",
"enabled": false
}
]
}
This clears the saved per-screen configuration and returns orientation control to the device-wide setting. It does not restore the previous Windows resolution or screen positions; send the desired values explicitly if you need to change them back.
Cursor visibility
The CURSOR configuration controls mouse cursor visibility on Windows players running client version 5.0 or later.
Use enabled: true to keep the cursor visible in fullscreen modes. The setting is applied immediately and remains active after the Windows player or device restarts.
{
"configuration": [
{
"type": "CURSOR",
"enabled": true
}
]
}
Use enabled: false to restore the default behavior: the cursor is hidden in fullscreen modes. In windowed mode, the normal Windows cursor remains visible.
{
"configuration": [
{
"type": "CURSOR",
"enabled": false
}
]
}
Set a custom NTP server
Windows player version 5.0.91 or later can use a preferred NTP server for time synchronization. Set serverUrl to the NTP server's host name or IP address. The optional ntp:// prefix is accepted.
{
"configuration": [
{
"type": "NTP_SERVER",
"enabled": true,
"serverUrl": "time.example.com"
}
]
}
If the preferred server is unavailable, the player tries Cloudflare NTP, the connected Wallboard server over NTP, and finally the connected server over HTTP. The new setting takes effect without restarting the player.
To remove the preferred server and return to the default time sources, disable this configuration:
{
"configuration": [
{
"type": "NTP_SERVER",
"enabled": false
}
]
}
Disabling the configuration clears the saved NTP server address.
Device Preview
The Preview creation/upload can be disabled with this command
{
"configuration": [
{
"type": "DEVICE_PREVIEW",
"enabled": true
}
]
}
Device Statistics
The device Metric and Proof of Display statistics collection can be triggered with this command
{
"configuration": [
{
"type": "STATISTICS_SETTINGS",
"deviceMetricsEnabled": true,
"displayTimeStatEnabled": true
}
]
}
- The
deviceMetricsEnabledparameter can be used to turn on or off the device metric Metric collection and upload - The
displayTimeStatEnabledparameter can be used to turn on or off the Proof of Display statistics collection and upload