====== PIXILAB Player ====== PIXILAB Player is free software for making a player or interactive kiosk out of an NUC computer, or other similar small form-factor PC, for use with Blocks as a Display Spot. This article describes how to install and use PIXILAB Player. ===== PIXILAB Player System Requirements ===== We recommend using a NUC computer. For basic applications in HD resolution, you can choose a low-cost, Celeron based model. For most applications, an i3-based model is sufficient. For demanding applications, select an i5 or i7-based model. The player needs 8 GB of RAM to be installed. Chose RAM of the fastest type supported by the computer. For 4k video playback, two RAM modules are recommended for best memory bandwidth. For best performance and additional capabilities, an internal SSD is recommended. Alternatively, the player can be started directly from a USB memory stick. Make sure to use a USB memory stick of good quality. ===== Getting Started ===== To create a player, you need a USB stick of at least 8GB in size and a Mac/Windows laptop or similar for creating the installation media. You will also need to [[https://www.balena.io/etcher/|download Etcher]] to your laptop, which is then used to transfer a disk image file (.img) onto the USB stick. PIXILAB Player can be installed on an internal SSD or run directly from a USB stick. Installing on an internal SSD is recommended for best reliability and performance (see the remarks under “Install on internal disk” in the Configuration Options section). The instructions in this section apply to both installation methods. Start off by going to the page pictured below (https://pixilab.se/outgoing/blocks/player-maker7/), which contains instructions for downloading the latest PIXILAB Player image as well as creating a configuration file for your player. Store the downloaded files somewhere on your computer. For more information about the various configuration options, see the Configuration Options section. To run PIXILAB Player from a USB stick, you must set the “Install on internal disk” configuration option to “no”. Start by going to https://pixilab.se/outgoing/blocks/player-maker7/ (see below) which provides instructions for downloading the latest PIXILAB Player image as well as creating a configuration file for your player. Store the downloaded files somewhere on your computer. For more information about the various configuration options, see the Configuration Options section. :!: IMPORTANT: If you want to run PIXILAB Player from the USB stick rather than installing to SSD, set the “Install on internal disk” configuration option to “no”. {{ :blocks:player7:playermaker1.png?nolink |}} After downloading the disk image and your configuration file, use Etcher to transfer the disk image to the USB stick. {{ :blocks:player7:etcher1.png?nolink&600 |}} When Etcher has transferred the image to the USB stick, copy the just downloaded configuration file (named “playerconfig.txt”) to the USB stick. If the USB stick doesn't appear in Explorer/Finder, try removing the USB stick and inserting it again. If multiple external drives appear, select the one labeled "PIXICFG". {{ :blocks:player7:configfilepc1.png?nolink |}} :!: IMPORTANT: The configuration file must be named "playerconfig.txt" and be placed at the root-level of the USB memory stick. After copying the “playerconfig.txt” file to the USB stick, do as follows: - Eject it from your computer. - Move it to the target computer (the one that will become the player). - If you are installing PIXILAB Player on an internal SSD, ensure that the target computer has only one internal disk (where the player software will be installed). Ensure that no other USB sticks/drives are connected apart from the player USB. - Boot the target computer from the USB stick. :!: NOTE: If the computer doesn't boot from the USB stick, you need to enter its BIOS and change its boot settings to boot from USB. You may also need to turn off any Secure Boot option. If you have configured PIXILAB Player to run from the USB stick (i.e., you set the “Install on internal disk” option to “no”), the installation is now complete. Once the player has booted, you should see the PIXILAB logo on the screen with an ID string below, allowing you to add it as a Display Spot to Blocks. If you are installing PIXILAB Player on an internal SSD, you should see a screen similar to this once the player has booted. {{ :blocks:player7:usbstickboot1.png?nolink&600 |}} To test the configuration without installing PIXILAB Player on the internal disk yet, press "t". Note that some features such as block caching are not available in the test mode. Reboot the computer to leave the test mode. To install PIXILAB Player on the internal drive, press "i". The installer will automatically detect the internal drive and install the system onto it. When the installation has finished, remove the USB drive and power off the player. Connect the player to the network used by the Blocks server (if it is not already connected) and power on the player again. If everything works as expected, you should see the PIXILAB logo on screen with an ID string below, allowing you to add it as a Display Spot to Blocks. =====Configuration Options===== In most cases, only three settings need to be specified: * The domain or IP address of the Blocks server. * The keyboard layout (if a physical keyboard is to be used). * Whether to show the mouse cursor (if you intend to connect a mouse to the display spot). Enter only the IP address or domain name in the text field. Do not append "/spot" or any other path. When using our Linux based server image, you don't need to specify a port number. However, if you're running Blocks on your Mac or Windows computer, also append any non-standard port number separated by a colon, e.g. :8080. Additional options can be accessed by checking “Show advanced settings”. Some of these options require more details to be specified and may reveal additional options. Hover over an option to learn more about it, its use cases and possible values. ===Blocks Server Connection Type=== If you're exposing your Blocks server to the Internet, you're strongly advised to use an encrypted server connection (HTTPS). Note that this requires a domain name and an associated certificate to be installed on your Blocks server. If players are used only on an intranet, and don't connect over the Internet, you do not need to run HTTPS on those players. In general, unless explicitly forbidden by your server's configuration, players can access the server over HTTP even when the editor and other secure endpoints use HTTPS. ===Enable WiFi=== We strongly recommend that you use a hardware network connection (Ethernet) whenever possible. However, if you must use a wireless WiFi connection, you can enable that here. When enabled, you must then specify the network name (SSID) and password for accessing the network. ===Network configuration=== If no DHCP server is available, it is possible to manually configure the network settings for the player. By setting this option to “Manual”, the IP address (with subnet mask in CIDR notation), the default gateway and the DNS server must be specified. === Proxy server=== If the player is behind a proxy server, enable this option. You must then enter the address to the proxy server. You can also provide a comma-separated list of addresses that should bypass the proxy server. ===Hardware video acceleration=== Enables hardware-assisted video decoding on hardware that supports this. This may improve video playback performance, but may in some cases cause other problems or stability issues, so make sure you test on representative hardware and content before deploying players with this function enabled. ===Install on internal disk=== We strongly recommend that PIXILAB Player is installed on an internal disk for maximum reliability and performance. However, it is possible to run PIXILAB Player directly from the USB stick without installing onto a disk by setting this option to “no”. Note that some features such as block caching and remote upgrades are not available when running from USB. ===Timezone=== If you need to access local time on the player (e.g., for some custom web content), select the local time zone where the player will be used. === NTP Server=== If you specify a timezone to access local time on players, you may also want to specify a custom time server used to set the clock in the player. If not specified, a default NTP server will be used. === Append to URL=== This string will be appended to the Spot page URL. It can be used to append query parameters to the URL. =====Configuration File==== The configuration set through the web-based user interface described above results in settings in the //playerconfig.txt// file. As an alternative to using the web-based user interface, you can set options directly in the playerconfig.txt file. This can also be used to change settings for a player later. Each setting in the //playerconfig.txt// file consist of a single line in the form: key=value Valid keys are listed below in bold, with values described in the following text. * **disable_hardware_video_acceleration** When set to //yes//, disables hardware video acceleration in chromium. Hardware video acceleration is enabled by default. * **dns** The address to the DNS server when using manual network configuration. * **enable_mouse** When set to //yes//, shows the mouse cursor when a mouse device is connected. Mouse devices are disabled by default. * **enable_wifi** When set to //yes//, enables WiFi. WiFi is disabled by default. The SSID of the WiFi network must be specified using the ssid option. * **ssid** SSID (name) of WiFi network. * **wifi_encryption** Set to //wpa// to specify WPA encryption for the WiFi network. When set to wpa, wpa_password must also be set. Default is no encryption (open network). * **wpa_password** Password for connecting to a WPA encrypted WiFi network. * **gateway** The address of the default gateway when using manual network configuration. * **ip_address** The IP address + subnet mask in CIDR notation when using manual network configuration. * **ntp_server** Address to an NTP server for time synchronization. If not set, a default NTP server is used. * **proxy_server** Address to a proxy server. * **proxy_bypass** Comma-separated list of addresses to bypass proxy server (applies only when proxy_server is used). * **run_from_usb** Set to yes to run the player from the USB stick instead of installing to an internal disk. Disabled by default. * **server_location** Address + optional port number (separated by colon) to the Blocks server. * **server_protocol** Set to //http// or https depending on the connection type to the Blocks server. * **timezone** Time zone used by the player's internal clock. * **url_append** String added to the end of the Spot url. Occasionally useful to apply extra query parameters. * **rgb_range** Can be set to //auto//, //full// or //limited//. The default is //auto//, where the range to be used is governed by the EDID data provided by the display. Set to //full// to force the full 0…255 range, which is occasionally useful for non-compliant display devices that fail to show full black/white levels. Applies to Intel graphics chipsets only. * ** headless_mode** Set to //yes// to use the player without a display, e.g. for audio only playback. Default is //no//.