On passe en option plusieurs flux d'entrée et de sortie. Les flux d'entrée sont ré-encodés et redirigés vers les sorties (en fonction des options).
Chaque flux d'entrée est déclaré d'abord avec ses options et un `-i <INPUT_URL>` final («URL» est à prendre au sens large).
Idem pour chaque flux de sortie, mais sans le `-i`.
## Lister les formats et les codecs supportés
~~~
$ ffmpeg -formats
~~~
On peut aussi lister les codecs pour l'encodage et le décodage avec :
~~~
$ ffmpeg -decoders
$ ffmpeg -encoders
~~~
## Enregistrer du son à partir d'un micro
Pour la capture audio, on utilise les flux fournis par le serveur de son [PulseAudio](https://www.freedesktop.org/wiki/Software/PulseAudio/), qui fait le lien avec les pilotes ALSA des périphériques audio.
Lister les flux PulseAudio, et identifier le numéro de périphérique de votre micro :
Puis lancer un enregistrement (voir [Lister les formats et les codecs supportés](https://wiki.evolix.org/HowtoFFmpeg#lister-les-formats-et-les-codecs-support%C3%A9s) pour les formats supportés en sortie) :
## Enregistrer une vidéo à partir d'un affichage Xorg
Pour la capture vidéo, on utilise les flux fournis fournis par le serveur graphique [Xorg](https://www.x.org/wiki/).
Lister les écrans connectés et identifier la taille (par exemple `2560x1080`) et le décalage (par exemple `+2560+0`) de l'écran à enregistrer :
~~~
$ xrandr | grep -E "[[:space:]]connected"
~~~
Puis lancer un enregistrement (voir [Lister les formats et les codecs supportés](https://wiki.evolix.org/HowtoFFmpeg#lister-les-formats-et-les-codecs-support%C3%A9s) pour les formats supportés en sortie) :