Le 23 septembre 2019 01:00:46 GMT+02:00, Pierre ESTREM<linux-31@culte.org> a écrit :
Bonsoir,
Merci pour ta commande car elle m'a aidé, bien que l'option "-af" m'a
provoqué une erreur.
J'ai fait ceci :
$ avconv -f pulse -i alsa_output.pci-0000_00_1b.0.analog-stereo.monitor
-f pulse -i alsa_input.usb-AKM_AK5370-00-AK5370.analog-mono
-filter_complex amix=inputs=2 -f x11grab -r 15 -s 1920x1080 -i :0.0
-vcodec libx264 -preset ultrafast -y capture.mp4
Cela fonctionne presque.
J'ai des coupures courtes (pas de son) par intermitence.
C'est pour cela que j'ai baissé le "rate" à 15 fps, mais c'est idem.
Une astuce pour que le son soit fluide ?
Je pense que c'est un problème d'échantillonnage, les deux flux audio ne doivent pas avoir les mêmes fréquences d'échantillonnage.
Est-ce que tu peux vérifier que les deux flux audio sont ben 44.1kHz oou 48kHz ?
Peux tu essayer pour déjà avoir les deux flux en stéréo:
-filter_complexe '[1:a] aformat=channel_layouts=stereo [mic] ; [0:a] [mic] amix=inputs=2'
J'ai essayé aussi "amerge=inputs=2" et franchement je ne remarque pas de
différence avec "amix"...
mix et merge ne signifient-ils pas tout deux "mélanger" ?
amix : mixe plusieurs entrée audio dans une seule sortie audio.
amerge : mixe plusieurs entrée audio dans un seul flux multi piste.
La différence est subtile mais dans ton cas je pense que amix est plus approprié :)
Aymeric.
Merci
pierre estrem
Le 22/09/2019 à 19:18, Aymeric (via linux-31 Mailing List) a écrit :
On 21/09/2019 02:25, Pierre ESTREM (via linux-31 Mailing List) wrote:
Je ne parviens pas à faire de ces 2 commandes 1 seule commande.
Pour les speakers :
$ avconv -f pulse -i
alsa_output.pci-0000_00_1b.0.analog-stereo.monitor -f x11grab -r 30
-s
1920x1080 -i :0.0 -vcodec libx264 -preset ultrafast -threads 4 -y
speakers.mp4
Pour le mic :
$ avconv -f pulse -i alsa_input.usb-AKM_AK5370-00-AK5370.analog-mono
-f x11grab -r 30 -s 1920x1080 -i :0.0 -vcodec libx264 -preset
ultrafast -threads 4 -y mic.mp4
Si je réunis les 2 commandes l'enregistrement du mic passe à la
trappe
(en position 2) :
$ avconv -f pulse -i
alsa_output.pci-0000_00_1b.0.analog-stereo.monitor -f pulse -i
alsa_input.usb-AKM_AK5370-00-AK5370.analog-mono -f x11grab -r 30 -s
1920x1080 -i :0.0 -vcodec libx264 -preset ultrafast -threads 4 -y
speakers-mic.mp4
Comment n'en faire qu'une ligne ?
Salut,
Il te manque un filtre audio pour regrouper les flux audio dans un
seul
ou il faudrait changer le codec audio de sortie pour supporter du
multipiste comme ac3, dts (mais je ne pense pas que ça soit ton but
recherché).
https://ffmpeg.org/ffmpeg-filters.html#amerge-1
Pas testé, mais un truc du genre devrait faire l’affaire:
ffmpeg -f pulse -i alsa_output.pci-0000_00_1b.0.analog-stereo.monitor
-f
pulse -i alsa_input.usb-AKM_AK5370-00-AK5370.analog-mono -af '[a:0]
[a:1] amerge=inputs=2' -f x11grab -r 30 -s 1920x1080 -i :0.0 -vcodec
libx264 -preset ultrafast -threads 4 -y speakers-mic.mp4
Sinon tu n’as normalement pas besoin de l’option -threads ça le fait
tout seul.
""
threads integer (decoding/encoding,video)
Set the number of threads to be used, in case the
selected
codec implementation supports multi-threading.
[...]
Default value is auto
""
A+
PS : Il me semblait que ffmpeg était revenu dans Ubuntu par défaut et
que la "guerre" avconv/ffmpeg était finie…
-- Aymeric
Aymeric