Я намагаюся потік мій робочий стіл на сервер rtmp facebook за допомогою екран-захоплення-рекордер:
ffmpeg -re -rtbufsize 256M -f dshow -i audio="Mikrofon (Realtek Audio)"
-rtbufsize 256M -f dshow -i audio="virtual-audio-capturer"
-rtbufsize 1024M -f dshow -i video=screen-capture-recorder -r 30
-filter:v scale=1280:720 -c:v h264_nvenc -pix_fmt yuv420p -preset fast
-b:v 8M -maxrate:v 10M -c:a aac -b:a 128k -ar 44100
-f flv rtmp://live-api.facebook.com:80/rtmp/..............
Я використовую h264_nvenc кодека для прискорення gpu, але я можу потоку в rtmp тільки 12-18 кадрів в секунду. Однак, коли я передаваю файл у файл:
ffmpeg -re -rtbufsize 256M -f dshow -i audio="Mikrofon (Realtek Audio)"
-rtbufsize 256M -f dshow -i audio="virtual-audio-capturer"
-rtbufsize 1024M -f dshow -i video=screen-capture-recorder -r 30
-filter:v scale=1280:720 -c:v h264_nvenc -pix_fmt yuv420p -preset fast
-b:v 8M -maxrate:v 10M -c:a aac -b:a 128k -ar 44100
D:\test.mp4 -y
Я отримую 30 кадрів в секунду без проблем, навіть коли граю в гру (наприклад, виклик чергового 6, симпатичний HW зливання).
Крім того, при запуску потоку (до rtmp), через деякий час я отримую цю помилку, хоча мій -rtbufsize розмір 1024M, який я вважаю досить великим, і багато кадрів втрачаються:
real-time buffer too full or near too full! frame dropped!
Чи можете ви допомогти мені, як запобігти rtbufsize помилку, і чи можна змінити мою команду, щоб я міг потік в rtmp при 30 кадрів в секунду? Дякую
Якщо потрібно, мій конфігурація збірки ffmpeg:
ffmpeg version 3.3.3 Copyright (c) 2000-2017 розробники FFmpeg побудований з gcc 7.1.0 (GCC) конфігурація: --disable-static --enable-shared --enable-gpl --доступна-версія3 --enable-cuda --доступна-cuvid --enable-d3d11va --enable-dxva2 --enable-libmfx --enable -nvenc --enable-avisynth --enable-bzlib --enable-fontconfig --доступний-вільний -enable-gnutls -enable-iconv -enable-libass -enable-libbluray --enable-libbs2b -libcaca --enable-libfreetype --enable-libgme --enable-libgsm -enable-libilbc -enable-libmodplug --enable-libmp3lame -enable-libopencore -mnbb -enable-libopencore-amrwb -enable- libopenh264 --enable-libopenjpeg --enable-libopus --enable-librtmp -enable-libsnappy -enable-libsoxr -enable-libspeex --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