Zulassen von Aufnahmen und Streaming in Jitsi mit Jibri

Wenn in einem nach anteriorer Wir haben gesehen, wie wir unsere eigene Videokonferenzlösung für unser Unternehmen entwickeln können, Heute werden wir Ihnen einige Ergänzungen geben, B. die Möglichkeit, Sitzungen aufzuzeichnen oder unsere Besprechungen live zu streamen.

Über Jibri können wir die Sitzungen, die wir durchführen, auf der Festplatte oder in der Cloud aufzeichnen, sowie wenn Sie live und auf YouTube senden möchten. Eine wichtige Überlegung wird sein, dass wir nur eine Aufnahme gleichzeitig oder ein Streaming machen können, für mehr, Wir müssen verschiedene Jibris erstellen (zum Beispiel in Containern).

Die Idee ist, dem vorherigen Beitrag zu folgen, damit wir diese interessante Funktionalität zulassen! Wir fangen damit an und Github Das gesamte Projekt ist gefunden und perfekt dokumentiert, hier gehen wir mit einem Ubuntu 20.04.

Wir beginnen mit den Grundlagen, Wir müssen die Version haben 8 das Java, Wir werden die Version kennen, die wir haben:

Java-Version

In meinem Fall, mit Ubuntu 20.04, Ich sehe, dass ich die Version habe 11, Sie müssen also ein Downgrade durchführen, primero aseguramos instalar la versión 8:

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

Y al ejecutar ‘update-alternativesconfig javapodremos elegir la versión de java que usaremos, en mi caso elegimos la 2:

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

Creamos la variable JAVA_HOME con ‘nano ~/.bashrc’, la añadimos al final del fichero, y tras grabar el fichero saldremos de sesión y volveremos a cargar para confirmar que la variable se carga (con un simple ‘echo $JAVA_HOME’).

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

Wir installieren die folgenden Abhängigkeiten, die notwendig sein werden:

passendes Update
apt install entpacke ffmpeg curl alsa-utils icewm xdotool xserver-xorg-input-void xserver-xorg-video-dummy -y

Wir laden das ALSA-Loopback-Modul, Wir erzwingen das Laden im Boot und überprüfen, ob wir es geladen haben:

Echo "und aloop" >> /etc / modules
modprobe snd-aloop
lsmod | grep snd_aloop

Wir installieren die neueste stabile Version von Google Chrome:

locken -sS -o - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key hinzufügen
Echo "deb [arch = amd64] http://dl.google.com/linux/chrome/deb/ Stable Main" > /etc / apt / sources.list.d / google-chrome.list
passendes Update && apt installiere Google-Chrome-Stable -y

Um die Warnung auszublenden, dass Chrome uns veranlasst, die Sitzung aufzuzeichnen: “Chrome wird von einer automatisierten Testsoftware gesteuert” lo indicaremos mediante una preferencia:

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

También necesitaremos 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

Instalamos el repositorio de Jitsi para instalar Jibri finalmente:

wget -qO - https://download.jitsi.org/jitsi-key.gpg.key | sudo apt-key hinzufügen -
sh-c "echo 'deb https://download.jitsi.org stabil / ' > /etc / apt / sources.list.d / jitsi-stabile.liste"
apt update
apt install jibri -y

Metemos al usuario de Jibri en los grupos para tener acceso a los dispositivos de audio o video:

usermod -aG adm,Audio-,Video,plugdev jibri

Añadimos al final del fichero /etc/prosody/conf.avail/meet.dominio.eso.cfg.lua lo siguiente:

Component "internal.auth.meet.dominio.eso" "muc"
    modules_enabled = {
      "Klingeln";
    }
    storage = "Erinnerung"
    muc_room_cache_size = 1000

Virtual "recorder.meet.dominio.eso"
    modules_enabled = {
      "Klingeln";
    }
    authentication = "internal_plain"

Y recargamos Prosody:

prosody reload

Creamos las dos cuentas que utilizará Prosody y les establecemos una contraseña que usaremos en un ratito:

prosodyctl register jibri auth.meet.dominio.eso CONTRASEÑA
prosodyctl register recorder recorder.meet.dominio.eso CONTRASEÑA

Añadimos estas 2 linas al final de ‘/etc/jitsi/jicofo/sip-communicator.propertiespara localizar los controladores Jibri:

orG.jitsi.jichcdiefdie.jichbri.BREWERund=JibriBrewery@internal.ainth.meet.dominicho.eso
org.jitsi.jicofo.jibri.PENDING_TIMEOUT=90

Y recargamos Jicofo:

/etc/init.d/jicofo reload

Wir kommentieren und lassen die folgenden Zeilen in ‘/etc/jitsi/meet/meet.dominio.eso-config.js’ um Aufnahmen oder Streaming zu aktivieren:

fileRecordingsEnabled: wahr,
liveStreamingEnabled: wahr,
hiddenDomain: 'recorder.meet.domain.eso',

Wir erstellen die Jibri-Konfigurationsdatei "/etc/jitsi/jibri/config.json".:

{
    "Aufzeichnungsverzeichnis":"/srv / aufnahmen",
    "finalize_recording_script_path": "/Pfad / zu / finalize_recording.sh",
    "xmpp_environments": [
        {
            "Name": "Produktumgebung",
            "xmpp_server_hosts": [
                "meet.domain.it"
            ],
            "xmpp_domain": "meet.domain.it",
            "control_login": {
                // Die Domäne, die zum Anmelden verwendet werden soll
                "Domain": "auth.meet.domain.eso",
                // Die Anmeldeinformationen für die Anmeldung
                "Nutzername": "Jibri",
                "Passwort": "PASSWORT"
            },
            "control_muc": {
                "Domain": "internal.auth.meet.dominio.eso",
                "Raumname": "JibriBrewery",
                "Spitzname": "Jibri-Spitzname"
            },
            "call_login": {
                "Domain": "recorder.meet.dominio.eso",
                "Nutzername": "Recorder",
                "Passwort": "PASSWORT"
            },
            "room_jid_domain_string_to_strip_from_start": "Konferenz.",
            "usage_timeout": "0"
        }
    ]
}

Wir erstellen das Verzeichnis, in dem wir die Aufnahmen hinterlassen, und geben uns selbst Berechtigungen, Wir könnten sie auch in der Cloud oder in einer Freigabe speichern, die wir auf dem Computer bereitstellen:

mkdir / srv / recordings
Chown Jibri:jitsi / srv / aufnahmen

Wir starten Jitsi neu:

Service Jibri Neustart

und bereit! Wir können versuchen, ein Meeting und eine Live-Übertragung durchzuführen oder das Meeting aufzuzeichnen.

Zu Beginn der Aufzeichnung hören alle Teilnehmer eine Meldung, dass die Sitzung aufgezeichnet wird, und sie kann auch überprüft werden, da oben rechts ein Symbol angezeigt wird.

Und wir können bestätigen, dass die Aufnahmen in dem von uns angegebenen Verzeichnis verbleiben, in diesem Beispiel in '/ srv / recordings /'.

Ich hoffe das wie immer, dass Sie von Interesse waren und sich bei allen bedanken, die diese Likes und Empfehlungen in sozialen Netzwerken geben.

Letzte Artikel von Hector Herrero (Alle anzeigen)