Activation des enregistrements et du streaming Jitsi avec Jibri

Si dans un Article précédent Nous avons vu comment nous pouvions mettre en place notre propre solution de visioconférence pour notre entreprise, Aujourd’hui, nous allons lui donner quelques ajouts, comme la possibilité d’enregistrer les sessions ou de diffuser en direct nos réunions.

Grâce à Jibri, nous pourrons enregistrer sur disque ou dans le cloud les sessions que nous faisons, ainsi que si vous souhaitez faire un live stream et diffuser sur Youtube. Une considération importante sera que nous ne pouvons faire un enregistrement que simultanément ou en streaming, pour en savoir plus, nous devrons créer différents Jibri (par exemple dans des conteneurs).

L’idée est de suivre le post précédent donc on va autoriser cette fonctionnalité intéressante! Nous partons du fait que sur Github L’ensemble du projet est bien documenté, c’est parti avec un Ubuntu 20.04.

Commençons par les bases, Nous devons avoir la version 8 Java, Nous saurons quelle version nous avons en cours d’exécution:

java -version

Dans mon cas, avoir Ubuntu 20.04, Je vois que j’ai la version 11, Vous devez donc rétrograder, Tout d’abord, nous nous assurons d’installer la version 8:

sudo apt-get install openJDK-8-jre sudo apt-get install openjdk-8-jdk

Et lorsque vous exécutez 'update-alternatives –Configuration Java’ Nous pourrons choisir la version de Java que nous utiliserons, Dans mon cas, nous avons choisi le 2:

Il y a 2 Choix de l’alternative Java (Fourniture de /usr/bin/java).

  Statut de priorité du chemin de sélection
------------------------------------------------------------
* 0            /usr/lib/jvm/java-11-openjdk-amd64/bin/java      1111      Mode automatique
  1            /usr/lib/jvm/java-11-openjdk-amd64/bin/java      1111      Mode manuel
  2            /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java   1081      Mode manuel

Nous créons la variable JAVA_HOME avec 'nano ~/.bashrc', Nous l’ajoutons à la fin du fichier, Et après avoir enregistré le fichier, nous quitterons la session et chargerons à nouveau pour confirmer que la variable est chargée (avec un simple 'echo $JAVA_HOME').

export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-amd64/bin/java

Nous installons les dépendances suivantes qui seront nécessaires:

apt update apt install unzip ffmpeg curl alsa-utils icewm xdotool xserver-xorg-input-void xserver-xorg-video-dummy -y

Chargement du module de bouclage ALSA, Nous le forçons à se charger dans le coffre et vérifions que nous l’avons chargé:

ÉCHO "snd-aloop" >> /etc/modules modprobe snd-aloop lsmod | Grep snd_aloop

Nous installons la dernière version stable de Google Chrome:

boucle -sS -o - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key ajouter echo "Deb [arch=amd64] HTTP://dl.google.com/linux/chrome/deb/ principale stable" > /etc/apt/sources.list.d/google-chrome.list mise à jour apt && apt install google-chrome-stable -y

Pour masquer l’avertissement que Chrome supprimera et qui enregistrera la session: “Chrome est contrôlé par un logiciel de test automatisé” Nous l’indiquerons au moyen d’une préférence:

mkdir -p /etc/opt/chrome/policies/managed
echo '{ "CommandLineFlagSecurityWarningsEnabled": Faux }' >>/etc/opt/chrome/policies/managed/managed_policies.json

Nous aurons également besoin de Chromedriver:

CHROME_DRIVER_VERSION='curl -sS chromedriver.storage.googleapis.com/LATEST_RELEASE' wget -N http://chromedriver.storage.googleapis.com/$CHROME_DRIVER_VERSION/chromedriver_linux64.zip -P ~/ unzip ~/chromedriver_linux64.zip -d ~/ rm ~/chromedriver_linux64.zip mv -f ~/chromedriver /usr/local/bin/chromedriver chown root:root /usr/local/bin/chromedriver chmod 0755 /usr/local/bin/chromedriver

Nous avons installé le dépôt Jitsi pour enfin installer Jibri:

wget -qO - https://download.jitsi.org/jitsi-key.gpg.key | Sudo apt-key add -
sh -c "echo 'deb https://download.jitsi.org stable/' > /etc/apt/sources.list.d/jitsi-stable.list"
apt update apt install jibri -y

