Can't playback recordings (and thanks for THIS app in THOSE days)

Howdy comunity, first of all THANK YOU!
Jitsi is playing a big role in this moment in Italy due CoronaVirus (covid-19), allowing some schools that i follow, to continue deliver training to kids

I was able to setup a functional environment but i can’t play back recorded files (error, corrupted file). Server side seems fine (no SEVERE errors in logs, tried jdk11 and 8), client side tried to open the mp4 with several tools with no luck

I’m on 18.04 (2vCPU 4GB) + jitsi stable. Any hint?
Best regards

2 Likes

Can you attach all the Jibri logs from the bad recording?

1 Like

I think I hit the same problem:
This is what file gives

file /srv/recordings/otxfhixoifskfiug/hostilezebrasterminatehigh_2020-03-27-01-57-24.mp4
/srv/recordings/otxfhixoifskfiug/hostilezebrasterminatehigh_2020-03-27-01-57-24.mp4: ISO Media, MP4 Base Media v1 [IS0 14496-12:2003]

This is what ffprobe (or vlc or mpv) gives

ffprobe /srv/recordings/otxfhixoifskfiug/hostilezebrasterminatehigh_2020-03-27-01-57-24.mp4
ffprobe version 4.1.4-1~deb10u1 Copyright © 2007-2019 the FFmpeg developers
built with gcc 8 (Debian 8.3.0-6)
configuration: --prefix=/usr --extra-version=‘1~deb10u1’ --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-avisynth --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-librsvg --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --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-opengl --enable-sdl2 --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libx264 --enable-shared
libavutil 56. 22.100 / 56. 22.100
libavcodec 58. 35.100 / 58. 35.100
libavformat 58. 20.100 / 58. 20.100
libavdevice 58. 5.100 / 58. 5.100
libavfilter 7. 40.101 / 7. 40.101
libavresample 4. 0. 0 / 4. 0. 0
libswscale 5. 3.100 / 5. 3.100
libswresample 3. 3.100 / 3. 3.100
libpostproc 55. 3.100 / 55. 3.100
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x559aa607b1c0] moov atom not found
/srv/recordings/otxfhixoifskfiug/hostilezebrasterminatehigh_2020-03-27-01-57-24.mp4: Invalid data found when processing input

This is the tail of the log (just after hitting the stop button):

2020-03-27 02:00:45.943 FINE: [60] org.jitsi.jibri.statsd.JibriStatsDClient.incrementCounter() Incrementing statsd counter: stop:recording
2020-03-27 02:00:45.943 INFO: [60] org.jitsi.jibri.JibriManager.stopService() Stopping the current service
2020-03-27 02:00:45.944 INFO: [60] org.jitsi.jibri.service.impl.FileRecordingJibriService.stop() Stopping capturer
2020-03-27 02:00:45.944 INFO: [60] org.jitsi.jibri.util.JibriSubprocess.ffmpeg.stop() Stopping ffmpeg process
2020-03-27 02:00:55.947 SEVERE: [60] org.jitsi.jibri.util.JibriSubprocess.ffmpeg.stop() Error trying to gracefully stop ffmpeg, destroying forcibly
2020-03-27 02:00:55.953 INFO: [60] org.jitsi.jibri.util.JibriSubprocess.ffmpeg.stop() ffmpeg exited with value 137
2020-03-27 02:00:55.954 INFO: [60] org.jitsi.jibri.service.impl.FileRecordingJibriService.stop() Quitting selenium
2020-03-27 02:00:55.969 INFO: [60] org.jitsi.jibri.service.impl.FileRecordingJibriService.stop() Participants in this recording:
2020-03-27 02:00:56.044 INFO: [60] org.jitsi.jibri.selenium.JibriSelenium.leaveCallAndQuitBrowser() Got 12 log entries for type browser
2020-03-27 02:00:56.199 INFO: [60] org.jitsi.jibri.selenium.JibriSelenium.leaveCallAndQuitBrowser() Got 1279 log entries for type driver
2020-03-27 02:00:56.447 INFO: [60] org.jitsi.jibri.selenium.JibriSelenium.leaveCallAndQuitBrowser() Got 0 log entries for type client
2020-03-27 02:00:56.447 INFO: [60] org.jitsi.jibri.selenium.JibriSelenium.leaveCallAndQuitBrowser() Leaving web call
2020-03-27 02:00:56.704 INFO: [60] org.jitsi.jibri.selenium.JibriSelenium.leaveCallAndQuitBrowser() Quitting chrome driver
2020-03-27 02:00:56.783 INFO: [60] org.jitsi.jibri.selenium.JibriSelenium.leaveCallAndQuitBrowser() Chrome driver quit
2020-03-27 02:00:56.783 INFO: [60] org.jitsi.jibri.service.impl.FileRecordingJibriService.stop() Finalizing the recording
2020-03-27 02:00:56.788 INFO: [60] org.jitsi.jibri.service.impl.FileRecordingJibriService.finalize() Recording finalize script finished with exit value 0
2020-03-27 02:00:56.789 INFO: [60] org.jitsi.jibri.status.JibriStatusManager.log() Busy status has changed: BUSY -> IDLE

I’ve read on some other threads that recording does not works only with java8 (didn;t try that yet, no java8 on debian buster).

Yes, make sure you use java 8. We recently pushed some changes to (hopefully) support up to java 11, but we’re not running with that yet. If you still see the problem with java 8 please attach all the Jibri logs.

that is what I’m trying to do … build an openjdk-8 package for debian buster.

I confirme using openjdk-8 works.
May be addin a hard dependency on openjdk-8 and provinding a package if not available (no openjdk8 for debian, had to build it from source, used this to bootstrap https://adoptopenjdk.net/installation.html?variant=openjdk8&jvmVariant=hotspot#linux-pkg) would help ?

1 Like

if you running Jitsi meet/jicofo/VideoBride on same server with Jibri, you need to maintain java version

by default you can use java 11 but dont forget to install java 8 only for jibri

root@meet:~# update-alternatives --config java
There are 2 choices for the alternative java (providing /usr/bin/java).

  Selection    Path                                            Priority   Status
------------------------------------------------------------
* 0            /usr/lib/jvm/java-11-openjdk-amd64/bin/java      1111      auto mode
  1            /usr/lib/jvm/java-11-openjdk-amd64/bin/java      1111      manual mode
  2            /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java   1081      manual mode
root@meet:~# java -version
openjdk version "11.0.6" 2020-01-14

on file : /opt/jitsi/jibri/launch.sh
edit like bellow:

exec /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java -Djava.util.logging.config.file=/etc/jitsi/jibri/logging.properties -jar /opt/jitsi/jibri/jibri.jar --config “/etc/jitsi/jibri/config.json”

2 Likes

Thank you for this. It solved my issue as well.