When you need to display same content to multiple locations or need to remotely control a slide show.
npm install
.env.example
to .env
npm start
npm run-script daemon
, it will output just a pid for the new process and you find new files: output.log
and errors.log
at the data
directory.To access the infoscreen server outside from the localhost, like at LAN network, the config must be bind to external IP your server machine has. Configuration is set by environmental variables or by editing .env
file.
If you wish to have live stream support at local network using OBS, set MEDIASERVER
to true
and set desired streamKey
You can run the server listen port as well the default http port 80
, but in that case you have to run the app with privileges with linux systems: sudo npm start
List of available plugins
Plugin | Description |
---|---|
profiler | Outputs memory usage statistics at console |
overlay | Change infoscreen to work as overlay to stream, by disabling background layers |
ping | Example plugin to display ping for local network machine. |
Viewer is located at: http://localhost:8000
Admin interface is located at: http://localhost:8000/admin
for production it is highly encouraged to change admin credentials from the default!
Username | default password |
---|---|
admin | admin |
view | view |
Works only when config has
mediaServer
set totrue
at OBS go to Settings
-> Stream
Setting | Value |
---|---|
Service | Custom... |
URL | rtmp://localhost/live |
Stream key | config.streamKey value, defaults to: INFOSCREEN3 |
Use Authentication | leave un-ticked |
Use only baseline-encoding for H.264, other options not works with the embedded javascript player
if you have changed the default port from 8000 to something else, the correct port to access this feature is (config.serverListenPort+1)
Admin interface is located at: http://localhost:8001/admin It accepts the same crendetials as configured at the main app.
ENV | default | Usage |
---|---|---|
PORT | 8000 | Server listen port |
HOST | localhost | Host or ip, where the server is externally accessible |
ADMIN_USER | admin | Username to access admin interface |
ADMIN_PASS | admin | Password for the admin interface |
USER | view | Username to access viewer |
PASS | view | Password to access viewer |
FRONT_PROXY | false | Tell software that it's behind a front proxy |
DEBUG | false | whatever to debug... or not |
SESSIONKEY | predefined | used to encrypt cookies |
STREAMKEY | INFOSCREEN3 | streamkey used at OBS |
MEDIASERVER | false | use streaming feature |
LOCALE | en | available locales: en, fi |
ACCESSKEY | <not set> | use accesskey to access views |
GUARDRAILS | '[{"line": [240, 0, 240, 1080]}, {"line": [1680, 0, 1680, 1080]}]' | Adds additional guardrails into the grid editor. The defaults are for a 4:3 ratio allowing slides to be created for older projectors. In addition to the line property the provided json also takes optional input of the stroke color, strokeWidth width and opacity opacity of the guardrails |
To use access key edit the environment variable ACCESSKEY=yourkey
to .env
-file.
After you have set the access key you can use it like this:
http://127.0.0.1/display/0/lite?accesskey=yourkey
Dockerfile is provided for building a docker container.
Docker container accepts the same ENV variables from .env
-file.
docker compose up -d --build
Service file for sysctl, provided by Hartsa (many thanks!) Just edit the working directory of the script and change the user from root to yours, if needed.
sudo cp infoscreen.service /etc/systemd/system/
sudo systemctl start infoscreen.service
sudo systemctl enable infoscreen.service
If you need to see status of the service:
sudo systemctl status infoscreen.service
WebGL renderer bases upon initial working of Creative WebGL Image Transitions repository here at github. Thanks for your awesome article.