Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/itw-creative-works/streamii
24/7 Livestream to YouTube, Twitch, etc
https://github.com/itw-creative-works/streamii
backend livestream livestreaming nodejs
Last synced: about 2 months ago
JSON representation
24/7 Livestream to YouTube, Twitch, etc
- Host: GitHub
- URL: https://github.com/itw-creative-works/streamii
- Owner: itw-creative-works
- License: mit
- Created: 2023-02-18T13:09:18.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2024-06-20T00:49:06.000Z (7 months ago)
- Last Synced: 2024-09-25T15:51:03.632Z (4 months ago)
- Topics: backend, livestream, livestreaming, nodejs
- Language: JavaScript
- Homepage: https://itwcreativeworks.com
- Size: 1.62 MB
- Stars: 3
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Site | NPM Module | GitHub Repo
Streamii is an NPM module for running a 24/7 livestream on YouTube, Twitch, or any streaming service## 🦄 Features
* Just `require` and you're good to go
* Stream 24/7 to YouTube, Twitch, etc## 📦 Install Streamii
### Option 1: Install via npm
Install with npm if you plan to use **Streamii** in a Node.js project or in the browser.
```shell
npm install streamii
``````js
const Streamii = require('streamii');
const streamii = new Streamii({
stream: {
ingest: 'rtmp://x.rtmp.youtube.com/live2',
size: '1920x1080',
fps: 30,
videoBitrate: 1000,
audioBitrate: 128,
},
// Not yet implemented
// assets: {
// fetch: true,
// owner: 'soundgrail',
// repo: 'soundgrail-livestream-ai-ambient',
// },
youtube: {
channelId: '7Hhsk39gjh77r5j_cj8sJsiI',
},
log: {
interval: 10000,
},
autoRestart: true,
});// Listen for events
streamii.on('start', (event) => {
console.log('Started', event);
});streamii.on('stop', (event) => {
console.log('Started', event);
});streamii.on('error', (error) => {
console.log('Error: ', error);
});streamii.on('audio', (event, data) => {
console.log('Audio: ', data);
});streamii.on('video', (event, data) => {
console.log('Video: ', data);
});// Start the stream
streamii.stream();
```### Confgure Streamii
#### 1. Setup .env file
Create a `.env` file in your project root directory with the following
```
STREAM_KEY='put_your_stream_key_here'
GH_TOKEN='put_your_gh_token_here'
```#### 2. Setup assets
Put your `video`, `audio`, and `font` assets in the `assets` folder of your project in this format:
```
assets
├── audio
│ ├── audio1.mp3
│ ├── audio2.mp3
│ └── audio3.mp3
├── font
│ └── title.ttf
└── video
└── video.mp4
```
The module will automatically use the `assets` in the stream.## 🧩 TODO
* Downlaod assets from github## 🗨️ Final Words
If you are still having difficulty, we would love for you to post a question to [the Streamii issues page](https://github.com/itw-creative-works/streamii/issues). It is much easier to answer questions that include your code and relevant files! So if you can provide them, we'd be extremely grateful (and more likely to help you find the answer!)## 📚 Projects Using this Library
[SoundGrail Music App](https://app.soundgrail.com/): A resource for producers, musicians, and DJs.Ask us to have your project listed! :)