Raspberry Pi Player, Chrome App, Chromecast Player, Hosted Service, Open Sourced Server, Remote Apps for Pi Player and more.



piSignage consists of multiple components and options so that you can mix and match them to suit your needs. The following diagram shows the various components and their interconnections.

Setting up Raspberry Pi player

piSignage Player is based on Raspberry Pi which is a popular low-cost credit-card sized computer sold across the globe. This forms the foundation on which piSignage is built as a lean and reliable player which plays full HD content.

You can setup a piSignage player with easy-to-follow steps listed below.

  1. Purchase the Raspberry Pi kit
  2. Download the player software and prepare SD card
  3. Connect the pi to your router/network using Ethernet or Wifi
  4. Create a free account at and register the player

piSignage Player is built upon on node.js and communicates with the central server ( or your server) via websocket. This way piSignage player can be managed either by central server or locally through webUI with a similar UI.

Player is built for reliable operation and comes with many features like remote debugging & software upgrade, screen snapshot, event logging, ability to use linux utilities(ssh,network) etc.

Purchase the Hardware

The following are the suggested components needed to assemble the piSignage Player.

  1. Raspberry Pi model 3 (recommended although others models are supported)
  2. USB power supply with micro USB cable (with 2A capacity, TV USB power may not be sufficient)
  3. Class 10, 8GB+ microSD card from reputed vendor
  4. Good quality HDMI cable (CEC supported)
  5. LAN cable or Pi compatible USB wi-fi adapters if wifi is not built-in
Many vendors sell these components as a kit, for

Few notes

Display and Audio

piSignage Player provides HDMI interface with selectable 1080p(Full HD) or 720p output mode. CEC is also supported by Pi for TV on/off control. Identify a suitable TV which supports these specifications and suits your needs.

For displays that have other specifications, you may have to edit the /boot/config.txt and select hdmi_group, hdmi_mode accordingly. piSignage also supports RCA video output with PAL and NTSC modes.

By default audio is output on both HDMI and 3.5mm audio port. If the display is set to a different resolution, Pi may adopt to the same resolution due to CEC.

Prepare SD card

You can prepare the SD card for piSignage software by following instructions at piSignage Repository.

Basic steps are

  1. Download thepiSignage softwareto your computer
  2. Using aSD card image writeravailable for your OS (for e.g.Etcher), write the downloaded image to SD card
  3. Insert the SD card and poweron the Pi (Pi may reboot once to expand the file system)

Connecting to the network

piSignage player needs to be connected to internet to reach to server. It can be connected via Ethernet cable or using wifi to your local network(or router).

By default, player is configured to obtain IP address automatically from DHCP server. You can configure wifi settings or set static IP address in one of the following methods.

  1. Connect a USB keyboard and press Ctrl+N or F6.
  2. If player is connected to your local network through ethernet, use http://your_player_ip_address:8000/settings from your browser.

If any firewall exists, allow player to access Internet over standard http port including websocket traffic.

Please make sure the welcome screen on TV displays IP address and all network status are OK. To troubleshoot, useplayer shellas follows.

  1. Use "ifconfig" command and see that IP address is available for the interface eth0 or wlan0.
  2. Check player is able to ping any standard site like
  3. See the log file /home/pi/forever_out.log for any errors. For success, look for line "io.socket connected to server".

Player is ready to use! You can eitherregisterthe player at the server(recommended) or start using with localwebUIat http://playerIPaddress:8000.

Do more with Pi player

piSignage player is filled with features(many of them are hidden) which makes it a powerful signage player which is easy to setup and use.

Connecting to player shell

Once player is setup, you can access the piSignage player linux shell(bash) using one of the following ways.

  1. Connect a USB keyboard and press ctrl+alt+T. A terminal interface will appear unless video is playing. to stop video type "pkill node;sudo pkill omx;" on the keyboard blindly.
  2. Use ssh to connect to player (in windows you can use putty). The default credentials are "pi" & "pi".
  3. From the url, clicking ">_" icon next to the player name.

Offline working

piSignage player always plays files from local media folder. Hence it can work offline (except for streaming links) after configuration and downloading of files to the local folder. Weblinks are usually cached by browser. Browser Caching can be disabled under Group > Settings. Player supports progressive downloading which resumes the download instead of restarting in case of intermittent network failures.

Player needs to be online at least once after power on for synchronizing time using NTP.

API, Web-UI and Apps

For local management piSignage provides REST API similar to that of server. Android/Chrome piSignageremote appand player webUI interface http://{pi IP address}:8000 use this API to locally manage the player.

Player settings

