https://github.com/j-holub/musicserver
Music server to play YouTube songs written in Meteor
https://github.com/j-holub/musicserver
meteor mpv music music-server streaming
Last synced: 4 months ago
JSON representation
Music server to play YouTube songs written in Meteor
- Host: GitHub
- URL: https://github.com/j-holub/musicserver
- Owner: j-holub
- License: mit
- Created: 2016-06-23T11:17:37.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2018-05-28T10:29:25.000Z (over 7 years ago)
- Last Synced: 2025-04-05T05:33:31.939Z (7 months ago)
- Topics: meteor, mpv, music, music-server, streaming
- Language: JavaScript
- Size: 354 KB
- Stars: 8
- Watchers: 1
- Forks: 3
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
Awesome Lists containing this project
README
# Music Server
This is a webserver where everybody can **enqueue** songs from various online sources and create a playlist **together**.
It has a nice user interface and is easy to use.
It can be used on parties or just in any room where people gather, a roomshare house, an office, a student's room at the university. Everywhere, where people can listen to music together.
It's built with the well known [Meteor App Framework](https://www.meteor.com).

## Features
* Create a playlist together
* Add / delete songs
* Skip songs
* Play / Pause
* Volume
* Desktop and Mobile UI
* Simple and clean
* Colours adjust to the thumbnail images
* Plays music from any streaming source that [youtube-dl](http://rg3.github.io/youtube-dl/supportedsites.html) can handle, such as
* YouTube
* SoundCloud
* Vimeo
* ...
## InstallUnfortunately Meteor apps are somewhat hard to deploy. The framework was originaly intented for web apps running on a server. This is my main focus at the moment, to find an easy deployment method.
This server has to be installed on a machine connected to the stereo.
### Dependecies
First of all you need a machine running **Linux** or **OS X**.
To run the server you need some programs the app depends on:
* [MPV Player](https://github.com/mpv-player/mpv) - To play the music
* [Youtube-Dl](https://github.com/rg3/youtube-dl) - To download or stream the music
* [Graphicsmagick](http://www.graphicsmagick.org) - For some image processing magicOn **OS X** this can be easily done using [Homebrew](http://brew.sh) by simply typing
```
brew install mpv youtube-dl graphicsmagick
```On a Debian flavoured **Linux** this can be easily done by simply typing
```
sudo apt-get install mpv youtube-dl graphicsmagick
```But be aware, that especially on **Debian** the MPV player is usually way too old.
### Dev Server
The easiest way to run it, is to install the whole Meteor development stack. This is the best way if you just need it on a laptop on a party and you're not looking for a permanent solution.
For install information look [here](https://www.meteor.com/install).
Then just [download](https://github.com/00SteinsGate00/MusicServer/archive/master.zip) or **clone** the repository using
```
git clone https://github.com/00SteinsGate00/MusicServer.git
```From within the projects folder simply type
```
meteor npm install --save
meteor -p
```
to run it on your local machine on the port specified (default is **3000**). The server can then be accesses from any device within your network, by simpling typing in your browser `:`.### Full Deployment
To fully deploy a meteor app on your server a nice tutorial can be found [here](https://www.digitalocean.com/community/tutorials/how-to-deploy-a-meteor-js-application-on-ubuntu-14-04-with-nginx).
### ARM Boards
This application was originally intented to run on ARM Boards like the **Raspberry Pi**. The image processing happening in the background was too heavy for a Raspberry Pi 1 Model B though. The image process can be switched off in the player's UI.
I have not yet tested it on stronger ARM boards, such as the **Raspberry Pi 3** or **Odroid**.
I will look into this as soon as possible.
## Robustness & Known Issues
This software has survived numerous parties and evenings, with little to no problems. However there still are bugs from time to time and the software is **not yet stable**.
Some issues are
* Volumebar does not appear - reload the page until it does
* Radio streams will break the server
* It is nearly impossible to use with a slow internet connection## Thanks
A big thanks goes to all the great software that this project relies on
* [Meteor App Framework](https://meteor.com) - The app framework itself
* [MPV Player](https://github.com/mpv-player/mpv) - For playing the music
* [YouTube-dl](https://github.com/rg3/youtube-dl) - For downloading and streaming the music sources
* [Node-MPV](https://github.com/00SteinsGate00/Node-MPV) - For the integration of MPV player into NodeJs
* [Graphicsmagick](http://www.graphicsmagick.org) - For the image processing## Future Developement
There are several plans in my head for future features
* Easy deployment. Possibly through Docker images
* ~~Settings, to control various things and to switch off the image processing for slower ARM boards~~
* REST API
* Playing local files from the server
* Uploading files from your device
* UI improvements
* Stability improvements
* Browser Extension to provide a button on YouTube, to *just click*## Licence
[MIT Licence](LICENCE.md)