FFmpeg error

Hi, I’m tkfka8989,

I installed and configured the Jitsi meet(including jibri) at my Linux machine(Ubuntu 20.04 & 18.04).

It’s working good the WebRTC meeting function, but we got the recording function while meeting. I saw the errors log from jibri, the errors are as below. The error look like draw_mouse option, so i check and re-install the ffmpeg according to installation guides by googling.

So I ran the ffmpeg command with debug option at shell for the detail errors. but i saw the error is “xcb_connection_has_error”. I try to find this error with googling, but we don’t find what is problem.

Would you comment and check up my error issue ?

Best Regards, Billy Baek

<< jibri log >>

2022-06-07 08:50:14.630 INFO: [266] JibriManager.startFileRecording#138: Starting a file recording with params: FileRecordingRequestParams(callParams=CallParams(callUrlInfo=CallUrlInfo(baseUrl=https://mm.miraeson.com, callName=mrsbilly, urlParams=), email=’’, passcode=null, callStatsUsernameOverride=, displayName=), sessionId=zekyzjrqmrrqlvrh, callLoginParams=XmppCredentials(domain=recorder.mm.miraeson.com, port=null, username=recorder, password=*****)) 2022-06-07 08:50:14.631 FINE: [266] [session_id=zekyzjrqmrrqlvrh] FfmpegCapturer.#88: Detected os as OS: LINUX 2022-06-07 08:50:15.382 INFO: [266] org.openqa.selenium.remote.ProtocolHandshake.createSession: Detected dialect: OSS 2022-06-07 08:50:15.392 INFO: [266] [session_id=zekyzjrqmrrqlvrh] FileRecordingJibriService.#134: Writing recording to /srv/recordings/zekyzjrqmrrqlvrh, finalize script path /opt/jitsi/jibri/finalize.sh 2022-06-07 08:50:15.393 FINE: [266] JibriStatsDClient.incrementCounter#38: Incrementing statsd counter: start:recording 2022-06-07 08:50:15.394 INFO: [266] JibriStatusManager$$special$$inlined$observable$1.afterChange#72: Busy status has changed: IDLE → BUSY 2022-06-07 08:50:15.394 FINE: [266] WebhookClient$updateStatus$1.invokeSuspend#107: Updating 0 subscribers of status 2022-06-07 08:50:15.395 INFO: [266] XmppApi.updatePresence#203: Jibri reports its status is now JibriStatus(busyStatus=BUSY, health=OverallHealth(healthStatus=HEALTHY, details={})), publishing presence to connections 2022-06-07 08:50:15.396 INFO: [266] XmppApi.handleStartJibriIq#275: Sending ‘pending’ response to start IQ 2022-06-07 08:50:15.446 INFO: [282] AbstractPageObject.visit#32: Visiting url https://mm.miraeson.com 2022-06-07 08:50:17.227 INFO: [282] AbstractPageObject.visit#38: Waited 1.78s for driver to load page 2022-06-07 08:50:17.277 INFO: [282] AbstractPageObject.visit#32: Visiting url https://mm.miraeson.com/mrsbilly#config.iAmRecorder=true&config.externalConnectUrl=null&config.startWithAudioMuted=true&config.startWithVideoMuted=true&interfaceConfig.APP_NAME=“Jibri”&config.analytics.disabled=true&config.p2p.enabled=false&config.prejoinPageEnabled=false&config.prejoinConfig.enabled=false&config.requireDisplayName=false 2022-06-07 08:50:18.434 INFO: [282] AbstractPageObject.visit#38: Waited 1.16s for driver to load page 2022-06-07 08:50:18.610 FINE: [282] CallPage$visit$$inlined$measureTimedValue$lambda$1.apply#58: Not joined yet: Cannot read property ‘isJoined’ of undefined 2022-06-07 08:50:19.122 FINE: [282] CallPage$visit$$inlined$measureTimedValue$lambda$1.apply#58: Not joined yet: Cannot read property ‘isJoined’ of undefined 2022-06-07 08:50:19.665 INFO: [282] CallPage.visit#71: Waited 1.23s to join the conference 2022-06-07 08:50:19.666 INFO: [282] [session_id=zekyzjrqmrrqlvrh] EmptyCallStatusCheck.#26: Starting empty call check with a timeout of PT30S 2022-06-07 08:50:19.694 INFO: [282] [session_id=zekyzjrqmrrqlvrh] JibriSelenium.onSeleniumStateChange#215: Transitioning from state Starting up to Running 2022-06-07 08:50:19.694 INFO: [282] [session_id=zekyzjrqmrrqlvrh] FileRecordingJibriService$start$1.invoke#168: Selenium joined the call, starting the capturer 2022-06-07 08:50:19.722 INFO: [282] [session_id=zekyzjrqmrrqlvrh] JibriSubprocess.launch#42: Starting ffmpeg with command ffmpeg -y -v info -f x11grab -draw_mouse 0 -r 30 -s 640x480 -thread_queue_size 4096 -i :0.0+0,0 -f alsa -thread_queue_size 4096 -i plug:dsnoop -acodec aac -strict -2 -ar 44100 -b:a 128k -af aresample=async=1 -c:v libx264 -preset veryfast -profile:v main -level 3.1 -pix_fmt yuv420p -r 30 -crf 25 -g 60 -tune zerolatency -f mp4 /srv/recordings/zekyzjrqmrrqlvrh/mrsbilly_2022-06-07-08-50-15.mp4 ([ffmpeg, -y, -v, info, -f, x11grab, -draw_mouse, 0, -r, 30, -s, 640x480, -thread_queue_size, 4096, -i, :0.0+0,0, -f, alsa, -thread_queue_size, 4096, -i, plug:dsnoop, -acodec, aac, -strict, -2, -ar, 44100, -b:a, 128k, -af, aresample=async=1, -c:v, libx264, -preset, veryfast, -profile:v, main, -level, 3.1, -pix_fmt, yuv420p, -r, 30, -crf, 25, -g, 60, -tune, zerolatency, -f, mp4, /srv/recordings/zekyzjrqmrrqlvrh/mrsbilly_2022-06-07-08-50-15.mp4]) 2022-06-07 08:50:24.726 FINE: [18] [session_id=zekyzjrqmrrqlvrh] ProcessStatePublisher$startProcessAliveChecks$1.invoke#86: Process ffmpeg hasn’t written in 2 seconds, publishing periodic update 2022-06-07 08:50:24.726 INFO: [285] [session_id=zekyzjrqmrrqlvrh] FfmpegCapturer.onFfmpegProcessUpdate#121: Ffmpeg quit abruptly. Last output line: Option draw_mouse not found. 2022-06-07 08:50:24.727 INFO: [285] [session_id=zekyzjrqmrrqlvrh] FfmpegCapturer.onFfmpegStateMachineStateChange#130: Ffmpeg capturer transitioning from state Starting up to Error: QuitUnexpectedly SESSION Option draw_mouse not found. 2022-06-07 08:50:24.727 INFO: [285] [session_id=zekyzjrqmrrqlvrh] StatefulJibriService.onServiceStateChange#39: File recording service transitioning from state Starting up to Error: QuitUnexpectedly SESSION Option draw_mouse not found.

