Amélioration commande périph audios + names

This commit is contained in:
whirigoyen 2023-04-24 17:33:30 +02:00
parent ecde8ed9ee
commit 7d71bab613

View file

@ -52,16 +52,18 @@ $ ffmpeg -encoders
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 :
Lister les périphériques d'entrée de PulseAudio :
~~~
$ pactl list short sources | grep input | awk '{print $1}'
$ pactl list short sources | grep input
~~~
Il est possible de fournir à FFmpeg le numéro du périphérique audio (colonne 1, par exemple : `1`) ou bien son nom complet (colonne 2, par exemple : `alsa_input.pci-0000_00_1f.3.analog-stereo`) :
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) :
~~~
$ ffmpeg -f pulse -i <SOURCE_NUMBER> <OUTPUT_FILE>
$ ffmpeg -f pulse -i <SOURCE_NUMBER|NAME> <OUTPUT_FILE>
$ # Par exemple :
$ ffmpeg -f pulse -i 1 output.wav
@ -81,16 +83,18 @@ $ ffmpeg (-f pulse -i 1) (output.wav)
En plus de la source du micro, on ajoute la sortie audio comme seconde source avec un autre bloc d'arguments `-i`.
Lister les flux PulseAudio, et identifier le numéro de périphérique de votre micro et de votre sortie audio :
Lister les périphériques d'entrée et de sortie de PulseAudio :
~~~
$ pactl list short sources | grep -E "(in|out)put" | awk '{print $1}'
$ pactl list short sources | grep -E "(in|out)put"
~~~
Il est possible de fournir à FFmpeg le numéro des périphériques audio (colonne 1) ou bien leur nom complet (colonne 2). Le nom du périphérique de sortie audio de sortie à utiliser contient normalement `.monitor` (par exemple : `alsa_output.pci-0000_00_1f.3.analog-stereo.monitor`) :
Il faut également indiquer comme option de sortie `-filter_complex amix=inputs=2` pour dire à FFmpeg de fusionner les deux entrées audio.
~~~
$ ffmpeg -f pulse -i <INPUT_SOURCE_NUMBER> -f pulse -i <OUTPUT_SOURCE_NUMBER> -filter_complex amix=inputs=2 <OUTPUT_FILE>
$ ffmpeg -f pulse -i <INPUT_SOURCE_NUMBER|NAME> -f pulse -i <OUTPUT_SOURCE_NUMBER|NAME> -filter_complex amix=inputs=2 <OUTPUT_FILE>
$ # Par exemple :
$ ffmpeg -f pulse -i 1 -f pulse -i 2 -filter_complex amix=inputs=2 output.wav
@ -132,7 +136,7 @@ Utiliser `Ctrl+c` pour stopper l'enregistrement (la clôture prend un peu de tem
Combiner les options des sections [Enregistrer une discussion audio](#enregistrer-une-discussion-audio) et [Enregistrer une vidéo à partir dun affichage Xorg](#enregistrer-une-vidéo-à-partir-dun-affichage-xorg) (voir ces sections pour trouver ) :
~~~
$ ffmpeg -f pulse -i <INPUT_SOURCE_NUMBER> -f pulse -i <OUTPUT_SOURCE_NUMBER> # flux audio en entrée \
$ ffmpeg -f pulse -i <INPUT_SOURCE_NUMBER|NAME> -f pulse -i <OUTPUT_SOURCE_NUMBER|NAME> # flux audio en entrée \
-f x11grab -video_size <SCREEN_RESOLUTION> -i :0.0<OFFSET> # flux vidéo en entrée \
-filter_complex amix=inputs=2 <OUTPUT_FILE> # flux audio+vidéo en sortie
$ # Par exemple :