All Projects → lwilletts → Mpvc

lwilletts / Mpvc

Licence: other
An mpc-like control interface for mpv.

Programming Languages

shell
77523 projects

Projects that are alternatives of or similar to Mpvc

mpc-qt
Media Player Classic Qute Theater
Stars: ✭ 125 (+32.98%)
Mutual labels:  mpv, media-player
Mpv Easy Player
MPV-EASY Player - A movie player based on mpv
Stars: ✭ 324 (+244.68%)
Mutual labels:  media-player, mpv
soube
Music player based on electronjs
Stars: ✭ 32 (-65.96%)
Mutual labels:  music-player, media-player
Guayadeque
Guayadeque is a music management program designed for all music enthusiasts. It is Full Featured Linux media player that can easily manage large collections and uses the Gstreamer media framework.
Stars: ✭ 87 (-7.45%)
Mutual labels:  music-player, media-player
Celluloid
A simple GTK+ frontend for mpv
Stars: ✭ 541 (+475.53%)
Mutual labels:  media-player, mpv
microne
A tiny, minimalistic JS music player
Stars: ✭ 33 (-64.89%)
Mutual labels:  music-player, minimalist
mpv
mpv remote control library written in golang
Stars: ✭ 35 (-62.77%)
Mutual labels:  mpv, media-player
playercast
Cast to media player and control playback remotely.
Stars: ✭ 46 (-51.06%)
Mutual labels:  mpv, media-player
Jmc
jmc - a new macOS media organizer
Stars: ✭ 432 (+359.57%)
Mutual labels:  music-player, media-player
Kawaii Player
Multimedia player, media library manager and portable media server with PC-To-PC casting feature.
Stars: ✭ 397 (+322.34%)
Mutual labels:  media-player, mpv
vscode-mediaplayer
Mediaplayer extention for VS Code
Stars: ✭ 18 (-80.85%)
Mutual labels:  mpv, media-player
Music Player Go
🎶🎼 Very slim music player 👨‍🎤 100% made in Italy 🍕🌳🌞🍝🌄
Stars: ✭ 654 (+595.74%)
Mutual labels:  music-player, media-player
Python Mpv
Python interface to the awesome mpv media player
Stars: ✭ 245 (+160.64%)
Mutual labels:  media-player, mpv
TonUINO
Alternative TonUINO Firmware
Stars: ✭ 112 (+19.15%)
Mutual labels:  music-player, media-player
Glow
mpv Config File Generator for Windows
Stars: ✭ 167 (+77.66%)
Mutual labels:  media-player, mpv
Mpc Qt
Media Player Classic Qute Theater
Stars: ✭ 345 (+267.02%)
Mutual labels:  media-player, mpv
Audio Visualizer Android
🎵 [Android Library] A light-weight and easy-to-use Audio Visualizer for Android.
Stars: ✭ 581 (+518.09%)
Mutual labels:  music-player, media-player
Mpv.net
🎞 mpv.net is a modern media player for Windows that works just like mpv.
Stars: ✭ 737 (+684.04%)
Mutual labels:  media-player, mpv
Flutter Music Player
Flutter Music Player - First Open Source Flutter based material design music player with audio plugin to play local music files.
Stars: ✭ 1,215 (+1192.55%)
Mutual labels:  music-player
Spectaculum
A spectacular view widget for visual media content on Android
Stars: ✭ 78 (-17.02%)
Mutual labels:  media-player

mpvc

An mpc-like control interface for mpv with a nearly complete compatibility layer for mpc commands in addition to GNU style arguments. Check out the mpc manpage for details.

ExampleOutput

Dependencies

Required:

  • mpv
  • socat / nc: socat preferred due to the differing implementations of netcat across UNIXes.
  • sane version of awk

Optional:

  • bc: For changing playback speed.

Install

If you have packaged mpvc for your distribution, let me know so I can add it here.

Distribution Packages:

To manually install mpvc, use the Makefile provided or link/copy mpvc to somewhere to your $PATH.

Usage

mpvc requires the use of mpv and its --input-ipc-server option.

mpvc automatically opens an ipc-server for you when adding files to be played, but by default will close the ipc-server when all files have finished playing.

To keep the ipc-server open permanently, use:

$ mpv --input-ipc-server=/tmp/mpvsocket

You can also specify the default ipc server in your $XDG_CONFIG_HOME/mpv.conf which will make the most recent mpv instance you start be controllable via mpvc:

input-ipc-server=/tmp/mpvsocket

However, this may not be suitable if you have background music added to the socket and then open a video using mpv. The new mpv instance will be controllable through the socket, but the previous instance is not. You can get around this by adding the video via mpvc, and manually switching to the video.

Useful Tricks

  • Hotkey daemons like sxhkd can be used to bind mpvc commands to key combinations. Alternatively check your window manager documentation on how to bind keys to commands.
  • Any URL that can be played using mpv can be added to the playlist, e.g. using mps-youtube with player set to mpvc and playerargs set to add.
  • mpvc GNU options can be combined together to give improved results: $ mpvc -P -j 1 will make mpvc always start playing when switching to the next track.
  • Piping files directly into mpvc is possible and preferable when loading multiple directories to be played:
$ find . -type f | mpvc
  • You can use m3u playlists with mpv by saving the absolute path of your media into a file:
$ find "$(pwd)" -iname "*Your Artist Here*" > Artist.m3u
$ mpvc add Artist.m3u
  • You can save your current playlist to a file for later playback:
$ mpvc save myPlaylist
Adding files to myPlaylist.m3u...
  • You can specify default player options directly through mpv.conf:
volume=70
loop-playlist
  • mpvc executes faster ~4x faster when using dash syslinked to /bin/sh instead of bash. Another faster alternative is mksh.
  • mpvc should be fully POSIX compliant, meaning it should run on any unix-like variant. Please report an issue if you experience trouble.

Limitations

Like any piece of software, mpvc is not perfect:

  • mpvc does not resolve individual files in a directory unless it is currently in or has been inside that directory, giving misleading results about the total number of files in the current playlist. This is a limitation of mpv.
  • mpvc depends on shell tools. If your shell is misconfigured or you are using unusual variants of basic unix tools, mpvc is not guaranteed to work. However, all effort has been made to make mpvc as POSIX compliant as possible.

Check out the Issue Tracker for further improvements to be made.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].