MPV, un lecteur vidéo d’élite

Si MPV est un lecteur moderne et résolument rapide, il n’est vraiment pas très accessible au premier abords. C’est pourquoi je vous propose ici de découvrir comment apprivoiser la bête et quelques petites customisations intéressantes

MPV c’est quoi

MPV est un lecteur vidéo très rapide accéléré matériellement (il n’y a qu’a voir la vitesse du changement au scrub[1] dans une vidéo)

Le site de mpv : https://mpv.io/

Installation

Si vous êtes sur linux, sudo apt install mpv dans le terminal devrait faire l’affaire.

Sur Windows/Mac aller simplement récupérer l’installeur https://mpv.io/installation/

Pas très user friendly

À la première ouverture on voit que c’est ultra minimaliste, un peu trop même quand on ne le connait pas encore.

Aussi, le fait qu’il se ferme lorsque qu’il arrive en bout de timeline à tendance à irriter l’utilisateur lambda. Nous allons voir comment changer cela dans la partie configuration

Configuration

Les infos détaillées sur la configuration se trouvent sur la doc officielle

Voilà un fix rapide en ligne de commande, pour éviter que le lecteur se ferme arrivé en bout de lecture.
Ouvre un terminal et entrer les lignes suivantes (créer le fichier de conf avec les entrées)

Config linux

1
2
mkdir ~/.config/mpv
echo keep-open=yes >> ~/.config/mpv/mpv.conf

Et si vous préférez que la lecture boucle

1
echo loop=yes >> ~/.config/mpv/mpv.conf

Config Windows

La manipulation en ligne de commande est aussi possible:

mkdir %APPDATA%\mpv
echo loop=yes >> %APPDATA%\mpv\mpv.conf
echo keep-open=yes >> %APPDATA%\mpv\mpv.conf

Note Windows: si vous créer un dossier portable_config dans le dossier d’installation d’mpv à côté de de mpv.exe, ce sera ce dossier qui sera chargé.

Un exemple de fichier de config se trouve dans le dossier d’installation, sous doc (C:\Program Files\MPV\doc\mpv.conf) Vous pouvez le copier dans vos config utilisateur %APPDATA%\mpv\mpv.confet l’éditer comme vous il vous convient.

Voici mes principales lignes de configurations

# don't allow a new window to have a size larger than 90% of the screen size
autofit-larger=90%x90%

# display prefered subtitles if available. (Here english then fallback to fr)
slang=eng,English,en,en-US,US,French,fr,fre

# change scale of subtitle
sub-scale=0.8

# high quality video preset
profile=gpu-hq

Raccourcis

Le set de raccourci ne m’est personnellement pas apparu très logique mais bon, on s’y fait.
Voici une liste de ce que j’ai trouvé les plus utiles.

  • ← / → : retour/avance de 5 secondes

  • Shift + ← / → : retour/avance de 1 secondes

  • < / > (qwerty) : image par image avant / arrière (voir plus bas pour une customisation azerty)

  • S : Screenshot, enregistre une capture d’écran

  • L : (Loop) créer une boucle AB en plusieurs appui (A > B > sortir de la boucle)

  • Shift + L : activer la lecture en boucle de l’ensemble.

  • Shift + Q: quitte avec rappel du temps (reprend au même endroit au prochain lancement)

Gestions des sous-titres

  • J / Shift+ J : changer de piste

  • R / T : monter / descendre

  • Z / X : décalage temporel plus tôt / tard

Quelques autres raccourci par défaut utiles sont listé ici

Configuration des raccourcis

Ils peuvent être modifiés via input.conf
De la même manière que mpv.conf, une version pré-remplie est disponible dans le dossier doc.

Éditez et placez le dans votre dossier de configuration.

Typiquement, certains préfèrent avoir l’image par image sur les flèches plutôt que le déplacement de 5 secondes

Pour inverser les deux (en qwerty) mettre ceci dans input.conf

# invert frame step and seek
RIGHT frame-step     # advance one frame and pause
LEFT frame-back-step # back one frame and pause

. seek  5            # five second forward
,  seek -5           # five second backward

Pour les français qui serait encore en azerty (il est encore tant de changer), vous pouvez mapper l’image par image inaccessible.
Par exemple sur b/nqui ne sont pas utilisé par défaut

n frame-step      # advance one frame and pause
b frame-back-step # back one frame and pause

utilisation avancée: les scripts

MPV utilise le LUA comme langage de script. On peut trouver plétore de scripts utiles sur le net

Voici les deux scripts que j’ai customisé pour mon usage afin d’extraire un bout de la vidéo en cours très facilement via ffmpeg:

Il vous suffit de créer dossier scripts dans votre dossier de configuration et d’y placer les .lua télécharger.

L’utilisateur jonniek à de bon script en réserve et un bon readme pour en savoir plus.
Par exemple celui pour charger le fichier suivant / précédent dans le dossier courant

Libre a vous de customiser davantage ! Bon visionnages.


  1. Le scrubbing est un anglicisme qui exprime le fait de déplacer la position de son curseur de lecture pour naviguer temporellement sur un fichier audio ou vidéo.