Recherche de site Web

Contrôler les lecteurs multimédias à partir de la ligne de commande sous Linux


Aujourd'hui, j'ai appris que nous pouvons contrôler les lecteurs multimédias à partir de la ligne de commande sous Linux et les systèmes d'exploitation de type Unix. Vous pouvez lire, mettre en pause, basculer entre lecture et pause, augmenter/diminuer le volume, passer aux fichiers multimédias suivants/précédents et arrêter la lecture multimédia dans vos lecteurs multimédias. Tout depuis Terminal ! Cool, ouais ? Oui c'est le cas. Dans ce guide, nous apprendrons à contrôler les lecteurs multimédias depuis le terminal sous Linux.

Contrôler les lecteurs multimédias à partir de la ligne de commande sous Linux

Pour cela, nous utiliserons deux utilitaires simples, à savoir Playerctl et OmniPause, pour contrôler les lecteurs multimédias depuis la ligne de commande.

1. Lecteurctl

Playerctl est un utilitaire de ligne de commande permettant de contrôler les fichiers multimédias depuis le terminal. Il vous permettra de lire, de mettre en pause des fichiers multimédias, de passer à la piste suivante ou précédente, d'augmenter ou de diminuer le volume, d'arrêter la lecture, etc. En utilisant Playerctl, nous pouvons gérer tous les lecteurs multimédias qui implémentent la spécification d'interface MPRIS D-Bus. Certains des lecteurs multimédias populaires pouvant être contrôlés à l'aide de Playerctl sont indiqués ci-dessous.

  • Audacieux,
  • Bmp,
  • Spotify,
  • Mplayer/SMplayer,
  • VLC,
  • Xmms2.

Installer Playerctl

Playerctl est disponible dans les référentiels officiels de toutes les distributions Linux modernes. Vous pouvez donc l'installer à l'aide du gestionnaire de packages par défaut de la distribution.

Sous Arch Linux :

sudo pacman -S playerctl

Sur Debian, Ubuntu et dérivés :

sudo apt-get install playerctl

Sur Fedora :

sudo dnf install playerctl

Sur openSUSE :

sudo zypper install playerctl

S'il n'est pas disponible dans les référentiels officiels, vous pouvez le compiler et l'installer manuellement à partir de l'aide des sources. Les derniers fichiers sources sont disponibles sur la page des versions.

Contrôler les lecteurs multimédias à l'aide de Playerctl

Tout d’abord, listez tous les joueurs disponibles à l’aide de la commande :

playerctl -l

Ou,

playerctl --list-all

Un exemple de résultat serait :

vlc
smplayer

Vous pouvez visualiser le statut d'un joueur en mentionnant son nom avec la commande playerctl :

$ playerctl status vlc
Stopped
$ playerctl status smplayer
Playing

Comme vous pouvez le voir, il y a actuellement deux lecteurs disponibles (joueurs actuellement ouverts et en cours d'exécution) dans mon système. VLC est arrêté et smplayer joue maintenant.

Pour lire le morceau, exécutez :

playerctl play -p smplayer

Ou,

playerctl play --player smplayer

S'il n'y a qu'un seul lecteur en cours d'exécution, vous n'avez pas besoin d'utiliser le commutateur "-p" ou "--player". Playerctl lira automatiquement la piste en cours de lecture dans le lecteur actuellement ouvert.

Pour mettre en pause la piste en cours de lecture (en supposant que vous n'ayez qu'un seul lecteur en cours d'exécution), exécutez :

playerctl pause smplayer

Pour passer à la piste suivante, exécutez :

playerctl next smplayer

Pour revenir à la piste précédente, exécutez :

playerctl previous smplayer

Pour basculer entre lecture et pause, exécutez :

playerctl play-pause smplayer

Cette option reprendra la piste si elle est actuellement en pause ou lira la piste si elle est en cours de lecture.

Pour arrêter la lecture, exécutez :

playerctl stop smplayer

Pour afficher la section d'aide, exécutez :

$ playerctl --help
Usage:
 playerctl [OPTION…] COMMAND - Controller for MPRIS players

For true players only: spotify, vlc, audacious, bmp, xmms2, and others.

Help Options:
 -h, --help Show help options

Application Options:
 -p, --player=NAME The name of the player to control (default: the first available player)
 -l, --list-all List the names of running players that can be controlled
 -V, --version Print version information and exit

Available Commands:
 play Command the player to play
 pause Command the player to pause
 play-pause Command the player to toggle between play/pause
 stop Command the player to stop
 next Command the player to skip to the next track
 previous Command the player to skip to the previous track
 position [OFFSET][+/-] Command the player to go to the position or seek forward/backward OFFSET in seconds
 volume [LEVEL][+/-] Print or set the volume to LEVEL from 0.0 to 1.0
 status Get the play status of the player
 metadata [KEY] Print metadata information for the current track. Print only value of KEY if passed

Pour plus de détails, consultez la page GitHub du projet indiquée à la fin.

2. OmniPause

OmniPause est une simple application Python permettant de contrôler les lecteurs multimédias via DBus. Contrairement à Playerctl, OmniPause est très nouveau dans la série et en est à ses premiers stades de développement. Cependant, il est entièrement fonctionnel et fera toutes les mêmes choses que Playerctl.

Installer Omnipause

OmniPause est écrit en Python, vous devez donc d'abord installer les dépendances suivantes. Ces packages sont disponibles dans les référentiels officiels de toutes les distributions Linux. Ainsi, vous pouvez les installer à l’aide du gestionnaire de packages par défaut.

  • python2
  • dbus-python

Après avoir installé les prérequis, git clonez le projet :

git clone https://github.com/mel00010/OmniPause.git

Allez dans le répertoire du projet :

cd OmniPause/

Et exécutez la commande suivante pour l’installer.

sudo make install

La commande ci-dessus copiera le programme omnipause.py dans /usr/local/bin/omnipause.

Contrôler les lecteurs multimédias à l'aide d'Omnipause

L'utilisation est exactement la même que celle de Playerctl. Contrairement à Playerctl, Omnipause a des fonctionnalités limitées. Les seules fonctions disponibles sont :

  • jouer,
  • pause,
  • suivant,
  • précédent,
  • basculer,
  • arrêt.

Pour suspendre tous les lecteurs multimédias en cours d'exécution, exécutez :

omnipause pause

Pour reprendre la lecture des lecteurs multimédias interrompus par le programme, exécutez :

omnipause play

Pour arrêter tous les lecteurs multimédias, exécutez :

omnipause stop

Pour lire la piste suivante sur tous les lecteurs multimédias en cours de lecture, exécutez :

omnipause next

Pour lire la piste précédente sur tous les lecteurs multimédias en cours de lecture, exécutez :

omnipause previous

Pour basculer l'état de lecture des lecteurs multimédias en cours d'exécution, exécutez :

omnipause toggle

Comme vous pouvez le voir, nous pouvons contrôler tous les lecteurs multimédias en cours d'exécution à l'aide d'une seule commande. C'est si simple. Comme Playerctl, il n'a aucune option pour arrêter un lecteur spécifique ou augmenter/diminuer le volume. Si vous souhaitez bénéficier de telles options et plus de contrôle sur vos lecteurs multimédias, utilisez le programme playerctl. Veuillez noter que Playerctl et OmniPause ne sont pas des lecteurs, mais des contrôleurs de lecteur multimédia CLI.

Ressources :

  • Page GitHub Playerctl
  • Page GitHub OmniPause

Articles connexes