Skip to main content

Headless music player server for the Raphson music player

Project description

Headless playback server for Raphson Music

Client for the Raphson Music server that can be controlled remotely via a simple web interface or Home Assistant.

Installation

Debian

Add this repository to your system: https://deb.rkslot.nl/

Then run apt install raphson-music-headless

pipx

pipx install raphson-music-headless[mpv]

or

pipx install raphson-music-headless[vlc]

Run: raphson-music-headless

git

Install the dependencies python3-aiohttp and python3-mpv using your distribution's package manager or using pip in a venv.

Install music-client-python in a venv.

git clone https://codeberg.org/raphson/music-headless
cd music-headless
python3 -m raphson_music_headless

Usage

  1. Create a config.json file with credentials (see config.json.example).
  2. Run raphson-music-headless --config config.json

By default, the program looks for a configuration file at /etc/raphson-music-headless.json.

See config.md for a list of options.

Players

Either MPV or VLC can be used as audio player backend. Respectively, python-mpv or python-vlc should be installed. Configure player accordingly in config.json.

API

See API.md

Temporary files (VLC backend only)

The server writes music to temporary files so VLC can access them. On Linux, the /tmp directory is used for this purpose. It is strongly recommended to mount tmpfs on /tmp to avoid unnecessary writes to your disk, especially when using a Raspberry Pi with sd card.

Check if it is the case by running mount | grep /tmp. It should show something like: tmpfs on /tmp type tmpfs ...

Cache size

The cache_size setting determines the number of cached tracks for each playlist. These tracks are kept in memory, consuming roughly 3 - 6MB per track including cover image. Say cache_size is set to 4 and you use a maximum of 10 playlists, you will need around 200MiB of memory.

Bugs

When playing mono audio (like news), sound may only be played on the left channel. This appears to be an issue with PipeWire.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

raphson_music_headless-1.2.5.tar.gz (12.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

raphson_music_headless-1.2.5-py3-none-any.whl (13.9 kB view details)

Uploaded Python 3

File details

Details for the file raphson_music_headless-1.2.5.tar.gz.

File metadata

  • Download URL: raphson_music_headless-1.2.5.tar.gz
  • Upload date:
  • Size: 12.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.3

File hashes

Hashes for raphson_music_headless-1.2.5.tar.gz
Algorithm Hash digest
SHA256 b41ba540114c3d67f4a8408264ce5b5a31bb342d74d477de3dc6bb35504103f4
MD5 a96571baf3aa7b394c65cf0e43491576
BLAKE2b-256 a5168ae14c5b8b4272f82d50d58367245030492e6fd3cc2f635c95442291d26b

See more details on using hashes here.

File details

Details for the file raphson_music_headless-1.2.5-py3-none-any.whl.

File metadata

File hashes

Hashes for raphson_music_headless-1.2.5-py3-none-any.whl
Algorithm Hash digest
SHA256 a2183573770d2166aebfdfa54c3e69bb069e0fad06cee7607bda424993bedc89
MD5 8dcd0d5c1905932343c3e0f920d21dcd
BLAKE2b-256 f8978b83e0359ceee086b7b55a3f4c0802eedbe24039cf00ad879e3cf02ddc4e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page