Player settings are configured in one of the 3 ways.

  1. Upon registration at the server, player is assigned to a group. Server controls player configuration largely under Group settings. This overrides player webUI configuration.
  2. Using the player webUI http://player_ip:8000/settings. Some of the parameters common with server settings like resolution, orientation will be overwritten by server settings.
  3. Using USB keyboard and pressing ctrl+N. Wifi settings, IP configuration and server name can be configured using this menu.
  4. Advanced users can directly use /boot/config.txt and other pi specific utilities to directly control the pi settings like custom display resolutions.

Configuring a different server

piSignage player by default connects to on power on. To configure a different server other than, use one of the following methods. Be sure to include the port number (e.g. with the server name. Server name could be IP address or a domain name.

  1. Connect a USB keyboard and press Ctrl+N or F6. Use "config server" option to change the server.
  2. If player is connected to your local network, use http://your_player_ip_address:8000/settings from your browser and change the server name.
  3. ssh into the pi player and directly modify ~/piSignagePro/package.json. Modify both config_server and media_server fields.

Supported media formats

piSignage player uses media specific players like omxplayer, livestreamer and chromium-browser for optimum performance for the Raspberry Pi media play. Videos are converted to MP4 format at the server and only MP4 formatted videos are played by the player.

Here are the major media types that can be played by piSignage player

Web pages with flash content or heavy JavaScript processing may not be displayed.


piSignage player supports number of tools to support troubleshooting of the player. Significant ones are

More Resources

Hosted Service (

You can manage piSignage players centrally using a browser by signing up at Two players can be managed FREE with this service. This is the recommended way to manage piSignage players and offers many features that complement the player. In addition hosted service offers various reports.

The work flow for displaying your content on TV is as follows.

  1. Sign-up and select the installation name. Default group and playlist are created.
  2. Create needed Groups. Players belonging to a group will have same playlists and settings.
  3. Register the players using their IDs displayed on TV. Give a name and select the group while registering.
  4. Under assets tab, using Add button, upload videos, images, html files or add streaming/web links.
  5. Create a playlist, select the layout and arrange assets with duration for play.
  6. Under the group, select the playlists to play, schedule them if needed and Deploy.

Sign-up and create needed groups

To get started, create an accountby selecting a username which is your installation name. Username is unique to you and all your player licenses are tied to this name. Select a valid email ID as all communication and licenses are mailed to this address. Once you sign-up, you are automatically logged in.

Players are assigned to groups. All players belonging to a group have the same settings and assigned the same list of playlists. Upon sign-up, "default" group is created automatically which can be used to assign players. You can create more groups if needed and assign players to these groups.

Register players

You can register a player in theplayerstab using "Register" button. Upon registration, player license is generated which will be downloaded to the player on next boot. You can register a player multiple times without losing any licenses or data.

    Details on the screen
  1. Enter the player ID displayed on the TV screen
  2. Select "Managed" option
  3. Select the group to which this player will belong
  4. Change the timezone if needed
  5. Give a name so that you can identify the player (e.g. Reception)
  6. You could specify a city as the location(optional)
Note: If there are no licenses available when the player is registered, please register the player again to generate the license after licenses are bought.

Upload files and add links

The files (of type - video, image, pdf, html, templates, bootup video etc.) which are to be shown in the player are to be uploaded first to the server. You can upload multiple files at a time inAssetstab using Add1 button.

The video files which are not in mp4(h.264) format are automatically converted to mp4 format by the server after upload. The server also processes image files for optimum display, extracts metadata, creates thumbnails and validates template files. You can select the categories for the file when the upload is complete.

In a similar way, the links which need to be shown on the player are added inAssetstab using Add1 button. piSignage player supports the following url types.

Uploaded assets can be renamed4 or deleted2 in Assets Tab. Also an asset can be viewed and categories can be assigned by clicking the asset name6. Assets can be filtered and viewed based on a category by clicking Categories5 button.

An asset can be assigned to multiple playlists at a time using Assign3 button.

Create Playlists

Once the needed assets have been uploaded, playlists can be created atPlayliststab. Either select an already existing playlist or create a new playlist to edit the content.

Tip: You can duplicate an existing playlist and edit the new playlist to save time. Also there is a special playlist TV_OFF which switches off TV while scheduled to play.

Asset selection

Select the assets you want to add to the playlist using checkbox2 on the right. The duration3 field specifies how long an asset need to be shown. It is pre-filled with video duration for video files and default value specified under Settings tab is used for other media types. Use minimum of 20 seconds for url loading time for streaming, media rss and weblinks.

You can drag7 and re-arrange the assets to decide the order of play. By clicking on the thumbnail6, you can have a quick view of the asset.


For layouts with multiple zones, zones are named as "main", "side", "bottom" (which could be on top as well!) and "zone4", "zone5" and "zone6". Select the "main" zone content in the list and add other zone content as mentioned in the same row6,7. If main zone content to be shown in full-screen, select the checkbox8 below the asset name.


piSignage comes with many pre-defined layouts with 1,2 or 3 zones to show different content. The layout and dimensions are shown in the layout popup. More detailed layout dimensions are given in the following image. The layouts ending with "p"(2ap,2bp,customp) are for 900 rotated portrait mode. Similarly the layouts ending with "p270"(2ap270,2bp270,customp270) are for 2700 rotated portrait mode. All the assets including video will be aligned to fit inside the zone.

In addition to the standard defined layout templates, custom templates can be uploaded and assigned per playlist. In addition to custom layout files, video position and size need to be defined in the layout popup 8,9. The top left is (0,0) for positioning purposes.

The custom_layout files needs to start "custom_layout" text and end with .html extension (e.g. custom_layout_menu.html). The template file is uploaded similar to other asset files. Examples of custom layouts are available atpiSignage repository.


A scrolling or sliding ticker can be added4 at the bottom of the screen at playlist level or at group level. The style of the ticker like font-size, color etc. can be changed by specifying CSS attributes. The ticker can have static text message or RSS feed as input.

Advertisement Playlists

A playlist can be converted to advertisement playlist using popup5. The assets of advert playlists are inserted at regular intervals one at a time. If the adverts need to appear only on non-main zones, select the option in the popup. The layout can be "1" or same as the regular playlist playing. These playlists need to be added to the Group and they can be scheduled.

Deploy to Groups

Player playlists, schedules and settings are controlled per group at the server. You can select the group for the player either during registering or in thePlayers tabby pressing settings icon in the player row.

Scheduling Playlists

A group is assigned with a default1 playlist which is played when there is no other scheduled playlist is eligible to play. There is a special playlist "TV_OFF" which can be used switch off TV when there is nothing else to play by selecting as default playlist.

You can schedule additional playlists by pressing Add2button. You can add both regular and adverts playlist to a group (up to 20). By clicking the calendar icon3 next to the playlist, you can schedule the playlist to play between two dates11 on particular week/month days12 at specified times13 of the day. If nothing is specified it plays all the time.

The order of play is from top to bottom of the scheduled playlists(1-20) and then default playlist. When the first match occurs, that playlist is played and rest are ignored. If "Combine content of all scheduled playlists" option9 is selected, content of all eligible playlists (except default) are combined and played on the layout of first eligible playlist.

Sometimes it is useful to play a particular content of the group (e.g. hotel specific content) along with a broader audience playlist (e.g. city specific content). In that case group specific content can be set default playlist and broader playlist can be added as first scheduled playlist with no time specified. Then select "Play together with scheduled playlist" option8 next to default playlist row.

For smooth transition between current and newly deployed playlists, select "Change at the end of current playlist cycle" option10 next to Deploy button.

Any changes made in the assets, playlists, group settings and scheduling will be sent to players only after "DEPLOY" button7 is pressed. There is a "Deploy all" button under Groups tab which will deploy content to all groups.

You can set a Group Ticker6 similar to playlist ticker. Group ticker is shown when there is no ticker associated with playlist.

Group Settings

Group settings4 has most of the player settings which can be controlled by the server. Group settings overrides player webUI settings when there is a conflict. For e.g. if the Group settings for resolution is set at 1080p and player setting is changed to 720p, after reboot, the player will again go back to 1080p.

The various options available under Group settings are

Resolution 720p, 1080p, PAL or NTSC
Hardware Orientation Orientation is set at hardware level as opposed to CSS level
Animation SVG animation options for image/html transition
Signage Background Color You can change the color of the TV background (default black)
Volume Control Reduce the audio volume (default 100%)
Display a logo all the time Add a png image of required size to assets and add here
Show Clock A 24 hour clock shown on the bottom right. Enable ticker to show the clock when video is playing.
Stretch images to the screen Images which are not of screen aspect ratio or of lower resolution are stretched to occupy the full screen
Reload URLs each time Instead of using the browser cache, load URL very time for urls like dashboard (adds timestamp as query parameter)
Stop video every xx seconds Video pauses after set seconds so that adverts can be showed
Schedule Display OFF Powers OFF and ON at set times every day, for finer control use TV_OFF playlist

Monitor Players


The Players tab is a dashboard where all players can be monitored and maintained. The player status (hover the mouse on status icon for more details), last seen, last data sync time, current playlist being played, group it belongs, software version and the location are shown for each player. Location and Time Zone can be changed if needed for the player.

The local IP address4 for the player and the MAC address (click on IP address to see) are also shown.

Player name can be edited by clicking on the player name itself3. Player name is shown in yellow if there is no license associated with it.

The player settings icon5 shows a popup screen where player group can be changed. If none option is selected, player can be managed individually. Players can be assigned categories like brand-name to categorize players.

When there is a software update available, a cloud icon6 will appear next to software version. By clicking that release notes for the new release can be seen and the software can be upgraded to stable or beta version.

A new player can be registered using "Register a Player"1 button. If there is no player license available, you can register the player again to generate a license.


In case there is a need for player investigation, piShell can be used by pressing terminal(>_) icon2. The snapshot image will be taken and shown if the player is online, otherwise previous snapshot will be shown. You can take a new snapshot by pressing "Take Snapshot" button.

Linux bash shell commands can be issued by typing the command at the input box. To see the player log, you could use "tail -200 /home/pi/forever_out.log" command.

More on Hosted Service (

piSignage offers many more features which are built around the core theme Upload > Arrange > Deploy. There are many reports available for the assets played, events and player stats. Installation level settings allow you set default values, change password for players, manage collaborators and delete players. Subscriptions tab gives you a snapshot of available licenses & credits and makes purchases easy.


piSignage pricing has two components.

  1. Player License is priced at one time fee of USD25. When a player is registered at, a license file is generated and same will be automatically downloaded to the player. If the license file is not present, player will show a ticker. You could purchase player licenses bundled with 1 year subscription as managed license 1 or as player license2 only(if you are using open source server to manage).
  2. Subscription service at A player needs 1 credit every month to manage. When you purchase managed license1 at USD45, it includes 1 year subscription(12 credits) along with player license. After 1 year, you can purchase subscription renewal3 at USD20 which adds 12 credits to your account.

You can check your total purchased licenses and available licenses/credits in this tab. Also you can download the license files generated anytime.

Installation Settings

Installation level settings are available underSettingstab. Here you could

  1. Add collaborators and set their access rights to different tabs.
  2. Set user name and password for downloading content to players and webUI access.
  3. Default duration for playlist slides.
  4. Custom logo and url to be shown as part of server UI
  5. Hide system messages on the screen (e.g. Download in Progress message)
  6. Delete the registered players (please write to us at for license redemption).


Various reports can be viewed and downloaded atReportstab. Reports can be generated for various durations and include

  1. Monthly reports for Player, Files and Billing stats
  2. Events
  3. Files played stats
  4. Player related stats

Various selection parameters are possible like player , duration for report generation.

piSignage app for Chrome

piSignage player is also available as a Chrome app atChrome store.It is a kiosk-enabled app and can be enabled to run on boot-up. Once the app is downloaded register the player at the server as in the case of pi player. Rest of the operations are similar to that of Raspberry pi Player.


Hover the mouse on the screen and a settings icon will appear1 on the top-right corner of the screen. Click on the icon and the settings screen appears. You can

Auto start on power-on

piSignage chrome app is kiosk_enabled app and follow your Operating System's instructions to make piSignage as the single app that starts on power-on.

Features which are not-available on Chrome app

Raspberry Pi being the lead player on which new features are developed, we work to make Chrome app on par with pi player. However webUI, Android/Chrome remote app, snapshot and few other features are not available on chrome app. Please refer to the description of the app at theChrome store.

piSignage on Chromecast

piSignage player is also available on Chromecast. To play piSignage on Chromeapp follow the following steps.

  1. Setup the Chromecast device and connect to your local wifi network as per Chromecast instructions.
  2. Make sure chromecast extension is available on your Chrome browser.
  3. In the same local network as that of chromecast, login to (or your local pisignage-server UI) in the Chrome browser.
  4. Cast icon will appear on pisignage toolbar, click the same and select cast to your chromecast device. piSignage app will be automatically downloaded to your chromecast device and welcome screen will be displayed.
  5. Register the device at and follow other instructions similar to pi player.

Open source server for piSignage

There are installations where you want to host your own server inside the fire-walled local network. Or you may want to add your own services and value-adds for more revenue. We provide open-source version of the server which is based on MEAN stack. This can be deployed on your server as it is or modify it to suit your needs.

Although UI look is different, the features of the server are pretty much same as hosted service except for user management, reports section and few more features which are not available. Refer pisignage-serverrelease notesfor more details.

Visitpisignage-servergithub repository for details.

White-labelled server for piSignage

We offer white-labelled piSignage server which is based on the same code base and has the same features as that of The logo, various artifacts and domain name are customized. We also customise the UI to suit your needs.

Currently it is priced at an annual license fee of USD1200. This includes installation, updates and support of the software during the license period. In addition to the annual license fee, only player licenses need to be purchased at one time fee per player.

Pleasecontact usto get started.

Remote apps for piSignage (Chrome & Android)

For discovering locally available piSignage players and their IP addresses you can use piSignage remote app which is currently available for Android and Chrome.

The app or the webUI at http://player_ip:8000 allows you to

You can downloadChrome apporAndroid appfrom their respective stores.

Made with by

Terms Of ServicePrivacy Policy  © 2014-22