docs: add music playback documentation
USAGE.md music section under Mumble, CHEATSHEET.md music commands, TASKS.md sprint update for v2.3.0.
This commit is contained in:
@@ -1553,6 +1553,36 @@ Mumble uses HTML for text messages. On receive, the bot strips tags and
|
||||
unescapes entities. On send, text is HTML-escaped. Action messages use
|
||||
`<i>` tags for italic formatting.
|
||||
|
||||
### Music Playback
|
||||
|
||||
Stream audio from YouTube, SoundCloud, and other yt-dlp-supported sites
|
||||
into the Mumble voice channel. Audio is decoded to PCM, encoded to Opus
|
||||
via system libopus, and transmitted as voice packets over the TCP tunnel.
|
||||
|
||||
**System dependencies** (must be installed on the host):
|
||||
- `yt-dlp` -- audio stream extraction
|
||||
- `ffmpeg` -- decode to 48kHz mono s16le PCM
|
||||
- `libopus.so.0` -- Opus codec (ctypes, no Python binding)
|
||||
|
||||
```
|
||||
!play <url> Play audio or add to queue
|
||||
!stop Stop playback, clear queue
|
||||
!skip Skip current track
|
||||
!queue Show queue
|
||||
!queue <url> Add to queue (alias for !play)
|
||||
!np Now playing
|
||||
!volume [0-100] Get/set volume
|
||||
```
|
||||
|
||||
- Queue holds up to 50 tracks
|
||||
- Volume applies from the next track (default: 50%)
|
||||
- Title resolved via `yt-dlp --get-title` before playback
|
||||
- Audio pipeline: `yt-dlp | ffmpeg` subprocess, 20ms Opus frames
|
||||
- Commands are Mumble-only; `!play` on other adapters replies with an error,
|
||||
other music commands silently no-op
|
||||
- Playback runs as an asyncio background task; the bot remains responsive
|
||||
to text commands during streaming
|
||||
|
||||
### Transport
|
||||
|
||||
TCP connections route through the SOCKS5 proxy at `127.0.0.1:1080`
|
||||
|
||||
Reference in New Issue
Block a user