@afadhili/ytmusic-cli
v0.1.6
Published
Terminal-based YouTube Music player with mpv, yt-dlp, SQLite, playlists, lyrics, and ASCII cover previews.
Maintainers
Readme
YT Music CLI
Terminal-based YouTube Music player built with Ink, mpv, yt-dlp, SQLite, and Drizzle ORM.
Features
- Search and play YouTube Music tracks
- Queue with next, previous, remove, and reorder support
- History, favorites, and playlists
- Lyrics support
- ASCII album cover preview
- Local audio cache
- Configurable settings
- mpv IPC control
Screenshots
Home

Search

Playlists

Requirements
This app requires mpv, yt-dlp, and socat to use all features. You can still run without yt-dlp (stream-only mode) or socat (limited IPC features), but mpv is essential.
- mpv - Media player for audio playback (required)
- yt-dlp - YouTube audio extraction (recommended)
- Why: Enables local caching of tracks, better offline support, and fallback audio format support when streaming fails
- socat - Socket communication utility (recommended)
- Why: Required for reliable mpv IPC communication, property queries, and advanced error diagnostics
Installing Requirements
# With Scoop
scoop install mpv yt-dlp socat
# With Chocolatey
choco install mpv yt-dlp socatbrew install mpv yt-dlp socat# Ubuntu/Debian
sudo apt install mpv socat
pip install yt-dlp
# Arch Linux (btw)
sudo pacman -S mpv yt-dlp socat
# Fedora
sudo dnf install mpv yt-dlp socatInstallation
Install from npm:
npm install -g @afadhili/ytmusic-cliRun:
ytmusic-cliDevelopment
Clone the repository:
git clone https://github.com/afadhili/ytmusic-cli.git
cd ytmusic-cliInstall dependencies:
npm installRun in development mode:
npm run devBuild:
npm run buildRun built version:
npm startNotes
This app uses mpv for playback and yt-dlp for downloading/caching tracks.
