• Adding an Image

    Using the “+ Add Image” button, you can upload an Image to Xandadeck.

    When you click the “+ Add Image” button, you are requested to provide the following:

    • “Name” is the name of the image, which you set. This is used to identify the Image, and it is shown in image lists in other sections. Make sure it is something short but identifiable.
    • “Description” is a description of the image, which you set. This usually includes more details on the image, any notes you want to save, etc. This field is optional.
    • File Upload field, where you select the image file from your computer to be uploaded. Xandadeck supports all popular image formats, including JPEG, PNG and GIF.

    Fill out the above fields and click the “Save” button to upload the file.

    IMPORTANT: The file upload may take some time. You can continue to work while the file is being uploaded. If the upload have not finished or it fails, you will not be able to apply changes you make.

  • Support for Subtitles in Videos

    We are currently supporting Videos with burned subtitles. Check the Video section here for further information (scroll a little down to the “Enable Subtitles” section).

    Make sure that you reach out and ask that we enabled the “Use Video file uploaded as-is” toggle for your Xandadeck Account.

  • Why is my Player running in VGA resolution (640×480)?

    The Xandabox (based on Raspberry Pi) automatically detects on start-up the “preferred” resolution of the connected monitor (usually, its native resolution). In some cases, the preferred resolution is not detected properly:

    • Powering up your Player without a screen connected.
    • Powering up your Player and screen at the same time (e.g. after a power failure). If your screen is slow on startup, it does not report its resolutions in time to the Player.

    In this case, the standard VGA resolution of 640×480 is used. Rebooting your Player will resolve this issue (temporarily).

    If you are having constant issues like this, then you have two options for a permanent solution:

    1. Set the resolution of the Player to a standard one. Your Player will always use this resolution, regardless if you have attached a screen or not, or if the attached screen supports it or not.
    2. Increase the time the Player waits for detecting the screen. This delay is set by default to 3 seconds. You can increase it, to allow your screen to properly start and allow the Player to detect it. To do this: 1) go to your Monitor entry in the Xandadeck Portal, 2) go to the “Advanced” tab, 3) make sure the “Allow Raspberry config.txt Override” toggle is set to “ON”, 4) add the following line to the “Raspberry config.txt Override Directives”, using the number of seconds that works for you:
      bootcode_delay=8
      5) Make sure you click the “Save” button, so that the configuration you did is saved.

    Reach out if you are still having problems.

  • Bypassing Video Re-encoding (As-Is Upload)

    All Video files you upload to Xandadeck, go through re-encoding (also known as “transcoding”) to ensure that the Video will be playable on the Player. Our Players only support the industry-standard H.264 video format (codec), so we make sure all videos are delivered to Players in this format.

    Re-encoding the Video files may result in a slight loss of clarity. Usually, video quality is preserved just fine. But in cases where you want the best possible result, you might need to use the original file you uploaded instead of the re-encoded one. 

    IMPORTANT: Your file must be encoded in the H.264 format (codec), up to High Profile, Level 4.1 – which translated up to 1920×1080 resolution at 30 FPS, or even 60 FPS. You can try even higher levels, but that depends on the file. Make sure you test a sample of your content first before deploying it. We support almost all containers, including MP4, TS, MKV, etc. Audio is handled by software, so any codec should be fine.

    If you need to enable this option, drop us a message and we will enable it for you.

  • Web Page – URL Parameters Per Device

    Web Pages provide a single URL address that is used throughout Xandadeck. In case you wanted to display different content depending on the device (Monitor), then you would have to use a different Web Page entry for each Monitor, creating also a different Show and Schedule.

    To avoid this, we provide two unique parameters that can be used in the Web Page URL address. These parameters are replaced in the URL you provide with the respective values for each Monitor. Your web page should then be able to differentiate the behavior, based on this ID. Here are the value we currently support:

    • DEVICE_ID  –  This is the ID displayed in the Monitors listing, e.g. 4321
    • DEVICE_UUID  –  This is the ID displayed in the Monitor’s details, e.g. abcdef112abcdef112abcdef112
    • DEVICE_NAME  –  This is the Name of the Monitor, e.g. “Lobby Screen”

    Please note the following:

    • All occurrences of these special names in all URL addresses will be replaced.
    • These parameter names are case sensitive, so they must be used in uppercase. If not in uppercase, they won’t be replaced.
    • The “DEVICE_NAME” values are URL-encoded, so you can use any character you want, including non-Latin characters.
    • Currently, there is no way to specify a value for DEVICE_ID and DEVICE_UUID. If you delete a Monitor (device) from your account, the DEVICE_UUID and DEVICE_ID values are lost and you can’t retrieve them or re-create the device entry with these values. Check out the “Using a Custom ID” section below.

    Using a Custom ID


    In case you want to use a Custom ID for each Monitor, you can do that by using the “DEVICE_NAME” parameter, but with a twist to make it easier. If the name of a Monitor includes the special character “~” (called “tilde”), then only the part after tilde is used while replacing. So, if you specify “Lobby Screen ~653” as a Name for a Monitor, then the DEVICE_NAME parameter will use only the “653” value.

    This way, you can specify a Custom ID of your own within the Name of each Monitor, so that management of the custom URLs is easier.

    Examples


    Let’s say you have 2 Monitors with Device IDs 4001 and 4002. If you use the following URL in a Web Page:

    https://httpbin.org/get?q=DEVICE_ID&argument=value

    the following URLs will be sent respectively to each of the two devices:

    To device 4001:  https://httpbin.org/get?q=4001&argument=value
    To device 4002:  https://httpbin.org/get?q=4002&argument=value

    Let’s say you have 3 Monitors with Device Names “Lobby Screen”, “Reception Screen” and “Arena Screen ~1234”. If you use the following URL in a Web Page:

    https://httpbin.org/get?q=DEVICE_NAME&argument=value

    the following URLs will be sent respectively to each of the two devices:

    To device “Lobby Screen”:  https://httpbin.org/get?q=Lobby%20Screen&argument=value
    To device “Reception Screen”:  https://httpbin.org/get?q=Reception%20Screen&argument=value
    To device ” Arena Screen ~1234″:  https://httpbin.org/get?q=1234&argument=value  

  • Support for LED board screens and billboards

    You can use a Xandabox for LED screens and LED billboards. We have users running large LED displays using Xandaboxs based on Raspberry Pi.

    To properly use a LED display, you must perform some calculations and configurations.

    Step 1: Setting the DVI resolution


    First, you must identify what resolution your LED display (or LED board controller, or LED sender card) requires as input. This is usually called the “DVI resolution”.

    To find out the resolutions supported, you have two options:

    • You can connect your display to a PC or laptop and see the resolutions it supports through the menus of your computer.
    • Check the manual or documentation of the LED display and find the supported DVI resolutions.

    The Xandabox (Raspberry Pi) automatically detects the best possible resolution and uses that. If it cannot detect the preferred resolution, it will fallback to the safe VGA resolution of 640×480. If you need to force a specific resolution, see our article on “Changing the screen resolution” on Xandadeck. Even if the resolution is detected properly, and you won’t be changing the connected display, it is best to set it as forced, to make sure it does not change.

    We will use two examples:

    • Case A: a LED display requiring a 1920×1080 DVI resolution input
    • Case B: a LED display requiring a 1440×900 DVI resolution input

    Step 2: Identify the content area resolution


    Large LED displays usually have a low resolution, much lower than the DVI resolution expected as input. LED displays just use the top-left corner of the input for displaying content. For Xandadeck to properly manage the LED display, we need to get the LED display resolution and use it to calculate configuration parameters.

    For our two examples, let’s say that the content is in the top-left corner, and the input is

    • Case A: the LED display has 320×240 resolution (aspect ratio: 4:3)
    • Case B: the LED display has 256×256 resolution (aspect ratio 1:1)

    Step 3: Determining Show size


    Based on the content are resolution, you have to use a specific aspect ratio for your Show in Xandadeck. Xandadeck supports a variety of aspect ratios, and you must find the aspect ratio that matches your content area. If this ratio does not exactly match your resolution, then you can define your own Custom Ratio.


    So, for our two examples, let’s say that the content is in the top-left corner, then the best aspect ratio for the Show would be

    • Case A: select the 4:3 aspect ratio for the Show (perfect match with aspect ratio of Case A LED display content area 320×240) — alternatively, you can create a new Custom Ratio 4:3 with 320×240 resolution
    • Case B: create a new Custom Ratio 1:1 with 256×256 resolution

    Step 4: Configuring the Player


    First, you should calculate the dimensions of the DVI resolution that you must “disable”, relative to the Show. 

    Specifically:

    • Case A: you need to “disable” 1600 pixels (1920-320) on the right, and 840 pixels (1080-240) on the bottom
    • Case B: you need to “disable” 1184 pixels (1440-256) on the right, and 644 pixels (900-256) on the bottom

    This way, your usable resolution will be exactly the area used by the LED sender/controller. To properly configure the Monitor, follow these instructions: 

    1. Go to the “Monitors” list and edit the monitor in question.
    2. Click on the “Audio/Video” tab.
    3. Make sure the “Overscan” toggle is set to “ON”.
    4. In the “Overscan” text fields, you will have to add some parameters detailed after these steps.
    5. After you are finished, click the “Save” button.
    6. The Player will reboot. If you can’t see anything for 5′ (not even the Xandadeck startup logo), then you can contact our Support Team for help. 
    7. The parameters described below should be entered.

    For Case A, you would use the following advanced parameters:

    For Case B, you would use the following advanced parameters:

    Step 5: Create and Use Show


    Create the Show you want (using the aspect ratio from Step 3) and assign it to the Monitor. Click “Push to Players?” to push all changes, and you are all set!

    If you have any difficulties setting this up, please contact our Support Team and we will help you out.

  • Xandadeck Registration Information [REGISTRATION]

    WARNING: This section is used by the pre-provisioning mechanism of Xandadeck. You should not change this information, unless you really know what you are doing.

    Preconfiguring Device Registration

    Example section with dummy settings:

    [REGISTRATION]

    deviceid = 21518947298065749230657432

    Settings:

    • deviceid: This is the Device ID (also called as the “Screen ID”) which identifies this Player on Xandadeck central systems. When the Player is registered with Xandadeck (using the on-screen Registration Code), this setting is set. To allow for pre-provisioning, you can create the monitor in your account in Xandadeck, and copy the Screen ID value into this setting. When the Player starts, it will attempt to Register with this Device ID, and thus automatically register without using the Registration Code.

    Xandadeck Internal Information [INTERNAL]


    WARNING: This section is used by the software inside the Xandabox. You should not change this information, unless you really know what you are doing. So, we do not provide more info on these settings to avoid erroneous configuration. You can safely delete this whole section, nothing will be affected.

    Security and Shell Access Settings [SECURITY]

    Configuring system security settings and system shell access


    Example section with dummy settings:


    [SECURITY]

    disable_password_policy = false

    set_Xandadeck_user_password = $6$sAIskWuRBgQRJHfS$x0Jycz1FpFbD84QzfeDbcHaOKgf0YHn9q6p0anOSx/ax5cgiYOtZ5LqyBYxK8.z4IjoVhDM2Ft29Ku5lp3N3V.

    disable_firewall_policy = false

    Please note that it is recommended not to modify these settings, since doing so might degrade your Player’s security or it will prevent the Xandadeck Support Team from helping you out in case of serious problem. After you get your Player online, you can change these settings through Xandadeck.

    • disable_password_policy: This is a security check. Every time the Xandabox starts, the system passwords for system user account root, pi and Xandadeck are checked against the default passwords for Raspbian and the 100 most common passwords. If a weak password is discovered, this issue is logged and (in the near future) will appear in your Xandadeck account as a potential security issue. Valid values for enabling this option are true, yes, and on (all case-insensitive), any other value (includng empty) disables this option.
    • set_Xandadeck_user_password: This is the password that should be set for system user account Xandadeck. By setting this password, you can login as user “Xandadeck” and then use the sudo command to perform privileged actions. The value can be plaintext or can be a standard crypt hash value. To generate a hash value you can use the following command – on Linux/Mac: openssl passwd -1 -salt ARandomValue – on Windows, just use this online tool. Warning: It is strongly recommended NOT to change the password for the root user. This password is used for remotely providing support. Resetting it won’t affect Xandadeck in any way, we just won’t be able to support you by remotely connecting to your Player. If the password is not specified, no changes are made on the system.
    • disable_firewall_policy: This specifies whether Xandadeck should disable re-configuring the embedded firewall on the Player. If you want to disable the firewall re-configuration, you must set this option to true.  Valid values for enabling this option are true, yes, and on (all case-insensitive), any other value (including empty) disables this option.

    Raspberry Pi Specific Settings [RASPBERRY]

    Configuring settings for the Xandabox or the Raspberry Pi


    Example section with dummy settings:


    [RASPBERRY]

    config_overwrite = false

    config_content = Z3B1X21lbT0xMjgNCg==

    Please note that it is recommended not to modify these settings, since doing so might disable several functions of your Player or could even damage it. Also note that it is recommended not to modify these settings manually. After you get your Player online, you can change these settings through Xandadeck.

    • config_overwrite: If this option is enabled, then the /boot/config.txt file is overwritten with the contents of the config_content option detailed below. Valid values for enabling this option are true, yes, and on (all case-insensitive), any other value (including empty) disables this option.
    • config_content: This is the content to be written to the /boot/config.txt file, if the above config_overwrite option detailed above is enabled. The content is Base64-encoded, without any newlines (all the resulting Base64 string is on a single line. Warning: Setting wrong values to these settings may result in a number of negative repercussions, e.g. voiding the warranty on your Raspberry Pi or Xandabox, preventing it from booting, losing network connectivity or HDMI/TV-out signal, and many other horrible things. Only change it if you really know what you are doing.

    Example for “SETTINGS.txt”

    [WIFI]
    ipaddress =
    netmask =
    gateway =
    dns =
    ssid =
    key =
    mode = WPA
    [LAN]
    ipaddress =
    netmask =
    gateway =
    dns =
    [PROXY]
    proxy =
    port =
    username =
    password =
    [REGISTRATION]
    deviceid = 
    [INTERNAL]
    settings_file_timestamp = 1447771170.0
    log_level =
    remote_log_level =
    disable_error_monitoring =
    [TIME]
    zone = Europe
    subzone = Athens
    [SECURITY]
    disable_password_policy = false
    set_Xandadeck_user_password = $6$sAIskWuRBgQRJHfS$x0Jycz1FpFbD84QzfeDbcHaOKgf0YHn9q6p0anOSx/ax5cgiYOtZ5LqyBYxK8.z4IjoVhDM2Ft29Ku5lp3N3V.
    disable_firewall_policy = false
    [RASPBERRY]
    config_overwrite = false
    config_content =

  • Xandadeck Manual Configuration Guide

    Introduction


    With Xandadeck, you have two options for configuring a Player:

    • Though the web
    • Though the “SETTINGS.txt” configuration file on the SD Card of the Player

    If you choose the first option, you have to get your Player online, so that it can connect to the Internet and fetch the new settings you specify.

    There are cases where you need to configure the Player manually, through the “SETTINGS.txt” configuration file:

    • You want to connect through a WiFi network and there is no option for temporarily connecting it using a cable.
    • You need to configure a Proxy server through which the Player connects to the Internet.
    • You need to specify static IP configuration (Static IP Address, Netmask, Gateway, or DNS) for your connection.
    • You need to specify some other configuration parameter besides networking, but you want to do it offline.

    Step by Step Guide


    To manually configure the Player, do the following:

    1. V E R Y   I M P O R T A N TLogin to your Xandadeck account, navigate to the Monitor in question and specify all settings — If you skip this step, then, when the Player registers, it will fetch the default settings from your Xandadeck account and revert back to the wrong settings, possibly getting the Player offline again! So make sure you do it before manually changing the settings on the Player!
    2. If the Player is currently powered-on, disconnect all networks (any WiFi USB adapters or Ethernet cable) and wait 1 minute. Then, disconnect it from power.
    3. Remove the SD Card. There is a small slot right next to the Powered On indicator LED. With your fingernail (or a thin, not sharp, object), push the card. It should pop out so that you can pull it off. Make sure you do not use excessive force.
    4. Put the SD Card into your computer. You might need a MicroSD-to-SD adapter (usually, computers have standard SD Card slots, not MicroSD). An adapter like that should be included with your SD Card or Player.
    5. Navigate to the SD Card. Open the “SETTINGS.txt” file in the SD Card.
    6. Change the settings you need. You change the value of a setting by specifying it right after the equals (“=”) sign. Settings are described in detail in the next section.
    7. Save the “SETTINGS.txt” file, overwriting the existing file.
    8. Use the “Safely Remove SD Card” feature of Windows (or Linux) and, after being notified that you can safely remove the SD Card, wait 10″ and remove the SD Card.
    9. Put the SD Card back in your Player. With your fingernail (or a thin, not sharp, object), push the card inwards. When you release it, it should lock into place. If it pops back out, try pushing the SD Card further inwards before releasing it. Make sure you do not use excessive force.
    10. Connect the network you require (WiFi or Ethernet, never both). Note that in order for the WiFi adapter to be properly configured, it must be connected to the Player.
    11. Power up the Player. Upon starting up, the Player will re-apply all settings found in the “SETTINGS.txt”. It might take a while to apply all the settings, so be patient. The Player should be up and running within 3-4 minutes.

    Settings Reference for “SETTINGS.txt”


    A detailed reference for all the available settings follows. Note that the section names (denoted by square brackets, e.g. “[SECTIONNAME]”) is important and must be present for the settings below to be recognized and used.

    A complete example for “SETTINGS.txt” is also provided further down.

    WiFi Network Settings [WIFI]


    Example section with dummy settings:

    [WIFI]

    ipaddress = 192.168.1.200

    netmask = 255.255.255.0

    gateway = 192.168.1.1

    dns = 8.8.8.8

    ssid = YourWiFiNetworkName

    key = ThisIsTheWiFiPassword
    mode = WPA

    Configuring the Wireless Network connection

    [WIFI]

    ssid = YourWiFiNetworkName

    key = ThisIsTheWiFiPassword
    mode = WPA

    Settings:

    • ssid: This is the SSID of the Wireless Network, essentially the name of the network. The Player will search and try to connect to the SSID you specify here. If you do not specify an SSID and a WiFi adapter is present, then the Player will try to connect to any open wireless network (“open” means that it does not need a passphrase) it can detect nearby. If it can find more than one network, it will connect to the one with the strongest signal.
    • key: This is the wireless network passphrase or key that you must use to secure the network. If you do not specify a key, then the player will assume that the SSID you specified above is an open wireless network (does not need a passphrase).
    • mode: This specifies the encryption used by the WiFi network. Valid values are: “WPA” for WPA/WPA2-PSK, or “WEP” for WEP64/WEP128 encryption. If you do not specify a mode, then the default value is “WPA”.

    Configuring the Wireless Network static networking

    [WIFI]

    ipaddress = 192.168.1.200

    netmask = 255.255.255.0

    gateway = 192.168.1.1

    dns = 8.8.8.8


    Settings:

    • ipaddress: This is the static IP Address for the Wireless Network. If you do not specify a static IP, then automatic IP Address assignment through DHCP is used. If you set this setting, then you must also set the “netmask” setting, or else it is ignored.
    • netmask: This is the netmask for the Wireless Network. If you have not specified the “ipaddress” setting, this setting is ignored.
    • gateway: This is the network gateway for the Wireless Network. If you have not specified the “ipaddress” setting, this setting is ignored.
    • dns: This is the Name Server (DNS Server) for the Wireless Network. If you have not specified the “ipaddress” setting, this setting is ignored. By default, Google’s Public DNS Service is always included in the system’s configuration, to ensure reliability.

    LAN Network Settings [LAN]

    Configuring the (wired) Ethernet connection


    Example section with dummy settings:

    [LAN]

    ipaddress = 192.168.1.200

    netmask = 255.255.255.0

    gateway = 192.168.1.1

    dns = 8.8.8.8

    Settings:

    • ipaddress: This is the static IP Address for the Local Network. If you do not specify a static IP, then automatic IP Address assignment through DHCP is used. If you set this setting, then you must also set the “netmask” setting, or else it is ignored.
    • netmask: This is the netmask for the Local Network. If you have not specified the “ipaddress” setting, this setting is ignored.
    • gateway: This is the network gateway for the Local Network. If you have not specified the “ipaddress” setting, this setting is ignored.
    • dns: This is the Name Server (DNS Server) for the Local Network. If you have not specified the “ipaddress” setting, this setting is ignored. By default, Google’s Public DNS Service is always included in the system’s configuration, to ensure reliability.

    LAN Network Settings [LAN]

    Configuring the (wired) Ethernet connection


    Example section with dummy settings:

    PROXY]

    proxy = 192.168.1.253

    port = 3128

    username = myproxyusername

    password = myproxypassword

    Settings:

    • proxy: This is the Proxy Server IP address (or hostname, but it’s better to use an IP address to be safe). If you specify a Proxy Server using this setting, then all HTTP and HTTPS communications from the Player will go through the Proxy server. Remember that to use HTTPS, the Proxy must allow the “CONNECT” method.
    • port: This is the TCP port number for the Proxy. If omitted, it defaults to 3128. If you have not specified the “proxy” setting, this setting is ignored.
    • username: This is the username to be used against the Proxy with HTTP Proxy Authentication. If omitted, no authentication info is sent to the Proxy. If you have not specified the “proxy” setting, this setting is ignored.

    password: This is the password to be used against the Proxy with HTTP Proxy Authentication. If omitted, no password is sent to the Proxy. If you have not specified the “proxy” or “username” settings, this setting is ignored.

  • Can I have root access to the Xandabox?

    To log in as “root”, you can first login as user “user” and then use the “sudo” command to have “root” access.

    You can reset the password for user “user” through the configuration item named “Remote Support Password”. Just enter a password there, it will be encrypted properly and written to the system. We only save encrypted (hashed) passwords, so we never know your actual passwords.

    Here you will find a complete guide on how to do that.  

    IMPORTANT: Changing the password (or SSH keys) for the “root” user is not recommended. This allows us to provide direct support in case you need it. But if you wish to, you can indeed change it; the Player won’t be affected in any way. 

  • How does Xandadeck support powering on and off monitors and TVs? Are all monitors and TVs compatible with this feature?

    The Xandabox (or Raspberry Pi in general) includes a CEC adapter on its HDMI monitor port. CEC is a standard communication protocol supported by most major TV manufacturers. It allows for a playback device (the Xandabox) to power on, power off, and switch video inputs on a CEC-enabled TV. Check out the CEC compatibility chart.

    If your monitor does not support CEC (e.g. you have a computer monitor), the Xandabox turns off the HDMI port to allow for the monitor to power-down by itself. This function is supported by all current computer monitors, even some TVs. Kindly take a look here for further details and how to create the script to do that.

    If you use a HDMI-to-VGA adapter on the Xandabox, the software will attempt to turn off the HDMI/VGA port, but this might not be supported by this hardware.  

    In the future, we will provide support for using infrared LEDs to switch the monitor on or off through IR, just like normal TV remotes do. For large installations, we can support custom solutions, like the above, or custom serial connections to monitors. Also, we will be providing programming hooks that will allow you to create custom scripts to power the monitor on/off.