Recording Unavailable - AWS

I have edited the finalize_recording.sh file to copy the recordings from the jibri server to another ec2 server.

Here is the script:

#!/bin/bash
scp -r -i /root/sxcs2.pem /var/www/lectures/videos/* ubuntu@172.31.20.65:/opt/bitnami/apps/moodle/htdocs/video_modules/lectures
exit 0

I can run the script as root, but not as a regular user like ubuntu or jibri.

I am getting this error fron log:

2019-08-23 15:19:50.149 INFO: [35] org.jitsi.jibri.service.impl.FileRecordingJibriService.stop() Finalizing the recording
2019-08-23 15:19:50.166 INFO: [49] org.jitsi.jibri.service.impl.FileRecordingJibriService.call() Warning: Identity file /root/sxcs2.pem not accessible: Permission denied.
2019-08-23 15:19:50.168 INFO: [49] org.jitsi.jibri.service.impl.FileRecordingJibriService.call() Host key verification failed.
2019-08-23 15:19:50.168 INFO: [49] org.jitsi.jibri.service.impl.FileRecordingJibriService.call() lost connection
2019-08-23 15:19:50.168 INFO: [35] org.jitsi.jibri.service.impl.FileRecordingJibriService.finalize() Recording finalize script finished with exit value 0
2019-08-23 15:19:50.168 INFO: [35] org.jitsi.jibri.status.JibriStatusManager.log() Busy status has changed: BUSY -> IDLE

solved.

added jibri user to sudo group and then followed this -

Is there any way the recorded videos are not stored in individual folders but in the root of the rec. folder?

I don’t need the meta json file for each video.

I only want the recorded videos to be stored as mp4 files in the root of the folder.

Not without changing jibri.

How?

  1. How much total bandwidth does Jitsi live streaming consumes?

  2. What is the total bitrate of Jitsi live streaming?

  3. Can I measure this during live stream?

  4. Can I change the bitrate somewhere in Jitsi config?

  5. What should be my ISP upload speed for a smooth live streaming?

This is my speedtest:

8539099973

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.

https://community.jitsi.org/t/installation-instructions-video-recording-w-jitsi-jibri-on-same-server/17343

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: [64] 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

  java -version
     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.

Note

  1. 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.
  2. 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.
  3. 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.

is there any solution for this case?

Just customize the bash script run at the end of every meeting.

  • delete the json files
  • move all mp4 files to the root recording folder.

Regards

1 Like