Nous mettons l’utilisateur Jibri dans les groupes pour avoir accès aux appareils audio ou vidéo:

usermod -aG adm,audio,vidéo,Plugdev Jibri

Ajoutez à la fin du fichier /etc/prosody/conf.avail/meet.domain.eso.cfg.lua ce qui suit:

Composant "internal.auth.meet.domain.eso" "Muc"
    modules_enabled = {
      "Ping";
    }
    stockage = "mémoire"
    muc_room_cache_size = 1000

Hôte virtuel "recorder.meet.domain.eso"
    modules_enabled = {
      "Ping";
    }
    authentification = "internal_plain"

Et nous rechargeons Prosody:

Rechargement de Prosody

Nous créons les deux comptes que Prosody utilisera et nous établissons un mot de passe que nous utiliserons dans peu de temps:

prosodyctl register jibri auth.meet.domain.eso MOT DE PASSE PROSODYCTL REGISTER RECORDER RECORDER.MEET.DOMAIN.ESO MOT DE PASSE

Nous ajoutons ces éléments 2 lignes à la fin de '/etc/jitsi/jicofo/sip-communicator.properties’ para localizar los controladores Jibri:

org.jitsi.jicofo.jibri.BRASSERIE=Ji**********@in******.esous
org.jitsi.jicofo.jibri.PENDING_TIMEOUT = 90

Y recargamos Jicofo:

/etc/init.d/jicofo reload

Descomentamos y dejar así las siguientes líneas en '/etc/jitsi/meet/meet.dominio.eso-config.js’ para habilitar las grabaciones o streaming:

fileRecordingsEnabled: Vrai,
liveStreamingActivé: Vrai,
hiddenDomain: 'recorder.meet.dominio.eso',

Creamos el fichero de configuración de Jibri '/etc/jitsi/jibri/config.json':

{
    "recording_directory":"/SRV/Enregistrements",
    "finalize_recording_script_path": "/chemin/vers/finalize_recording.sh",
    "xmpp_environments": [
        {
            "Nom": "Environnement PROD",
            "xmpp_server_hosts": [
                "meet.dominio.eso"
            ],
            "xmpp_domain": "meet.dominio.eso",
            "control_login": {
                // Domaine à utiliser pour la connexion
                "Domaine": "auth.meet.dominio.eso",
                // Les identifiants de connexion
                "nom d’utilisateur": "Jibri",
                "mot de passe": "MOT DE PASSE"
            },
            "control_muc": {
                "Domaine": "internal.auth.meet.domain.eso",
                "room_name": "Brasserie Jibri",
                "surnom": "surnom de jibri"
            },
            "call_login": {
                "Domaine": "recorder.meet.domain.eso",
                "nom d’utilisateur": "Flûte à bec",
                "mot de passe": "MOT DE PASSE"
            },
            "room_jid_domain_string_to_strip_from_start": "conférence.",
            "usage_timeout": "0"
        }
    ]
}

Nous créons le répertoire où nous allons laisser les enregistrements et nous nous donnons les autorisations, Nous pourrions également les enregistrer dans le cloud ou dans un partage que nous montons sur la machine:

mkdir /srv/recordings chown jibri:jitsi /srv/enregistrements

Nous redémarrons Jitsi:

Service Jibri Redémarrer

Et c’est tout! Nous pouvons essayer de faire une réunion et faire une diffusion en direct ou faire un enregistrement de la réunion.

Au démarrage de l’enregistrement, tous les participants entendront un message indiquant que la session est en cours d’enregistrement et vous pouvez également le vérifier car nous verrons une icône en haut à droite.

Et nous pourrons confirmer que les enregistrements sont laissés dans le répertoire que nous avons indiqué, Dans cet exemple, dans '/srv/recordings/'.

J’espère que, comme toujours,, que vous l’avez trouvé intéressant et merci à tous ceux d’entre vous qui donnent ces likes et recommandations sur les réseaux sociaux.

Articles recommandés

Auteur

nheobug@bujarra.com
Autor del blog Bujarra.com Cualquier necesidad que tengas, N’hésitez pas à me contacter, J’essaierai de vous aider chaque fois que je le pourrai, Partager, c’est vivre ;) . Profiter des documents!!!