Skip to main content

Headless music player server for the Raphson music player

Project description

Headless playback client for Raphson Music

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

Choose a player backend

  • mpv (recommended): requires libmpv
    • Debian: apt install libmpv2
    • Fedora: dnf install mpv-libs
  • vlc: requires libvlc
    • Debian: apt install vlc
    • Fedora: dnf install vlc-libs

Installation

Install pipx using your system package manager.

pipx install --global raphson-music-headless[mpv]

or

pipx install --global raphson-music-headless[vlc]

or, for the latest development version:

pipx install --global "raphson_music_headless[mpv] @ git+https://codeberg.org/raphson/music-headless.git"

Run: 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.

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.

Development

python3 -m venv .venv
source .venv/bin/activate
pip install -e ".[mpv]"

Create config.json from config.example.json, then run make run

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.5.1.tar.gz (17.4 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.5.1-py3-none-any.whl (17.3 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for raphson_music_headless-1.5.1.tar.gz
Algorithm Hash digest
SHA256 3e95e8189f146b92cf2d1cfef9b3d400e0cfe8ea438d20ffa239b2b42ad8c001
MD5 ac9f21cb39a6a0932c25c4853a68a3ed
BLAKE2b-256 a3528fbce2f2757a65a078793c5187ba2f65119a12a79d4ab073b94f1d274cc5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for raphson_music_headless-1.5.1-py3-none-any.whl
Algorithm Hash digest
SHA256 6c6726d9ae7ce2d7fa8c17278e2ad13559184996ebf8127035aaeb3050b7f583
MD5 d5b94a731d5f89bda0e9e616afd5cf13
BLAKE2b-256 bd6b7f337bf730e73dd7273c8f296b8ccedbb493af104de677b996914d3f2eae

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