# Utilisation

## Ligne de commande

MPlayer utilise un ordre de lecture complexe. Il consiste en les options globales écrites en premier, par exemple

    mplayer -vfm 5

et les options écrites après les noms de fichier, qui s'appliquent uniquement au nom de fichier/URL/autre donné, par exemple

    mplayer -vfm 5 film1.avi film2.avi -vfm 4

Vous pouvez regrouper les noms de fichiers/URLs en utilisant `{` et `}`. C'est utile avec l'option `-loop`:

    mplayer { 1.avi - loop 2 2.avi } -loop 3

La commande ci-dessus jouera les fichiers dans cet ordre: 1, 1, 2, 1, 1, 2, 1, 1, 2.

Lecture d'un fichier:

    mplayer [options] [chemin/]fichier

Lecture de plusieurs fichiers:

    mplayer [options par défaut] [chemin/]fichier1 [options pour fichier1] fichier2 [options pour fichier2] ...

Lecture de VCD:

    mplayer [options] vcd://N°piste [-cdrom-device /dev/cdrom]

Lecture de DVD:

    mplayer [options] dvd://N°titre [-dvd-device /dev/dvd]

Lecture à partir du web:

    mplayer [options] http://site.com/fichier.asf

(les listes de lecture peuvent également être utilisées)

Lecture à partir de RTSP:

    mplayer [options] rtsp://serveur.exemple.com/nomFlux

Exemples:

    mplayer -vo x11 /mnt/Films/Contact/contact2.mpg
    mplayer vcd://2 -cd-rom-device /dev/hdc
    mplayer -afm 3 /mnt/DVDtrailers/alien4.vob
    mplayer dvd://1 -dvd-device /dev/hdc
    mplayer -abs 65536 -delay -0.4 -nobps ~/films/test.avi

## Contrôles

MPlayer dispose d'une couche de contrôle pleinement configurable, qui vous permet de contrôler MPlayer avec le clavier, la souris, le joystick ou une télécommande (en utilisant LIRC). Voir la page de man pour une liste complète des contrôles clavier.

### Configuration des contrôles

MPlayer vous permet d'associer n'importe quel touche/bouton à n'importe quelle commande MPlayer en utilisant un simple fichier de config. La syntaxe consiste un nom de touche suivi d'une commande. Le fichier de config par défaut est `$HOME/.mplayer/input.conf` mais cela peut être outrepassé en utilisant l'option `-input conf` (les chemins relatifs le sont par rapport à `$HOME/.mplayer`).

Vous pouvez obtenir une liste complète des touches supportées en tapant `mplayer -input keylist` et une liste complète des commandes disponibles en tapant `mplayer -input cmdlist`.

#### Un simple fichier de contrôles

    ##
    ## MPlayer input control file
    ##

    RIGHT seek +10
    LEFT seek -10
    - audio_delay 0.100
    + audio_delay -0.100
    q quit
    > pt_step 1
    < pt_step -1
    ENTER pt_step 1 1

### Control from LIRC

Linux Infrared Remote Control - utilisez un récepteur infrarouge fait maison, une télécommande, et contrôlez votre linux à distance ! Plus d'infos sur la page de LIRC.

Si vous avez installé le paquet LIRC, `configure` le détectera automatiquement. Si tout c'est bien passé, MPlayer affichera un message du genre "`Setting up LIRC support...`" au démarrage. Si une erreur se produit il vous le dira. Si il ne vous dit rien à propos de LIRC c'est que son support n'est pas compilé. C'est tout :-)

Le nom de l'application à lancer avec MPlayer est - oh surprise - `mplayer`. Vous pouvez utiliser n'importe quelle commande MPlayer et même passer plus d'une commande en les séparant avec `\n`. N'oubliez pas d'activer le flag repeat dans `.lircrc` quand cela est approprié (déplacement, volume, etc). Voici un extrait d'un fichier d'exemple `.lircrc`:

    begin
         button = VOLUME_PLUS
         prog = mplayer
         config = volume 1
         repeat = 1
    end

    begin
        button = VOLUME_MINUS
        prog = mplayer
        config = volume -1
        repeat = 1
    end

    begin
        button = CD_PLAY
        prog = mplayer
        config = pause
    end

    begin
        button = CD_STOP
        prog = mplayer
        config = seek 0 1\npause
    end

Si vous n'aimez pas l'emplacement standard du fichier de config de lirc (`~/.lircrc`) utilisez `-lircconf nomfichier` pour spécifier un autre fichier.

### Mode esclave

Le mode esclave vous permet de construire un frontend à MPlayer. Quand il est activé (avec `-slave`) MPlayer lit les commandes séparées par un saut de ligne (\n) depuis l'entrée par défaut (stdin). Les commandes sont documentées dans le fichier slave.txt.

## Streaming depuis le réseau ou les pipes

