A POSIX shell-based music player controller for mpv with CLI, TUI, FZF, and web interfaces, supporting streaming services.
mpvc is a POSIX shell-based music player controller that provides a programmable interface to the mpv media player. It solves the problem of managing and controlling audio playback entirely from the command line, offering tools for playlist management, fuzzy searching, and remote control. The project extends mpv with additional features like TUI, FZF integration, and streaming service support.
Developers and power users who prefer shell-based workflows and want a scriptable, lightweight music player controller integrated with tools like fzf and mpv. It's ideal for those who manage media collections or stream audio from services like YouTube directly from the terminal.
Developers choose mpvc for its simplicity, extensibility, and deep integration with the Unix philosophy. Its unique selling point is being a fully programmable, POSIX-compliant suite that enhances mpv with advanced features like FZF-based media discovery and a TUI, all while remaining lightweight and scriptable.
Music player in POSIX-sh using mpv from the shell/fzf + extras/goodies 🎧📡🛸
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Provides comprehensive CLI commands that can be piped and scripted with Unix tools, enabling automation and complex workflows, as evidenced by examples like `fzf | mpvc load`.
Seamlessly integrates with fzf via mpvc-fzf for intuitive media searching, playlist management, and YouTube/Invidious playback, enhancing discoverability from the terminal.
Includes web-based remote control (mpvc-web) for mobile devices and MPRIS support for system media keys, extending control beyond the command line.
Integrates yt-dlp to play media from YouTube and Invidious, with configuration files provided, though it requires keeping yt-dlp updated for reliability.
Relies on mpv, socat, awk, and optional tools like fzf and yt-dlp; the README warns that tools must be up to date, and failures can break functionality.
Requires managing multiple config files (mpv.conf, mpvc.conf, yt-dlp.conf) with the installer only providing templates, leaving users to tailor settings manually.
Documentation is split across a logbook, screencasts, and FAQ, which can make troubleshooting and learning more time-consuming compared to a centralized manual.