Display a mosaic of livestreams. Built for streaming.
:construction: Early WIP release! :construction:
Streamwall makes it easy to compose multiple livestreams into a mosaic, with source attributions and audio control.
Under the hood, think of Streamwall as a specialized web browser for mosaicing video streams. It uses Electron to create a grid of web browser views, loading the specified webpages into them. Once the page loads, Streamwall finds the <video>
tag and reformats the page so that the video fills the space. This works for a wide variety of web pages without specialized scrapers.
> cd c:\Users\<myname>\Downloads\streamwall\
> cd ~/Downloads/streamwall
npm install
npm run start-local
Streamwall has a growing number of configuration options. To get a summary run:
npm start -- --help
For long-term installations, it's recommended to put your options into a configuration file. To use a config file, run:
npm start -- --config="../streamwall.toml"
See example.config.toml
for an example.
Streamwall can load stream data from both JSON APIs and TOML files. Data sources can be specified in a config file (see example.config.toml
for an example) or the command line:
npm start -- --data.json-url="https://your-site/api/streams.json" --data.toml-file="./streams.toml"
Streamwall can announce the name and URL of streams to your Twitch channel as you focus their audio. Use twitchtokengenerator.com to generate an OAuth token. See example.config.toml
for all available options.
The following hotkeys are available with the "control" webpage focused:
npm install
We've observed this occur in cases where file corruption is an issue. The fix has been to clear the npm cache, remove the streamwall directory, and start from scratch.
Streamwall in its default settings needs enough screen space to display a 1920x1080 (1080p) window, with room for the titlebar. You can configure Streamwall to open a smaller window:
npm start -- --window.width=1024 --window.height=768
SVG Icons are from Font Awesome by Dave Gandy - http://fontawesome.io