Start updating readme for v1 distribution

This commit is contained in:
sayhiben
2024-08-20 20:41:06 -07:00
parent def6f31805
commit 8b41ca68b4

View File

@@ -1,57 +1,38 @@
# Streamwall # Streamwall
:construction: Early WIP release! :construction:
Streamwall makes it easy to compose multiple livestreams into a mosaic, with source attributions and audio control. Streamwall makes it easy to compose multiple livestreams into a mosaic, with source attributions and audio control.
![Screenshot of Streamwall displaying a grid of streams](screenshot.png) ![Screenshot of Streamwall displaying a grid of streams](screenshot.png)
## How it works ## How it works
Under the hood, think of Streamwall as a specialized web browser for mosaicing video streams. It uses [Electron](https://www.electronjs.org) 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. Think of Streamwall as a specialized web browser for mosaicing video streams. It uses [Electron](https://www.electronjs.org) 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.
## Prerequisites ## Installation
1. Node.js and npm. Download the LTS release from here - https://nodejs.org/en/ Download and install the latest release from the [Releases page](https://github.com/streamwall/streamwall/releases).
## Setup ## Running Streamwall
1. Download streamwall. You can use git, or download and unzip https://github.com/chromakode/streamwall/archive/main.zip 1. Start the app by running the installed executable. When your browser opens, log into the control panel.
2. Open the streamwall directory in a console - **Default username:** `admin`
- In Windows, the LTS install from nodejs.org will install a program called "Node.js command prompt." Open this program; Command Prompt and Powershell may not have the correct environment variables. Once it's open, change directories to where you extracted the file, e.g., `> cd c:\Users\<myname>\Downloads\streamwall\` - **Default password:** `password`
- On MacOS, you should be able to use the default system terminal or other terminals like iTerm2 as long as a sufficient version of Node is installed. With that open, change directories to where you extracted the file, e.g., `> cd ~/Downloads/streamwall` 1. Use the browser window to load or control streams.
3. Run the following command: `npm install` 1. If you enter the same stream code in multiple cells, it will merge them together for a larger stream.
## To Start Streamwall
1. Using a terminal/console window as described above, go to the streamwall directory, and run `npm run start-local`
2. This will open a black stream window and a browser window. The default username is "streamwall" and the default password is "local-dev".
3. Use the browser window to load or control streams. The initial list will be populated from https://woke.net/#streams
4. If you enter the same stream code in multiple cells, it will merge them together for a larger stream.
## Configuration ## Configuration
Streamwall has a growing number of configuration options. To get a summary run: Streamwall has a number of configuration options. See `example.config.toml` for an example.
``` TODO: Document all available options.
npm start -- --help TODO: Document how to use the config file.
```
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.
## Data sources ## Data sources
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: 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:
``` TODO: Document how to use the command line to specify data sources.
npm start -- --data.json-url="https://your-site/api/streams.json" --data.toml-file="./streams.toml" TODO: Document how to use the config file to specify data sources.
```
## Twitch bot ## Twitch bot
@@ -69,17 +50,11 @@ The following hotkeys are available with the "control" webpage focused:
## Troubleshooting ## Troubleshooting
### Unexpected token errors during `npm install` ### The Streamwall window only fits 2.5 tiles wide
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.
### The Streamwall Electron window only fits 2.5 tiles wide
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: 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:
``` TODO: Document how to configure the window size.
npm start -- --window.width=1024 --window.height=768
```
## Credits ## Credits