Accéder au contenu.
Menu Sympa

linux-31 - Re: [Linux-31] Capture avec avconv

Objet : Discussions sur le logiciel libre

Archives de la liste

Re: [Linux-31] Capture avec avconv


Chronologique Discussions 
  • From: Pierre ESTREM <peterpan31 AT free.fr>
  • To: Linux 31 <linux-31 AT culte.org>
  • Subject: Re: [Linux-31] Capture avec avconv
  • Date: Wed, 25 Sep 2019 22:59:29 +0200

Bonsoir,

Le micro est en mono !
La ligne qui lui correspond fait un enregistrement en 2 canaux.
Bizarre ou normal ?

Effectivement c'est mieux avec des simples quotes :

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 '[1:a] aformat=channel_layouts=stereo [mic] ; [0:a] [mic] amix=inputs=2' -f x11grab -r 15 -s 1920x1080 -i :0.0 -vcodec libx264 -preset ultrafast capture.mkv

Ca marche avec le format mkv et avi.

Avec .mp4 VLC n'affiche RIEN et dit RIEN.
J'ai joint le nohup.out associé...

Je dois encore vérifié si j'ai des déphasages... ils ne manqueront pas à mon avis...

Merci
pierre estrem


Le 25/09/2019 à 10:40, Aymeric a écrit :
Bonjour,

Je pense qu'il te manque des quotes pour les filtres, en tout cas la commande
dans les quotes ne fonctionnera pas.

-filter_complex '[1:a] .... etc ... inputs=2'

Sinon, si elle plante, elle doit afficher un message d'erreur, est-ce que tu
peux le fournir ?

Tu devrais rester avec le format mp4 qui est quand même plus moderne est
mieux que avi, surtout pour du codec H264.

Le mix est effectivement en 48kHz mais est-ce que le flux d'entrée l'ai lui
aussi ?

Tu peux donner le retour complet de la commande ffmepg, ça permettra d'avoir
des informations.

Aymeric.

Le 25 septembre 2019 02:06:47 GMT+02:00, Pierre ESTREM<linux-31 AT culte.org> a
écrit :
Bonjour,

