I had exactly same issue. Here is the solution.
I was using Ubuntu 18.04 64 bit on AWS EC2 Instance. I installed jitsi-meet first on same instance using this tutorial.
Search jitsi-meet installation on ubuntu 16.04, I can not post two links
There were some issues but this thread is not for those so I am not going to mention those.
Once Conference started successfully, next requirement was to record a conference with audio and video successfully.
I found, I will have to install Jibri to achieve this. Here is the guide from where I installed jibri
Search ‘‘github jitsi/jibri infrastructure’’, open first link.
Definitely there were some configuration issues but I resolved them after searching solutions.
This is the good configuration video I followed it closely and solved some Jibri issues.
Now I had this one issue, the video file was getting created but there was no video and no audio. It can not be played in any player. Although size of the video was correct but there were no codecs in the file, neither video, nor audio. I got no error in jicofo or jvb log. ffmpeg log was showing process lines to create mp4 file but there was no error. I got one error in jibri logs
INFO:  org.jitsi.jibri.util.JibriSubprocess.ffmpeg.stop() ffmpeg exited with value 137
and when I checked the file using ffmpeg,
ffmpeg -i filename.mp4
I got error
*moov* atom *not* found
Then I found the solution, It was my Java version. I got java 11 on my system
openjdk 11.0.7 2020-04-14
OpenJDK Runtime Environment (build 11.0.7+10-post-Ubuntu-2ubuntu218.04)
OpenJDK 64-Bit Server VM (build 11.0.7+10-post-Ubuntu-2ubuntu218.04, mixed mode, sharing)
I had to downgrade to Java 8. I followed these steps
sudo apt-get install openjdk-8-jdk
sudo apt-get install openjdk-8-jre
Then executed command
sudo update-alternatives --config java
I got this output and, It was asking me to choose java version.
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
I entered 2 and then my java was downgraded to java 8
openjdk version "1.8.0_252"
OpenJDK Runtime Environment (build 1.8.0_252-8u252-b09-1~18.04-b09)
OpenJDK 64-Bit Server VM (build 25.252-b09, mixed mode)
Now I restarted, jitsi videobridge, prosody, jicofo, nginx and jibri
sudo /etc/init.d/jitsi-videobridge2 restart
sudo /etc/init.d/prosody restart
sudo /etc/init.d/jicofo restart
sudo /etc/init.d/nginx restart
sudo service jibri restart
and did the recording again. This time I got audio and video codec in mp4 file and it was playing fine in every player.
I hope this will help to solve recording issue.
- Tutorial suggest that there should be two servers for jitsi-meet and jibri setup. It must be better for effciency but because of restriction, I set them every thing in one server and it works fine so if you are not able to solve any error and you think, it may be because of one server that’s not true. Everything can be worked in one system.
- If you are thinking it must be Desktop system and it can not be installed on aws or google servers because it needed chrome and it must be need display too, that is not true again, it can be done on aws ec2 instance, if you have followed the tutorial closely, you have already installed x-server and other dependencies.
- If you are thinking it must be aws bigger server, some 16/32GB RAM, that is not true again, I have recoded conference on 2 GB server (I gave 4 GB swap space), there may be effcienecy, performance, loading issue but recording file is created fine.
You may face issue in multiple conferences or single conference with 20-24 people, your browser may be crashed but it gives output, recording file must be created.