Pour contrôler mpv
à distance (par exemple à partir d'une autre session de terminal), vous pouvez également le démarrer avec l'option
--input-ipc-server=/tmp/mpvsocket
et contrôlez-le en lançant des commandes comme celle-ci :
echo '{ "command": ["set_property", "pause", true] }' | socat - /tmp/mpvsocket
Voir man mpv
pour (beaucoup) plus de détails.
edit :voir aussi mpv --list-properties
edit2 :le moyen le plus simple que j'ai trouvé pour "basculer" entre pause/lecture est
{"command": ["cycle", "pause"]}
kill -s STOP $(pidof mpv)
et kill -s CONT $(pidof mpv)
ou mieux :
xdotool key --window "$(xdotool search --class mpv)" p
La touche "P", est définie par défaut pour mettre la vidéo en pause.
Il est possible de contrôler mpv via IPC. Du manuel 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.
Quelques exemples :
$ echo 'cycle pause' | socat - /tmp/mpv-socket
$ echo 'playlist-prev' | socat - /tmp/mpv-socket
$ echo 'playlist-next' | socat - /tmp/mpv-socket
Voir mpv(1)
pour en savoir plus.
Voir aussi :
- https://alexherbo2.github.io/blog/mpv/command-line-controller/
- https://gist.github.com/dwgill/a66769e0edef69c04d3b