Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
tutoriel:comment_utiliser_mplayer_en_esclave [Le 06/09/2010, 09:13]
195.83.178.10 Liste des commandes get_xxx de mplayer
tutoriel:comment_utiliser_mplayer_en_esclave [Le 11/09/2022, 12:23] (Version actuelle)
moths-art Suppression des espaces en fin de ligne (détecté et corrigé via le bot wiki-corrector (https://forum.ubuntu-fr.org/viewtopic.php?id=2067892)
Ligne 1: Ligne 1:
-{{tag>​mplayer ​esclave ​tutoriel ​BROUILLON}}====== Comment utiliser Mplayer en esclave ? ======+{{tag>​mplayer tutoriel}}
  
 ---- ----
 +
 +====== Comment utiliser Mplayer en esclave ? ======
  
 ===== Introduction ===== ===== Introduction =====
  
-[[../Mplayer]] est un puissant logiciel de lecture de vidéos et de musique. Ce tutoriel explique comment l'​utiliser en tant qu'​esclave,​ autant pour la musique que pour la vidéo. Cette technique permet de se passer d'une [[http://​fr.wikipedia.org/​wiki/​Environnement_graphique|interface graphique]] et d'ainsi d'​économiser de la mémoire ​RAM, de s'​économiser ​de la place à l'​écran ​(et de faire über-geek). De plus, cette option permet un contrôle du lecteur via de simples [[script_shell|scripts shell]].+[[:Mplayer]] est un puissant logiciel de lecture de vidéos et de musique. Ce tutoriel explique comment l'​utiliser en tant qu'​esclave,​ autant pour la musique que pour la vidéo. Cette technique permet de se passer d'une [[wpfr>​Environnement_de_bureau|interface graphique]] et ainsi d'​économiser de la mémoire ​vive et de la place à l'​écran. De plus, cette option permet un contrôle du lecteur via de simples [[:tutoriel:script_shell|scripts shell]].
  
-Cette méthode est plutôt déconseillée aux adeptes de solutions «usine à gaz», qui préfèreront ​alors une interface graphique complète, il existe de nombreux [[../lecteur_audio|lecteurs de musique]] et [[:​lecture_et_encodage_de_fichiers_videos|lecteurs vidéos]] de qualité.+Cette méthode est plutôt déconseillée aux adeptes de solutions «usine à gaz», qui préféreront ​alors une interface graphique complète, il existe de nombreux [[:lecteur_audio|lecteurs de musique]] et [[:​lecture_et_encodage_de_fichiers_videos|lecteurs vidéos]] de qualité.
  
 ===== Prérequis ===== ===== Prérequis =====
Ligne 14: Ligne 16:
 <​code>​man mplayer <​code>​man mplayer
 man bash</​code>​ man bash</​code>​
-il faut aussi comprendre les notions de [[http://​fr.wikipedia.org/​wiki/​Stdout|flux]]et de redirection de flux.+il faut aussi comprendre les notions de [[wpfr>​Flux_standard|flux]] et de redirection de flux.
  
-Pour continuer le tutoriel, assurez-vous d'​avoir [[:​tutoriel:​comment_installer_un_paquet|installé le paquet]] mplayer ([[apt://​mplayer]]),​ [[http://​fr.wikipedia.org/​wiki/​Tube_nomm%C3%A9|mkfifo]]. Munissez vous de votre [[../terminal]] ​favoris, d'un peu de patience, et de courage .+Pour continuer le tutoriel, assurez-vous d'​avoir [[:​tutoriel:​comment_installer_un_paquet|installé le paquet]] mplayer ([[apt://​mplayer]]),​ [[wpfr>​Tube_nommé|mkfifo]]. Munissez vous de votre [[:terminal]] ​favori, d'un peu de patience, et de courage.
  
 ===== Let's go ? ===== ===== Let's go ? =====
 ==== Trouver la commande ==== ==== Trouver la commande ====
 Tout d'​abord,​ il faut trouver la commande adéquate pour lancer mplayer. Le manuel nous informe qu'il faut utiliser l'​argument -slave. Tout d'​abord,​ il faut trouver la commande adéquate pour lancer mplayer. Le manuel nous informe qu'il faut utiliser l'​argument -slave.
-<​code>​Cette option enclenche le mode esclave. Ceci est prévu pour l’utilisation de MPlayer en tant que base (backend) pour d’autres programmes. Au lieu d’intercepter les évènements ​clavier, MPlayer va lire ses commandes séparées par un retour chariot (\n) via l’entrée stdin.+<​code>​Cette option enclenche le mode esclave. Ceci est prévu pour l’utilisation de MPlayer en tant que base (backend) pour d’autres programmes. Au lieu d’intercepter les événements ​clavier, MPlayer va lire ses commandes séparées par un retour chariot (\n) via l’entrée stdin.
 NOTE : Voir −input cmdlist pour une liste des commandes esclaves, et DOCS/​tech/​slave.txt pour leur description.</​code>​ NOTE : Voir −input cmdlist pour une liste des commandes esclaves, et DOCS/​tech/​slave.txt pour leur description.</​code>​
-Il faudra, comme indiqué aussi utiliser l'​argument -input file="​chemin/​vers/​mon/​fichier/​de/​controle"​. Cette fois-ci, je vous laisse lire le manuel :p. De même, pour plus de clarté, l'​argument -quiet sera passé, pour un [[http://​fr.wikipedia.org/​wiki/​Stdout|stdout]] plus «épuré».Voici ce que vous devriez obtenir après une petite torture mentale :p :+Il faudra, comme indiqué aussi utiliser l'​argument -input file="​chemin/​vers/​mon/​fichier/​de/​controle"​. Cette fois-ci, je vous laisse lire le manuel :p. De même, pour plus de clarté, l'​argument -quiet sera passé, pour un [[wpfr>​Flux_standard|stdout]] plus «épuré». Voici ce que vous devriez obtenir après une petite torture mentale :p :
 <​code>​mplayer -quiet -slave -input file=/​tmp/​music-control</​code>​ <​code>​mplayer -quiet -slave -input file=/​tmp/​music-control</​code>​
-NB : l'​argument -shuffle permet de rendre la playlist aléatoire ,-idle évite à mplayer de quitter si rien n'est joué et -playlist permet de préloader une playlist. ​+NB : l'​argument -shuffle permet de rendre la playlist aléatoire ,-idle évite à mplayer de quitter si rien n'est joué et -playlist permet de préloader une playlist.
  
 ====Utiliser la commande==== ====Utiliser la commande====
Ligne 37: Ligne 39:
 Nous allons tout d'​abord créer notre fichier fifofile. Pour cela, simplement exécuter la commande "​mkfifo"​. Nous allons tout d'​abord créer notre fichier fifofile. Pour cela, simplement exécuter la commande "​mkfifo"​.
 <​code>​mkfifo /​tmp/​music-control</​code>​ <​code>​mkfifo /​tmp/​music-control</​code>​
-Ensuite, il faut lancer la commande de mplayer. Avoir un lecteur en background n'a d'​interêt ​que s'il est en background (tâche de fond, non dépendante d'un terminal). Pour ce faire, ajouter un [[../projets/​ecole/​scripting/​initiation_au_shell#​presentation_de1|&​]] en fin de ligne. ​+Ensuite, il faut lancer la commande de mplayer. Avoir un lecteur en background n'a d’intérêt ​que s'il est en background (tâche de fond, non dépendante d'un terminal). Pour ce faire, ajouter un [[:projets/​ecole/​scripting/​initiation_au_shell#​presentation_de1|&​]] en fin de ligne. ​
  
 Cependant, le stdout et le stderr nous intéressent,​ car ils permettent de récupérer le nom du titre joué, par exemple dans le cas d'une chanson (cf fixme). Nous allons donc les rediriger vers deux fichiers distincts. Cependant, le stdout et le stderr nous intéressent,​ car ils permettent de récupérer le nom du titre joué, par exemple dans le cas d'une chanson (cf fixme). Nous allons donc les rediriger vers deux fichiers distincts.
Ligne 76: Ligne 78:
  
 ===== Aller plus loin ===== ===== Aller plus loin =====
-Cet aspect de mplayer nous permet de le contrôler via des scripts bash. +Cet aspect de mplayer nous permet de le contrôler via des scripts bash.
 Pour ne citer qu'​eux,​ il est possible Pour ne citer qu'​eux,​ il est possible
-   *de passer à la chanson suivante ​(en utilisant une fonction détournée ​de seek)+   *de passer à la chanson suivante 
 +<code bash>#​!/​bin/​sh 
 +# Aller au fichier suivant 
 +echo '​pt_step 1' > /​tmp/​music-control 
 +exit 0</​code>​ 
 +   *de passer à la chanson précédente
 <code bash>#​!/​bin/​sh <code bash>#​!/​bin/​sh
-Go to next file +Aller au fichier précédent 
-echo 'seek 100 1' > /​tmp/​music-control+echo 'pt_step -1' > /​tmp/​music-control
 exit 0</​code>​ exit 0</​code>​
    *de mettre mplayer en pause    *de mettre mplayer en pause
 <code bash>#​!/​bin/​sh <code bash>#​!/​bin/​sh
-Pause or start mplayer playback+Mettre la lecture en pause ou la reprendre
 echo '​pause'​ > /​tmp/​music-control echo '​pause'​ > /​tmp/​music-control
 exit 0</​code>​ exit 0</​code>​
    ​*d'​arrêter mplayer    ​*d'​arrêter mplayer
 <code bash>#​!/​bin/​sh <code bash>#​!/​bin/​sh
-Exit mplayer+Quitte ​mplayer
 echo '​quit'​ > /​tmp/​music-control echo '​quit'​ > /​tmp/​music-control
 exit 0 exit 0
 </​code>​ </​code>​
  
-Ces petits scripts, combinés par exemple à zenity, permettent un excellent contrôle de mplayer. On notera par exemple la possibilité de créer un petit script qui affichera un navigateur et permettra d'​ouvrir un morceau, et de le jouer dans mplayer. Allez je suis gentil, je vous le donne aussi :p+Ces petits scripts, combinés par exemple à [[:zenity]], permettent un excellent contrôle de mplayer. On notera par exemple la possibilité de créer un petit script qui affichera un navigateur et permettra d'​ouvrir un morceau, et de le jouer dans mplayer. Allez je suis gentil, je vous le donne aussi :p
 <code bash>#​!/​bin/​sh <code bash>#​!/​bin/​sh
 # Open a file # Open a file
-echo "​loadfile '​`zenity --question --text="​If you play another trackthe playlist will end \!" && zenity --file-selection --title "Select a file to be play now"​`'​ 0" > /​tmp/​music-control ​+echo "​loadfile '​`zenity --question --text="​Si vous jouez une autre liste de lecturela liste de lecture en cours sera effacée ​\!" && zenity --file-selection --title "Sélectionnez le fichier à jouer."​`'​ 0" > /​tmp/​music-control ​
 exit 0 </​code>​ exit 0 </​code>​
  
Ligne 104: Ligne 111:
 <code bash> <code bash>
 #!/bin/sh #!/bin/sh
-Find nearly everything about the track+Récupérer les informations de la chanson.
  
 cd ~/.mplayer cd ~/.mplayer
Ligne 113: Ligne 120:
 genre=`grep Genre mplayer.log | cut -d ":"​ -f 2 | tail -n 1` genre=`grep Genre mplayer.log | cut -d ":"​ -f 2 | tail -n 1`
  
-#display it in a window+#L'​afficher dans une fenêtre
 zenity --info --text="​`echo $title"​\n"​$artist"​\n"​$album"​\n"​$year"​\n"​$genre`"​ --title="​Current song" --no-wrap zenity --info --text="​`echo $title"​\n"​$artist"​\n"​$album"​\n"​$year"​\n"​$genre`"​ --title="​Current song" --no-wrap
 </​code>​ </​code>​
Ligne 121: Ligne 128:
    ​*[[http://​www.mplayerhq.hu|Le site officiel de mplayer]]    ​*[[http://​www.mplayerhq.hu|Le site officiel de mplayer]]
    ​*[[http://​www.mplayerhq.hu/​DOCS/​man/​fr/​mplayer.1.html|Des infos sur le mode "​slave"​ et les commandes possibles]]    ​*[[http://​www.mplayerhq.hu/​DOCS/​man/​fr/​mplayer.1.html|Des infos sur le mode "​slave"​ et les commandes possibles]]
-   *[[http://​fr.wikipedia.org/​wiki/​Mplayer|La page wikipédia de mplayer]] +   *[[wpfr>Mplayer| La page wikipédia de mplayer]]
-   *Si vous êtes fainéants, [[http://​doc.ubuntu-fr.org/​_media/​tutoriel/​mplayer-script.tar|vous trouverez des scripts pré-fait pour pas mal de fonctions]]+
  
 ---- ----
-//​Contributeurs:​ [[utilisateurs:​blackbg]]//​+//​Contributeurs:​ [[:utilisateurs:​blackbg]]//​
  • tutoriel/comment_utiliser_mplayer_en_esclave.1283757218.txt.gz
  • Dernière modification: Le 18/04/2011, 14:51
  • (modification externe)