Files
qotplayer/README.md
T
2026-07-28 17:40:53 -06:00

25 lines
1016 B
Markdown

# Qotplayer
A lightweight, headless Python audio player designed as a fast drop-in replacement for `mpv`.
## What it does
- Decodes and resamples common audio formats to `48000Hz`, `stereo`, `s16` PCM.
- Applies on-the-fly EBU R128 volume normalization using FFmpeg's `loudnorm` filter.
- Outputs raw PCM audio directly to a FIFO pipe (`/tmp/snapfifo`).
- Provides a JSON IPC server over a Unix socket for real-time playback control (pause, volume, seek, quit).
## What it's for
This player is specifically built to act as a backend player for **Navidrome** (in Jukebox mode) feeding into multi-room audio systems like **Snapcast**. It avoids the overhead of full `mpv` while maintaining compatibility with its IPC protocol.
## How to use it
1. Install the required dependencies (Python 3.11+ recommended):
```bash
pip install av numpy
```
2. Run the player, specifying the IPC socket path and the audio file:
```bash
python main.py --input-ipc-server=/tmp/mpv-socket /path/to/song.flac
```