în același context înainte, am fost ajutat de frate ( llogan ) pe 15 octombrie la 16:35, folosind sintaxa sugestia lui și am încercat-o, la început am primit sunetul bâlbâit, apoi a revenit la tăcere ,dar din anumite motive nu am mai accesat acest blog de mult timp, deci comunicarea este pierdere, asa ca ma poate ajuta cineva ?
starea curentă folosim sintaxa:
ffmpeg -f alsa -channels 2 -sample_rate 44100 -i hw:0 -f video4linux2 -i /dev/video0 -c:a aac -b:a 128k -c:v libx264 -preset veryfast -b:v 4000k -maxrate 4000k -bufsize 12000k -g 10 -vf "scale=1280:720,format=yuv420p" -f flv rtmp://localhost/show/stream
și am informații care rulează de la ffmpeg:
[alsa @ 0x556854b35c60] ALSA buffer xrun.
cadru= 237 fps=5.0 q=13.0 dimensiune= 21447kB timp=00:00:43.23 bitrate=4063.4kbits/s viteza=0.9
cadru= 239 fps=5.0 q=13.0 dimensiune= 21633kB timp=00:00:43.23 bitrate=4098.6kbits/s viteza=0.9
[alsa @ 0x556854b35c60] ALSA buffer xrun.
cadru= 242 fps=5.0 q=13.0 dimensiune= 21932kB timp=00:00:44.23 bitrate=4061.5kbits/s viteza=0.9
cadru= 244 fps=5.0 q=13.0 dimensiune= 22124kB timp=00:00:44.23 bitrate=4097.1kbits/s viteza=0.9
este ceva în neregulă?, și oprim codificatorul are o informație este:
[flv @ 0x5585283c6a40] Nu s-a putut actualiza antetul cu durata corectă.
[flv @ 0x5585283c6a40] Nu s-a putut actualiza antetul cu dimensiunea corectă a fișierului.
cadru=428826 fps=5,0 q=-1,0 Lsize=40706449kB timp=23:49:20,70 bitrate=3888,1kbits/s viteza=0,958x
video:428826kB audio:767kB subtitrare:0kB alte fluxuri:0kB anteturi globale:0kB muxing overhead: 0,025860%
[libx264 @ 0x5585283c8200] cadru I: 57274 QP mediu: 7,20 dimensiune: 151544
[libx264 @ 0x5585283c8200] cadru P: 263139 QP mediu: 10,57 dimensiune: 96778
[libx264 @ 0x5585283c8200] cadru B:108413 QP mediu:10,50 dimensiune: 69423
[libx264 @ 0x5585283c8200] cadre B consecutive: 63,0% 7,8% 6,5% 22,7%
[libx264 @ 0x5585283c8200] mb I I16..4: 14,2% 12,6% 73,2%
[libx264 @ 0x5585283c8200] mb P I16..4: 12.6% 11.5% 27.5% P16..4: 8.2% 17.2% 20.3% 0.0% 0.0% skip: 2.7%
[libx264 @ 0x5585283c8200] mb B I16..4: 4.2% 2.4% 4.7% B16..8: 23.7% 26.8% 14.9% direct:14.1% skip:9.1% L0:36.9% L.4%BI:34.9% L.41:34.9%
[libx264 @ 0x5585283c8200] 8x8 transform intra:19.5% inter:35.3%
[libx264 @ 0x5585283c8200] codificat y,uvDC,uvAC intra: 83,4% 88,7% 85,2% inter: 78,4% 76,8% 46,4%
[libx264 @ 0x5585283c8200] i16 v,h,dc,p: 45% 40% 10% 5%
[libx264 @ 0x5585283c8200] i8 v,h,dc,ddl,ddr,vr,hd,vl,hu: 25% 41% 12% 3% 3% 3% 5% 3% 5%
[libx264 @ 0x5585283c8200] i4 v,h,dc,ddl,ddr,vr,hd,vl,hu: 26% 34% 8% 4% 6% 5% 6% 5% 6%
[libx264 @ 0x5585283c8200] i8c dc,h,v,p: 34% 35% 18% 13%
[libx264 @ 0x5585283c8200] Cadre P ponderate: Y:2,6% UV:1,9%
[libx264 @ 0x5585283c8200] kb/s:3887.06
[aac @ 0x5585283cc760] Qavg: 65536.000
s710@sensorsip:~$
Mai întâi începem mesajul ffmpg este:
s710@sensorsip:~$ ffmpeg -f alsa -channels 2 -sample_rate 44100 -i hw:0 -f video4linux2 -i /dev/video0 -c:a aac -b:a 128k -c:v libx264 -prestat veryfast -b :v 4000k -maxrate 4000k -bufsize 12000k -g 10 -vf "scale=1280:720,format=yuv420p" -f flv rtmp://localhost/show/stream
ffmpeg versiunea 3.4.8-0ubuntu0.2 Copyright (c) 2000-2020 dezvoltatorii FFmpeg
construit cu gcc 7 (Ubuntu 7.5.0-3ubuntu1~18.04)
configurație: --prefix=/usr --extra-version=0ubuntu0.2 --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --enable-gpl --disable-stripping --enable-avresample --enable-avisynth --enable-gnutls --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librubberband --enable-librsvg --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-omx --enable-openal --enable-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libie c61883 --enable-chromaprint --enable-frei0r --enable-libopencv --enable-libx264 --enable-shared
libavutil 55. 78.100 / 55. 78.100
libavcodec 57.107.100 / 57.107.100
libavformat 57. 83.100 / 57. 83.100
libavdevice 57. 10.100 / 57. 10.100
libavfilter 6.107.100 / 6.107.100
libavresample 3. 7. 0 / 3. 7. 0
libswscale 4. 8.100 / 4. 8.100
libswresample 2. 9.100 / 2. 9.100
libpostproc 54. 7.100 / 54. 7.100
Aspect canal ghicit pentru fluxul de intrare #0.0 : stereo
Intrare #0, alsa, din „hw:0”:
Durată: N/A, start: 1635926018.864251, bitrate: 1411 kb/s
Flux #0:0: Audio: pcm_s16le, 44100 Hz, stereo, s16, 1411 kb/s
Intrare #1, video4linux2,v4l2, de la „/dev/video0”:
Durată: N/A, început: 89255.399764, rata de biți: 165888 kb/s
Flux #1:0: Video: video brut (YUY2 / 0x32595559), yuyv422, 1920x1080, 165888 kb/s, 5 fps, 5 tbr, 1000k tbn, 1000k tbc
Maparea fluxului:
Flux #1:0 -> #0:0 (video brut (nativ) -> h264 (libx264))
Flux #0:0 -> #0:1 (pcm_s16le (nativ) -> aac (nativ))
Apăsați [q] pentru a opri, [?] pentru ajutor
[alsa @ 0x5585283b2c60] ALSA buffer xrun.
[libx264 @ 0x5585283c8200] folosind capabilitățile procesorului: MMX2 SSE2Fast SSSE3 SSE4.2
[libx264 @ 0x5585283c8200] profil Înalt, nivel 3.1
[libx264 @ 0x5585283c8200] 264 - core 152 r2854 e9a5903 - H.264/MPEG-4 AVC codec - Copyleft 2003-2017 - http://www.videolan.org/x264.html=1 ref=caba deblock - opțiuni: caba deblock =1:0:0 analyse=0x3:0x113 me=hex subme=2 psy=1 psy_rd=1.00:0.00 mixed_ref=0 me_range=16 chroma_me=1 trellis=0 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip 1 chroma_qp_offset=0 fire=6 lookahead_threads=2 sliced_threads=0 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=3 b_pyramid=2 b_adapt=1 b_bias=0 direct_go weightb=0 open=1 weightb=0 =1 keyint=10 keyint_min=1 scenecut=40 intra_refresh=0 rc_lookahead=10 rc=cbr mbtree=1 bitrate=4000 ratetol=1,0 qcomp=0,60 qpmin=0 qpmax=69 qpstep=4 vbv_maxrate=4000 vbv_maxrate=4000 vbv_enal=4000 filler=0 ip_ratio=1,40 aq=1:1,00
Ieșire #0, flv, la „rtmp://localhost/show/stream”:
Metadate:
codificator: Lavf57.83.100
Flux #0:0: Video: h264 (libx264) ([7][0][0][0] / 0x0007), yuv420p (progresiv), 1280x720, q=-1--1, 4000 kb/s, 5 fps, 1k tbn, 5 tbc
Metadate:
codificator: Lavc57.107.100 libx264
Date secundare:
cpb: bitrate max/min/avg: 4000000/0/4000000 dimensiune tampon: 12000000 vbv_delay: -1
Flux #0:1: Audio: aac (LC) ([10][0][0][0] / 0x000A), 44100 Hz, stereo, fltp, 128 kb/s
Metadate:
codificator: Lavc57.107.100 aac
[alsa @ 0x5585283b2c60] Blocarea cozii de mesaje de fire; luați în considerare creșterea opțiunii thread_queue_size (valoarea curentă: 8)
Deci, unde este valabilitatea, nu?, hardware-ul procesorului este prea scăzut? , procesorul meu cu specificații este Intel i5 Gen 2, Ram 8Gb, SSD 500GB (Futjisu lifebook S Series S710), OS ubuntu 18.4 (tocmai am început să învăț pe Linux)
Văd de la VLC codecul audio capturat este ADTS și static este, de asemenea, acolo, dar nu există sunet, Dacă îmi amintesc bine, când am oprit HLS Server, în ultima secundă a fost un sunet și moare fluxul.
Încerc să capturez informații în VLC astfel:
audio codec capturat pe VLC
captarea statisticilor pe VLC
daca problema mea este la aspectul hardware, se poate adauga o placa GPU NVEDIA cu ajutorul acceleratorului hardware CUDA, se poate rezolva?
rulăm aplay -l și v4l2-ctl --list-device msg este:
**** Lista dispozitivelor hardware de REDARE ****
card 0: MID [HDA Intel MID], dispozitiv 0: ALC269 Analog [ALC269 Analog]
Subdispozitive: 1/1
Subdispozitiv #0: subdispozitiv #0
card 0: MID [HDA Intel MID], dispozitiv 3: HDMI 0 [HDMI 0]
Subdispozitive: 1/1
Subdispozitiv #0: subdispozitiv #0
card 0: MID [HDA Intel MID], dispozitiv 7: HDMI 1 [HDMI 1]
Subdispozitive: 1/1
Subdispozitiv #0: subdispozitiv #0
s710@sensorsip:~$ v4l2-ctl --list-device
Video USB: Video USB (usb-0000:00:1a.0-1.2):
/dev/video0
Video USB: Video USB (usb-0000:00:1a.0-1.3):
/dev/video1
Cameră web USB: Cameră web USB (usb-0000:00:1d.0-1.3):
/dev/video2
Noi folosim acum este USB Video 0 folosind comanda este HW:0
Multumesc pentru ajutor..
Salutari,
Christian Hung