Per controllare mpv
da remoto (ad esempio da un'altra sessione di terminale) puoi anche avviarlo con l'opzione
--input-ipc-server=/tmp/mpvsocket
e controllalo impartendo comandi come questo:
echo '{ "command": ["set_property", "pause", true] }' | socat - /tmp/mpvsocket
Vedi man mpv
per (molti) ulteriori dettagli.
edit:vedi anche mpv --list-properties
edit2:Il modo più semplice che ho trovato per "commutare" pausa/riproduzione è
{"command": ["cycle", "pause"]}
kill -s STOP $(pidof mpv)
e kill -s CONT $(pidof mpv)
o meglio :
xdotool key --window "$(xdotool search --class mpv)" p
Il tasto "P", è impostato per impostazione predefinita per mettere in pausa il video.
È possibile controllare mpv tramite IPC. Dal manuale mpv(1)
:
--input-ipc-server=<filename>
Enable the IPC support and create the listening socket at the given path.
On Linux and Unix, the given path is a regular filesystem path.
On Windows, named pipes are used, so the path refers to the pipe namespace (\\.\pipe\<name>). If the \\.\pipe\ prefix is missing, mpv will add it automatically before creating the pipe, so --input-ipc-server=/tmp/mpv-socket and --input-ipc-server=\\.\pipe\tmp\mpv-socket are equivalent for IPC on Windows.
See JSON IPC for details.
Un paio di esempi:
$ echo 'cycle pause' | socat - /tmp/mpv-socket
$ echo 'playlist-prev' | socat - /tmp/mpv-socket
$ echo 'playlist-next' | socat - /tmp/mpv-socket
Vedi mpv(1)
per saperne di più.
Vedi anche:
- https://alexherbo2.github.io/blog/mpv/command-line-controller/
- https://gist.github.com/dwgill/a66769e0edef69c04d3b