MPlayer peut lire des fichiers depuis le réseau, en utilisant les protocoles HTTP, FTP, MMS ou RTSP/RTP.

La lecture se fait juste en ajoutant l'URL à la ligne de commande. MPlayer utilise également la variable d'environnement `http_proxy`, et utilise le proxy si disponible. L'utilisation du proxy peut aussi être forcé:

    mplayer http_proxy://proxy.micorsops.com:3128/http://micorsops.com:80/stream.asf

MPlayer peut lire depuis stdin (pas depuis les pipes nommés). Cela peut être utilisé par exemple pour lire depuis le FTP:

    wget ftp://micorsops.com/quelquechose.avi -O - | mplayer -

Il est également recommandé d'activer `-cache` pour une lecture depuis le réseau:

    wget ftp://micorsops.com/quelquechose.avi -O - | mplayer -cache 8192 -

## Flux distants

Les flux distants vous permettent d'accéder à la plupart des types de flux de MPlayer depuis un hôte distant. Le but de cette fonction est de rendre possible l'utilisation du lecteur CD ou DVD d'un autre ordinateur sur le réseau (en supposant que vous ayez une bande passante suffisante). Malheureusement certains types de flux (pour l'instant TV et MF) ne sont pas utilisables à distance car ils sont implémentés au niveau du demuxer. C'est triste pour les flux MF mais les flux TV nécessiteraient une bande passante incensée.

### Compilation du serveur

Après avoir compilé MPlayer, allez dans le répertoire `TOOLS/netstream` et tapez make pour compiler le serveur. Vous pouvez ensuite copier le binaire netstream dans l'endroit approprié sur votre système (généralement `/usr/local/bin` sous Linux).

### Utilisation de flux distants

Tout d'abord vous devez lancer le serveur sur l'ordinateur auquel vous souhaitez accéder à distance. Actuellement le serveur est très basique et n'accepte aucun argument en ligne de commande, donc tapez juste `netstream`. Maintenant vous pouvez par exemple jouer la seconde piste d'un VCD sur le serveur avec:

    mplayer -cache 5000 mpst://serveur/vcd://2

Vous pouvez aussi accéder aux fichiers de ce serveur:

    mplayer -cache 5000 mpst://serveur//usr/local/films/lol.avi

Veuillez noter que les chemins qui ne commencent pas par un / seront relatifs au répertoire dans lequel le serveur fonctionne. L'option `-cache` n'est pas requise mais vivement recommandée.

Soyez conscient que pour l'instant le serveur n'est pas sécurisé du tout. Donc ne vous pleignez pas des nombreuses attaques possibles par cette voie. À la place envoyez-nous quelques (bons) patches pour le rendre meilleur ou ecrivez votre propre serveur.

## Listes d'Edition de Décision (EDL)

Le système de liste d'édition de décision (Edit Decision Lists - EDL) vous permet de sauter ou rendre muet des sections de vidéos pendant la lecture, basé sur un fichier de configuration EDL spécifique au film.

Ceci est utile pour ceux qui veulent voir un film en mode "tout public". Vous pouvez couper toutes violence, profanation, Jar-Jar Binks .. d'un film suivant vos préférences personnelles. A part ça, il y a d'autres utilisations, comme sauter automatiquement les publicités dans les fichiers vidéos que vous regardez.

Le format de fichier EDL est plutôt rudimentaire. Une fois que le système EDL aura atteint un certain niveau de maturité, un format de fichier basé sur XML sera probablement implémenté (en gardant une compatibilité descendante avec les précédents formats EDL).

Le nombre maximum d'entrées EDL pour l'incarnation actuelle de EDL est 1000. Si vous avez besoin de plus, changez le #define MAX_EDL_ENTRIES dans le fichier `edl.h`.

### Utiliser un fichier EDL

Incluez l'option `-edl <nomfichier>` quand vous lancez MPlayer, avec le nom du fichier EDL que vous voulez appliquer à la video.

### Faire un fichier EDL

Le format de fichier actuel EDL est:

    [seconde de départ] [seconde de fin] [action]

Où les secondes sont des nombres à virgule et l'action est soit `0` pour sauter, soit `1` pour couper le son. Exemple:

    5.3   7.1    0
    15    16.7   1
    420   422    0

Cela va sauter de la seconde 5.3 à la seconde 7.1 de la vidéo, puis va couper le son à 15 secondes, le remettre à 16.7 secondes et sauter de la seconde 420 à la seconde 422 de la vidéo. Ces actions seront appliqués quand le temps de lecture atteint le temps indiqué dans le fichier.

Pour créer un fichier EDL à partir duquel travailler, utilisez l'option `-edlout <nomfichier>`. Durant la lecture, quand vous voulez marquer les deux secondes précédentes à sauter, tapez sur i. Une entrée correspondante sera écrite dans le fichier. Vous pouvez ensuite revenir et affiner le fichier EDL généré.