https://github.com/seekwhencer/node-radio-automation
Orchestrate multiple playlist audio streams with hot rotation, intros, spots and podcasts
https://github.com/seekwhencer/node-radio-automation
api automation icecast2 internet-radio mpc mpd mpd-client nodejs
Last synced: 8 months ago
JSON representation
Orchestrate multiple playlist audio streams with hot rotation, intros, spots and podcasts
- Host: GitHub
- URL: https://github.com/seekwhencer/node-radio-automation
- Owner: seekwhencer
- Created: 2019-05-12T14:17:30.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2023-01-07T07:58:54.000Z (over 3 years ago)
- Last Synced: 2023-03-01T04:10:36.946Z (over 3 years ago)
- Topics: api, automation, icecast2, internet-radio, mpc, mpd, mpd-client, nodejs
- Language: JavaScript
- Size: 4.31 MB
- Stars: 11
- Watchers: 2
- Forks: 3
- Open Issues: 43
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# node-radio-automation [](https://travis-ci.org/seekwhencer/node-radio-automation)
This app is a multichannel playlist audio streaming automation.
**At the moment you can use the api to control the app behavior.
The Stream controls are full working.
The Frontend App (Web Interface) is in progress.**
## Features
- manage Icecast2 as Streaming Server
- manage MPD (Music Player Daemon), use it as playlist player and stream encoder
- using MPC (Music Player Client)
- manage Channels with Shows and their Playlists
- generate Playlists with:
- Intro
- Spots
- Postcast
- Hot Rotation
- serving an API to control the app with a Web-Interface or API-Client
- no Database needed
- runs on a Raspberry Pi (but only with one Channel)
## What is this NOT?
- a Music Player Remote Controller or a MPD Client.
- a System to manage your files and play them like Foobar2000, iTunes or others.
- a Spotify player or youtube or, or, or.
- a System to manage dozens of files
## Whom helps this?
- who wants to run a automated, multi channel internet radio. locally, in an intranet or public.
- who is crying for a "Auto DJ" for his / her web radio.
- who wants to sound an event or a location (like a night bar) with different schemes
- while doing this, who wants to have so less as possible personnel expense
- who wants more then a shuffled playlist, who wants a hot rotation with more newest track as older ones
- who wants to use intros and spots for an audio identity
- who wants to spread podcast files between the tracks, automatically downloaded from podcast feeds
- who want to use his own bought music files, captured from the disc or from vinyl
- who wants, that his / her music files exists forever. that they do not disappear suddenly.
- who wants to play handpicked tracks
## See the [Documentation](docs/README.md)
### At the moment this works well:
- complete channel creation works well via api
- scheduling for channels works: you can start, stop, pause a show from a channel with cron scheme and multiple jobs
- scheduling for podcasts works well: with cron scheme and one job. looks for new episodes and download these
- API-Authentication with JWT (json web token)
### Channel
- get all
- create one
- get by id
- delete by id
- update by id
- update database (MPD cache)
- load playlist
- update playlist
- play
- pause
- stop
- skip track
- set crossfade
- spawn
- respawn
- shutdown
### Shows of a Channel
- get all
- create one
- get one
- get playing show
- delete
- update
- duplicate
- set playing show
- copy from global show
- get show folder
- set show folder
- get music folder
- get intro folder
- get spot folder
- get podcast folder
### Global Shows
- get all
- create one
- duplicate
- get one
- delete
- update
### Podcasts
- get all
- create one
- duplicate
- get one
- delete
- update
## Future Things
- Frontend App with Vue **(in progress)**
- Podcast Downloader Sheduler invoke a queue
- Backup mechanism for the complete storage folder
- Docker (Compose) Setup
- Some downloadable example assets
- Ideas?