<<< end of Jibri log >>>

<<< ffmpeg errror at command line with debug log option >>> root@miraeson:~# /usr/bin/ffmpeg \

-y -v debug -f x11grab -draw_mouse 0 -r 30 -s 640x480 -thread_queue_size 4096 \ -f alsa -thread_queue_size 4096 \ -i plug:dsnoop -acodec aac -strict -2 -ar 44100 -b:a 128k -af aresample=async=1 -c:v libx264 -preset veryfast \ -profile:v main -level 3.1 -pix_fmt yuv420p -r 30 -crf 25 -g 60 -tune zerolatency\ -f mp4 /srv/recordings/mrsbilly_2022-06-02-10-46-54.mp4 ffmpeg version 4.3.2-0york0~18.04 Copyright (c) 2000-2021 the FFmpeg developers built with gcc 7 (Ubuntu 7.5.0-3ubuntu1~18.04) configuration: --prefix=/usr --extra-version=‘0york0~18.04’ --toolchain=hardened --libdir=/usr/lib/x86_64-linux-gnu --incdir=/usr/include/x86_64-linux-gnu --arch=amd64 --enable-gpl --disable-stripping --enable-avresample --disable-filter=resample --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librabbitmq --enable-librsvg --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libtheora --enable-libtwolame --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --enable-libzimg --enable-pocketsphinx --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared libavutil 56. 51.100 / 56. 51.100 libavcodec 58. 91.100 / 58. 91.100 libavformat 58. 45.100 / 58. 45.100 libavdevice 58. 10.100 / 58. 10.100 libavfilter 7. 85.100 / 7. 85.100 libavresample 4. 0. 0 / 4. 0. 0 libswscale 5. 7.100 / 5. 7.100 libswresample 3. 7.100 / 3. 7.100 libpostproc 55. 7.100 / 55. 7.100 Splitting the commandline. Reading option ‘-y’ … matched as option ‘y’ (overwrite output files) with argument ‘1’. Reading option ‘-v’ … matched as option ‘v’ (set logging level) with argument ‘debug’. Reading option ‘-f’ … matched as option ‘f’ (force format) with argument ‘x11grab’. Reading option ‘-draw_mouse’ … matched as AVOption ‘draw_mouse’ with argument ‘0’. Reading option ‘-r’ … matched as option ‘r’ (set frame rate (Hz value, fraction or abbreviation)) with argument ‘30’. Reading option ‘-s’ … matched as option ‘s’ (set frame size (WxH or abbreviation)) with argument ‘640x480’. Reading option ‘-thread_queue_size’ … matched as option ‘thread_queue_size’ (set the maximum number of queued packets from the demuxer) with argument ‘4096’. Reading option ‘-f’ … matched as option ‘f’ (force format) with argument ‘alsa’. Reading option ‘-thread_queue_size’ … matched as option ‘thread_queue_size’ (set the maximum number of queued packets from the demuxer) with argument ‘4096’. Reading option ‘-i’ … matched as input url with argument ‘plug:dsnoop’. Reading option ‘-acodec’ … matched as option ‘acodec’ (force audio codec (‘copy’ to copy stream)) with argument ‘aac’. Reading option ‘-strict’ …Routing option strict to both codec and muxer layer matched as AVOption ‘strict’ with argument ‘-2’. Reading option ‘-ar’ … matched as option ‘ar’ (set audio sampling rate (in Hz)) with argument ‘44100’. Reading option ‘-b:a’ … matched as option ‘b’ (video bitrate (please use -b:v)) with argument ‘128k’. Reading option ‘-af’ … matched as option ‘af’ (set audio filters) with argument ‘aresample=async=1’. Reading option ‘-c:v’ … matched as option ‘c’ (codec name) with argument ‘libx264’. Reading option ‘-preset’ … matched as AVOption ‘preset’ with argument ‘veryfast’. Reading option ‘-profile:v’ … matched as option ‘profile’ (set profile) with argument ‘main’. Reading option ‘-level’ … matched as AVOption ‘level’ with argument ‘3.1’. Reading option ‘-pix_fmt’ … matched as option ‘pix_fmt’ (set pixel format) with argument ‘yuv420p’. Reading option ‘-r’ … matched as option ‘r’ (set frame rate (Hz value, fraction or abbreviation)) with argument ‘30’. Reading option ‘-crf’ … matched as AVOption ‘crf’ with argument ‘25’. Reading option ‘-g’ … matched as AVOption ‘g’ with argument ‘60’. Reading option ‘-tune’ … matched as AVOption ‘tune’ with argument ‘zerolatency’. Reading option ‘-f’ … matched as option ‘f’ (force format) with argument ‘mp4’. Reading option ‘/srv/recordings/mrsbilly_2022-06-02-10-46-54.mp4’ … matched as output url. Finished splitting the commandline. Parsing a group of options: global . Applying option y (overwrite output files) with argument 1. Applying option v (set logging level) with argument debug. Successfully parsed a group of options. Parsing a group of options: input url plug:dsnoop. Applying option f (force format) with argument x11grab. Applying option r (set frame rate (Hz value, fraction or abbreviation)) with argument 30. Applying option s (set frame size (WxH or abbreviation)) with argument 640x480. Applying option thread_queue_size (set the maximum number of queued packets from the demuxer) with argument 4096. Applying option f (force format) with argument alsa. Applying option thread_queue_size (set the maximum number of queued packets from the demuxer) with argument 4096. Successfully parsed a group of options. Opening an input file: plug:dsnoop. xcb_connection_has_error() returned true Option draw_mouse not found.

<<< end of ffmpeg error log >>>