Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

FFMPEG problems with real-time buffer

Tags:

ffmpeg

I'm trying to use FFMPEG (Windows) to encode a stream from a video capture card via dshow and send to a RTMP server. THis is my command line;

    ffmpeg -f dshow -i video="AVerMedia BDA Analog Capture Secondary":audio="Microphone (6- C-Media USB Audi" -vf scale=1280:720 -vcodec libx264 -r 30 -rtbufsize 702000k -acodec mp3 -ac 2 -ar 44100 -ab 128k -pix_fmt yuv420p -tune zerolatency -preset ultrafast -f flv "rtmp://xxx.xxx.xxx.xxx/stream/key"        ffmpeg version N-86950-g1bef008 Copyright (c) 2000-2017 the FFmpeg developers
    built with gcc 7.1.0 (GCC)
    configuration: --enable-gpl --enable-version3 --enable-cuda --enable-cuvid --enable-d3d11va --enable-dxva2 --enable-libmfx --enable-nvenc --enable-avisynth --enable-bzlib --enable-fontconfig --enable-frei0r --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libbs2b --enable
    -libcaca --enable-libfreetype --enable-libgme --enable-libgsm --enable-libilbc --enable-libmodplug --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenh264 --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libsnappy --enable-libsoxr --enable-libspe
    ex --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxavs --enable-libxvid --enable-libzimg --enable-lzma --enable-zlib
    libavutil      55. 70.100 / 55. 70.100
    libavcodec     57.102.100 / 57.102.100
    libavformat    57. 76.100 / 57. 76.100
    libavdevice    57.  7.100 / 57.  7.100
    libavfilter     6. 98.100 /  6. 98.100
    libswscale      4.  7.102 /  4.  7.102
    libswresample   2.  8.100 /  2.  8.100
    libpostproc    54.  6.100 / 54.  6.100
    Guessed Channel Layout for Input Stream #0.1 : stereo
    Input #0, dshow, from 'video=AVerMedia BDA Analog Capture Secondary:audio=Microphone (6- C-Media USB Audi':
    Duration: N/A, start: 2035.202000, bitrate: N/A
    Stream #0:0: Video: rawvideo (YUY2 / 0x32595559), yuyv422, 720x480, 29.97 fps, 29.97 tbr, 10000k tbn, 10000k tbc
    Stream #0:1: Audio: pcm_s16le, 44100 Hz, stereo, s16, 1411 kb/s
    [dshow @ 00000000005f90e0] real-time buffer [AVerMedia BDA Analog Capture Secondary] [video input] too full or near too full (68% of size: 3041280 [rtbufsize parameter])! frame dropped!
    [dshow @ 00000000005f90e0] real-time buffer [AVerMedia BDA Analog Capture Secondary] [video input] too full or near too full (90% of size: 3041280 [rtbufsize parameter])! frame dropped!
    [dshow @ 00000000005f90e0] real-time buffer [AVerMedia BDA Analog Capture Secondary] [video input] too full or near too full (113% of size: 3041280 [rtbufsize parameter])! frame dropped!
    Last message repeated 46 times
    Stream mapping:
    Stream #0:0 -> #0:0 (rawvideo (native) -> h264 (libx264))
    Stream #0:1 -> #0:1 (pcm_s16le (native) -> mp3 (libmp3lame))
    Press [q] to stop, [?] for help
    [dshow @ 00000000005f90e0] real-time buffer [AVerMedia BDA Analog Capture Secondary] [video input] too full or near too full (113% of size: 3041280 [rtbufsize parameter])! frame dropped!
    [libx264 @ 0000000005b16640] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
    [libx264 @ 0000000005b16640] profile Constrained Baseline, level 3.1
    [libx264 @ 0000000005b16640] 264 - core 152 r2851 ba24899 - H.264/MPEG-4 AVC codec - Copyleft 2003-2017 - 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=2
    1,11 fast_pskip=1 chroma_qp_offset=0 threads=11 lookahead_threads=11 sliced_threads=1 slices=11 nr=0 decimate=1 interlaced=0 bluray_compat=0 constrained_intra=0 bframes=0 weightp=0 keyint=250 keyint_min=25 scenecut=0 intra_refresh=0 rc=crf mbtree=0 crf=23.0 qcomp=0.60 qpmin=0 qpmax=69 qpstep=4 ip_ra
    tio=1.40 aq=0
    [dshow @ 00000000005f90e0] real-time buffer [AVerMedia BDA Analog Capture Secondary] [video input] too full or near too full (113% of size: 3041280 [rtbufsize parameter])! frame dropped!
    Past duration 0.999992 too large

The buffer too full message are non-stop. I can use Open Broadcast Software (OBS) and stream with no problem (I'm pretty sure it also uses ffmpeg), so I'm doing something wrong.

like image 533
Charles Kiel Avatar asked Jan 29 '23 19:01

Charles Kiel


1 Answers

Increase the input buffer size.

ffmpeg -f dshow -rtbufsize 100M -i ...
like image 182
Gyan Avatar answered Feb 27 '23 01:02

Gyan