Breeezy, stylized br3ezy, is a federated streaming platform that hosts can use to simplify distributed and/or self-hosted streaming to their audience. By self-hosted streaming, these hosts can take sovereignty over their own message without compromising for advertisers. This project will include a killer feature where subletters can sponsor a CDN in their region to propogate better streaming for other viewers, thereby becoming 'heros'.
- SRT for streaming metrics.
- ffmpeg for stream encoding.
- MySql for database usage.
- Node.js (v20.11.1 or above) for express server.
- Copy the
server/.env.examplefile to a new file namedserver/.env: - Fill
.envwith your personal preferences.
For development, use your own self-signed certs:
openssl req -nodes -new -x509 -keyout key.pem -out cert.pem -days 365For production, certificates should be obtained from a trusted Certificate Authority (CA).
Ensure they are placed in the cert directory.
- Clone the repo.
git clone https://github.com/Da-Scher/br3ezy - Configure
.envas stated above. - Generate certificates as stated above.
- Run
npm installto install dependencies. - Initialize database with
npm run db:init -w server. - Run
npm run buildto build static files. - Run
npm run startto start express server. - Point your broadcasting software to
srt://<hostname>:2000to start streaming. - Visit
https://<hostname>:8000to access the web interface.
- Joe Barteluce: Client-Side Web Developer/Designer
- Dakota Schaeffer: Media Streaming Developer - Content Delivery Engineer
- Justin Sprecco: System Architect - Cloud Engineer
Distributed under the GPL-2.0 License. See LICENSE for more information.