Ce sont deux flux :
- le flux audio 2 canaux 48 Khz 128 Kb/s constant (mix du micro et
speakers que tu m'as recommandé).
 - le flux vidéo (h264)
Voir résultat de mediainfo en PJ.

La commande "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_complexe [1:a]
aformat=channel_layouts=stereo [mic] ; [0:a] [mic] amix=inputs=2 -f
x11grab -r 15 -s 1920x1080 -i :0.0 -vcodec libx264 -preset ultrafast
capture.avi" plante.

Donc avec :
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_complexe amix=inputs=2 -f x11grab -r 15 -s 1920x1080 -i :0.0
-vcodec libx264 -preset ultrafast capture.avi

cela marcherait, mais j'ai un décalage des sources mic et speakers et
vidéo trop important.

Le but des vidéos : des démos logicielles pour présenter à de "grands
débutants".

Je n'ai pas encore essayé le tout (audio + video) en "raw" et 60 Hz.
Aurais-je alors des choses synchrones ???

Merci
pierre estrem


Le 24/09/2019 à 09:20, Aymeric a écrit :
Le 23 septembre 2019 01:00:46 GMT+02:00, Pierre
ESTREM<linux-31 AT 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
Aymeric
ffmpeg version 2.6.9 Copyright (c) 2000-2016 the FFmpeg developers
built with gcc 4.9.2 (Debian 4.9.2-10+deb8u1)
configuration: --prefix=/usr --extra-cflags='-g -O2
-fstack-protector-strong -Wformat -Werror=format-security '
--extra-ldflags='-Wl,-z,relro' --enable-shared --enable-libmp3lame
--enable-gpl --enable-nonfree --enable-libvorbis --enable-pthreads
--enable-libfaac --enable-libxvid --enable-postproc --enable-x11grab
--enable-libgsm --enable-libtheora --enable-libopencore-amrnb
--enable-libopencore-amrwb --enable-libx264 --enable-libspeex
--enable-nonfree --disable-stripping --enable-libvpx --enable-libschroedinger
--disable-encoder=libschroedinger --enable-version3 --enable-libopenjpeg
--enable-librtmp --enable-avfilter --enable-libfreetype --enable-libvo-aacenc
--disable-decoder=amrnb --enable-libvo-amrwbenc --enable-libaacplus
--libdir=/usr/lib/i386-linux-gnu --disable-vda --enable-libbluray
--enable-libcdio --enable-gnutls --enable-frei0r --enable-openssl
--enable-libass --enable-libopus --enable-fontconfig --enable-libpulse
--disable-mips32r2 --disable-mipsdspr1 --disable-mipsdspr2
--enable-libvidstab --enable-libzvbi --enable-avresample --disable-htmlpages
--disable-podpages --enable-libutvideo --enable-libfdk-aac --enable-libx265
--enable-libiec61883 --enable-vaapi --enable-libdc1394 --disable-altivec
--shlibdir=/usr/lib/i386-linux-gnu
libavutil 54. 20.100 / 54. 20.100
libavcodec 56. 26.100 / 56. 26.100
libavformat 56. 25.101 / 56. 25.101
libavdevice 56. 4.100 / 56. 4.100
libavfilter 5. 11.102 / 5. 11.102
libavresample 2. 1. 0 / 2. 1. 0
libswscale 3. 1.101 / 3. 1.101
libswresample 1. 1.100 / 1. 1.100
libpostproc 53. 3.100 / 53. 3.100
Invalid shared memory segment size
Guessed Channel Layout for Input Stream #0.0 : stereo
Input #0, pulse, from 'alsa_output.pci-0000_00_1b.0.analog-stereo.monitor':
Duration: N/A, start: 1569444663.755440, bitrate: 1536 kb/s
Stream #0:0: Audio: pcm_s16le, 48000 Hz, 2 channels, s16, 1536 kb/s
Invalid shared memory segment size
Guessed Channel Layout for Input Stream #1.0 : stereo
Input #1, pulse, from 'alsa_input.usb-AKM_AK5370-00-AK5370.analog-mono':
Duration: N/A, start: 1569444663.770325, bitrate: 1536 kb/s
Stream #1:0: Audio: pcm_s16le, 48000 Hz, 2 channels, s16, 1536 kb/s
[x11grab @ 0x9176f60] Stream #0: not enough frames to estimate rate; consider
increasing probesize
Input #2, x11grab, from ':0.0':
Duration: N/A, bitrate: N/A
Stream #2:0: Video: rawvideo (BGR[0] / 0x524742), bgr0, 1920x1080, 15
fps, 15 tbr, 1000k tbn, 15 tbc
No pixel format specified, yuv444p for H.264 encoding chosen.
Use -pix_fmt yuv420p for compatibility with outdated media players.
[libx264 @ 0x9180e00] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX
FMA3 AVX2 LZCNT BMI2
[libx264 @ 0x9180e00] profile High 4:4:4 Predictive, level 4.0, 4:4:4 8-bit
[libx264 @ 0x9180e00] 264 - core 146 - H.264/MPEG-4 AVC codec - Copyleft
2003-2015 - http://www.videolan.org/x264.html - options: cabac=0 ref=1
deblock=0:0:0 analyse=0:0 me=dia subme=0 psy=1 psy_rd=1.00:0.00 mixed_ref=0
me_range=16 chroma_me=1 trellis=0 8x8dct=0 cqm=0 deadzone=21,11 fast_pskip=1
chroma_qp_offset=6 threads=6 lookahead_threads=1 sliced_threads=0 nr=0
decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=0
weightp=0 keyint=250 keyint_min=15 scenecut=0 intra_refresh=0 rc=crf mbtree=0
crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ratio=1.40 aq=0
Output #0, mp4, to 'capture.MP4':
Metadata:
encoder : Lavf56.25.101
Stream #0:0: Audio: aac (libfaac) ([64][0][0][0] / 0x0040), 48000 Hz,
stereo, s16, 128 kb/s (default)
Metadata:
encoder : Lavc56.26.100 libfaac
Stream #0:1: Video: h264 (libx264) ([33][0][0][0] / 0x0021), yuv444p,
1920x1080, q=-1--1, 15 fps, 15360 tbn, 15 tbc
Metadata:
encoder : Lavc56.26.100 libx264
Stream mapping:
Stream #0:0 (pcm_s16le) -> amix:input0 (graph 0)
Stream #1:0 (pcm_s16le) -> aformat (graph 0)
amix (graph 0) -> Stream #0:0 (libfaac)
Stream #2:0 -> #0:1 (rawvideo (native) -> h264 (libx264))
Press [q] to stop, [?] for help
[pulse @ 0x916cac0] Thread message queue blocking; consider raising the
thread_queue_size option (current value: 8)
[swscaler @ 0x918aee0] Warning: data is not aligned! This can lead to a
speedloss
frame= 8 fps=0.0 q=14.0 size= 303kB time=00:00:00.06
bitrate=37183.4kbits/s
[pulse @ 0x9171c80] Thread message queue blocking; consider raising the
thread_queue_size option (current value: 8)
frame= 16 fps= 16 q=11.0 size= 588kB time=00:00:00.60
bitrate=8024.3kbits/s
frame= 23 fps= 15 q=11.0 size= 609kB time=00:00:01.06
bitrate=4679.0kbits/s
frame= 31 fps= 15 q=11.0 size= 633kB time=00:00:01.60
bitrate=3242.4kbits/s
frame= 39 fps= 15 q=11.0 size= 655kB time=00:00:02.13
bitrate=2513.4kbits/s
frame= 46 fps= 15 q=11.0 size= 679kB time=00:00:02.60
bitrate=2138.1kbits/s
frame= 54 fps= 15 q=11.0 size= 700kB time=00:00:03.13
bitrate=1830.5kbits/s
frame= 61 fps= 15 q=11.0 size= 724kB time=00:00:03.60
bitrate=1646.6kbits/s
frame= 69 fps= 15 q=11.0 size= 745kB time=00:00:04.13
bitrate=1477.0kbits/s
frame= 76 fps= 15 q=11.0 size= 769kB time=00:00:04.60
bitrate=1369.1kbits/s
frame= 84 fps= 15 q=11.0 size= 793kB time=00:00:05.13
bitrate=1265.6kbits/s
frame= 91 fps= 15 q=11.0 size= 815kB time=00:00:05.60
bitrate=1192.2kbits/s
frame= 99 fps= 15 q=11.0 size= 841kB time=00:00:06.13
bitrate=1123.1kbits/s



Archives gérées par MHonArc 2.6.19+.

Haut de le page