experimental live streaming server
This project is a component of _noisecrypt. The component acts as the streaming server where recorded audio is live streamed to, and then served from to be consumed by a compatible system. Streams are created via the sludge UI (or API) and can be added to a sortition hub using the same UI. The recording/encoding interface is part of the splutter component. The decoding/playback interface is part of the syllid component.
- sludge communicates information to splutter via local storage, due to shared root domain
- sortition hub urls are copied into "add hub" section of the sludge admin UI
- Download deno (tested with v1.1.0)
- Add env data for the UI, in a file at:
ui/public/env.js
export const env = () => ({
mode: "live",
streamUI: "https://some.url/splutter"
})
- Before running, ensure files and directories exist:
make init
NOTE: You will need to provide values for these variables
Nginx port
This is the port from which the nginx proxy server for sludge will run
Service hostname
This is the base URL hostname where sludge will be accessed
Additional hostnames
More hostnames (not required)
Sludge port
Port to run the sludge deno app
Public url
The URL (including any paths, without trailing slash) where sludge app is accessed
Files url
Base URL (including any paths, with trailing slash) where audio file segments are accessed
Splutter url
Full URL for the splutter app associated with this sludge instance (they must belong on the same domain)
- Pass environment variables and run:
SLUDGE_PUBLIC="http://some.url/" SLUDGE_FILES="http://some.url/audio/" SLUDGE_PORT="8000" make run
NOTE: trailing slash should be included at the end of the URLs
cd ui
npm i
npm run dev