в том же контексте раньше мне помог брат (llogan) 15 октября в 16:35, используя синтаксис его предложения, и я попробовал это, сначала у меня заикался звук, затем он снова стал тихим ,но почему-то я давно не заходил на этот блог,поэтому связь потеряна,поэтому кто-нибудь может мне помочь?
текущее состояние мы используем синтаксис:
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 "масштаб=1280:720,формат=yuv420p" -f flv rtmp://localhost/show/stream
и у меня есть информация, работающая от ffmpeg:
[alsa @ 0x556854b35c60] Буфер ALSA xrun.
кадр = 237 кадров в секунду = 5,0 q = 13,0 размер = 21447 КБ время = 00:00:43,23 битрейт = 4063,4 кбит/с скорость = 0,9
кадр = 239 кадров в секунду = 5,0 q = 13,0 размер = 21633 кБ время = 00:00:43,23 битрейт = 4098,6 кбит/с скорость = 0,9
[alsa @ 0x556854b35c60] Буфер ALSA xrun.
кадр = 242 кадра в секунду = 5,0 q = 13,0 размер = 21932 кБ время = 00:00:44,23 битрейт = 4061,5 кбит/с скорость = 0,9
кадр = 244 кадра в секунду = 5,0 q = 13,0 размер = 22124 кБ время = 00:00:44,23 битрейт = 4097,1 кбит/с скорость = 0,9
что-то не так?, и мы останавливаем кодировщик, у нас есть информация:
[flv @ 0x5585283c6a40] Не удалось обновить заголовок с правильной продолжительностью.
[flv @ 0x5585283c6a40] Не удалось обновить заголовок с правильным размером файла.
кадр = 428826 кадров в секунду = 5,0 q = -1,0 Lsize = 40706449 КБ время = 23:49:20,70 битрейт = 3888,1 кбит / с скорость = 0,958x
видео: 428826 КБ аудио: 767 КБ субтитры: 0 КБ другие потоки: 0 КБ глобальные заголовки: 0 КБ накладные расходы на мультиплексирование: 0,025860%
[libx264 @ 0x5585283c8200] кадр I: 57274 средний QP: 7,20 размер: 151544
[libx264 @ 0x5585283c8200] кадр P: 263139 Средний QP: 10,57 Размер: 96778
[libx264 @ 0x5585283c8200] кадр B: 108413 Средний размер QP: 10,50: 69423
[libx264 @ 0x5585283c8200] последовательные B-кадры: 63,0% 7,8% 6,5% 22,7%
[libx264 @ 0x5585283c8200] мб 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% пропустить: 2,7%
[libx264 @ 0x5585283c8200] mb B I16..4: 4,2% 2,4% 4,7% B16..8: 23,7% 26,8% 14,9% прямой:14,1% пропуск:9,1% L0:36,9% L1:34,7% BI:28,4%
[libx264 @ 0x5585283c8200] Преобразование 8x8 внутри: 19,5% между: 35,3%
[libx264 @ 0x5585283c8200] закодировано y,uvDC,uvAC внутри: 83,4% 88,7% 85,2% между: 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] Взвешенные P-кадры: Y: 2,6% UV: 1,9%
[libx264 @ 0x5585283c8200] кб/с: 3887,06
[aac @ 0x5585283cc760] Qavg: 65536.000
s710@sensorsip:~$
Сначала мы запускаем ffmpg msg:
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 -preset veryfast -b :v 4000k -maxrate 4000k -bufsize 12000k -g 10 -vf "масштаб=1280:720,формат=yuv420p" -f flv rtmp://localhost/show/stream
ffmpeg версии 3.4.8-0ubuntu0.2 Copyright (c) 2000-2020 разработчики FFmpeg
построен с помощью gcc 7 (Ubuntu 7.5.0-3ubuntu1~18.04)
конфигурация: --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
Угаданная схема расположения каналов для входного потока #0.0: стерео
Введите #0, также, из 'hw:0':
Продолжительность: нет данных, начало: 1635926018.864251, битрейт: 1411 кбит/с
Поток #0:0: Аудио: pcm_s16le, 44100 Гц, стерео, s16, 1411 кбит/с
Вход №1, video4linux2,v4l2, из '/dev/video0':
Продолжительность: нет данных, начало: 89255.399764, битрейт: 165888 кбит/с
Поток #1:0: Видео: rawvideo (YUY2 / 0x32595559), yuyv422, 1920x1080, 165888 кбит/с, 5 кадров в секунду, 5 tbr, 1000k tbn, 1000k tbc
Отображение потока:
Поток #1:0 -> #0:0 (rawvideo (собственный) -> h264 (libx264))
Поток #0:0 -> #0:1 (pcm_s16le (собственный) -> aac (собственный))
Нажмите [q], чтобы остановить, [?] для помощи
[alsa @ 0x5585283b2c60] Буфер ALSA xrun.
[libx264 @ 0x5585283c8200] с использованием возможностей процессора: MMX2 SSE2Fast SSSE3 SSE4.2
[libx264 @ 0x5585283c8200] профиль Высокий, уровень 3.1
[libx264 @ 0x5585283c8200] 264 - core 152 r2854 e9a5903 - кодек H.264/MPEG-4 AVC - Copyleft 2003-2017 - http://www.videolan.org/x264.html - варианты: cabac=1 ref=1 deblock =1:0:0 analyse=0x3:0x113 me=hex subme=2 psy=1 psy_rd=1.00:0.00mixed_ref=0 me_range=16 chroma_me=1 решетка=0 8x8dct=1 cqm=0 deadzone=21,11 fast_pskip= 1 chroma_qp_offset=0 threads=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=1 weightb=1 open_gop=0 weightp =1 keyint=10 keyint_min=1 scenecut=40 intra_refresh=0 rc_lookahead=10 rc=cbr mbtree=1 битрейт=4000 ratetol=1.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 vbv_maxrate=4000 vbv_bufsize=12000 nal_hrd=none filler=0 ip_ratio=1,40 aq=1:1,00
Вывод #0, flv, на «rtmp://localhost/show/stream»:
Метаданные:
кодировщик: Lavf57.83.100
Поток #0:0: Видео: h264 (libx264) ([7][0][0][0] / 0x0007), yuv420p(прогрессив), 1280x720, q=-1--1, 4000 кбит/с, 5 кадр/с, 1к тбн, 5 тбк
Метаданные:
кодировщик: Lavc57.107.100 libx264
Боковые данные:
cpb: битрейт макс/мин/средн: 4000000/0/4000000 размер буфера: 12000000 vbv_delay: -1
Поток #0:1: Аудио: aac (LC) ([10][0][0][0] / 0x000A), 44100 Гц, стерео, fltp, 128 кбит/с
Метаданные:
кодировщик: Lavc57.107.100 aac
[alsa @ 0x5585283b2c60] Блокировка очереди сообщений потока; рассмотрите возможность увеличения параметра thread_queue_size (текущее значение: 8)
Так где же достоверность, а? Аппаратное обеспечение процессора слишком низкое? , мой процессор: Intel i5 Gen 2, Ram 8Gb, SSD 500GB (Futjisu lifebook S Series S710), OS ubuntu 18.4 (я только начал изучать Linux)
Я вижу из VLC захваченный аудиокодек ADTS и статика тоже есть, но звука нет, Если я правильно помню, когда я выключал HLS Server, в последнюю секунду был звук и умирал поток.
Я пытаюсь захватить информацию в VLC следующим образом:
звук кодека, захваченный на VLC
сбор статистики на VLC
если моя проблема в аппаратном аспекте, можно ли добавить карту NVEDIA GPU с помощью аппаратного ускорителя CUDA, можно ли это решить?
мы запускаем aplay -l и v4l2-ctl --list-device msg:
**** Список аппаратных устройств ВОСПРОИЗВЕДЕНИЯ ****
карта 0: MID [HDA Intel MID], устройство 0: ALC269 Analog [ALC269 Analog]
Подустройства: 1/1
Подустройство №0: подустройство №0
карта 0: MID [HDA Intel MID], устройство 3: HDMI 0 [HDMI 0]
Подустройства: 1/1
Подустройство №0: подустройство №0
карта 0: MID [HDA Intel MID], устройство 7: HDMI 1 [HDMI 1]
Подустройства: 1/1
Подустройство №0: подустройство №0
s710@sensorsip:~$ v4l2-ctl --list-device
USB-видео: USB-видео (usb-0000:00:1a.0-1.2):
/dev/video0
USB-видео: USB-видео (usb-0000:00:1a.0-1.3):
/dev/видео1
Веб-камера USB: веб-камера USB (usb-0000:00:1d.0-1.3):
/dev/видео2
мы используем сейчас USB Video 0, используя команду HW: 0
Спасибо за вашу помощь..
с уважением,
Кристиан Хунг