mpv | ||
deno.json | ||
deno.lock | ||
index.html | ||
LICENSE.txt | ||
main.ts | ||
README.md |
Supiristin
A small tool to act as a tool for managing a music video queue. Basically a web server which lists the current MPV queue, recently added songs, as well as tools such as a button for skipping the current song or adding YouTube music videos to the queue.
The main use case is to have background music for small events, without relying on a Chromecast or other such tools. A big initial reason for avoiding other tools is to avoid the possibility of someone accidentally emptying the whole queue.
Setup
Dependencies needed:
To set up the web server along with MPV, run the following commands (substituting your own folder paths):
cd /share/ && deno run -A /repos/git.ljoonal.xyz/ljoonal/Supiristin/main.ts
mpv --script=/repos/git.ljoonal.xyz/ljoonal/Supiristin/mpv/ --input-ipc-server=$XDG_RUNTIME_DIR/mpv.sock /share/
For low end devices, open mpv/visualizer.lua
and change the veryhigh
preset to verylow
.
For a setup at a party, adding OBS and another device near the display is recommended. The device near the display, presumably a laptop, can display the management website on it's own screen, and the stream on the main screen.
A simple low-ish latency OBS setup can be achieved by setting the destination
stream server to: srt://192.168.178.123:6669?mode=listener
, where the IP
address is that of the broadcasting machine. Then on the client machine just
launch MPV to display it: mpv srt://192.168.178.123:6669
. Observed real world
latency this way is around 3 seconds, further optimizations could be done with
MPV if lower latency is desired.
This way the streaming machine can be far away from the actual display location. Also has the added benefit that, given it has multiple screens, the queue can be managed off screen easily. Also has the added benefit of being able to easily mix in other visuals, such as a chat, webcam, filters, etc.
The web server can be shared via cloudflared for example by running:
cloudflared --url localhost:8080
License
This software is licensed under AGPLv3 with the commons clause. So by definition, this is not open source. In practice this means it's AGPL except commercial usage is forbidden. If you wish to use this software commercially, please contact me.