Skip to content
/ mrc Public

IPC wrapper & command-line controller for MPV, the video player

License

Notifications You must be signed in to change notification settings

NotAShelf/mrc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

36 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

mrc

Fast, robust and experimental JSON IPC wrapper for the mpv video player; comes with a wrapper library, a CLI and a server for remote control.

Hacking

Both CLI and server utilities require mpv to be started with the IPC socket enabled.

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

mrc does not handle TLS certificates for you. To run the remote control server, you must create your own PKCS#12 certificates using OpenSSL.

openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365
openssl pkcs12 -export -out identity.pfx -inkey key.pem -in cert.pem

mrc then read the TLS_PFX_PATH and TLS_PASSWORD environment variables to load them. You should also set AUTH_TOKEN for making authenticated requests to the server remotely. Running without an auth token is "supported", but the server will not fully function.

export TLS_PFX_PATH=/path/to/identity.pfx
export TLS_PASSWORD="your_identity_passphrase"
export AUTH_TOKEN="your_auth_token"

Then start the server with cargo run --bin=server.

How you handle environment is up to you, Systemd makes it somewhat easy if running mrc as a service.

Testing mpv IPC socket

If you suspect some IPC commands are not being sent properly, try sending them manually first with something like socat.

echo '{ "command": ["pause"] }' | socat - /tmp/mpvsocket

About

IPC wrapper & command-line controller for MPV, the video player

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published