[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Linux-31] Capture avec avconv




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