Aktivieren von Jitsi-Aufnahmen und Streaming mit Jibri

Wenn Sie sich in einem Vorheriger Beitrag Wir haben gesehen, wie wir eine eigene Videokonferenzlösung für unser Unternehmen einrichten können, Heute werden wir ihm ein paar Ergänzungen geben, wie z.B. die Möglichkeit, die Sitzungen aufzuzeichnen oder unsere Meetings live zu streamen.

Durch Jibri werden wir in der Lage sein, die Sitzungen, die wir machen, auf Disc oder in der Cloud aufzuzeichnen, sowie wenn Sie einen Live-Stream und eine Übertragung auf Youtube machen möchten. Eine wichtige Überlegung wird sein, dass wir nur gleichzeitig eine Aufnahme machen oder streamen können, für mehr, wir werden verschiedene Jibri's erstellen müssen (z.B. in Containern).

Die Idee ist, dem vorherigen Beitrag zu folgen, also werden wir diese interessante Funktionalität zulassen! Wir gehen davon aus, dass auf Github Das gesamte Projekt ist gut dokumentiert, los geht's mit einem Ubuntu 20.04.

Beginnen wir mit den Grundlagen, Wir müssen die Version haben 8 Java, Wir werden die Version kennen, die wir laufen 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, Zuerst stellen wir sicher, dass wir die Version installieren 8:

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

Und wenn Sie 'update-alternatives –Java-Konfiguration’ Wir werden in der Lage sein, die Java-Version auszuwählen, die wir verwenden werden, In meinem Fall haben wir uns für die 2:

Es gibt 2 Auswahlmöglichkeiten für die Alternative Java (Bereitstellen von /usr/bin/java).

  Prioritätsstatus des Auswahlpfads
------------------------------------------------------------
* 0            /usr/lib/jvm/java-11-openjdk-amd64/bin/java      1111      Automatik-Modus
  1            /usr/lib/jvm/java-11-openjdk-amd64/bin/java      1111      Manueller Modus
  2            /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java   1081      Manueller Modus

Wir erstellen die Variable JAVA_HOME mit 'nano ~/.bashrc', Wir fügen es am Ende der Datei hinzu, und nachdem wir die Datei gespeichert haben, verlassen wir die Sitzung und laden sie erneut, um zu bestätigen, dass die Variable geladen ist (mit einem einfachen 'echo $JAVA_HOME').

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

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

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

Laden des ALSA Loopback-Moduls, Wir zwingen das Laden in den Kofferraum und überprüfen, ob wir es geladen haben:

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

Wir installieren die neueste stabile Version von Google Chrome:

curl -sS -o - https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key echo hinzufügen "1_i386.deb [arch=amd64] HTTP (Englisch)://dl.google.com/linux/chrome/deb/ stabile Hauptleitung" > /etc/apt/sources.list.d/google-chrome.list apt-Aktualisierung && apt install google-chrome-stable -y

So blenden Sie die Warnung aus, die Chrome herausnimmt und die Sitzung aufzeichnet: “Chrome wird von einer automatisierten Testsoftware gesteuert” Wir werden dies anhand einer Präferenz angeben:

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

Wir werden auch Chromedriver brauchen:

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 ~/ entpacken ~/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/lokal/bin/chromedriver

Wir haben das Jitsi-Repository installiert, um Jibri endlich zu installieren:

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

Wir platzieren den Jibri-Benutzer in den Gruppen, um Zugriff auf die Audio- oder Videogeräte zu erhalten:

usermod -aG adm,Audio,Video,Plugdev Jibri

Fügen Sie am Ende der Datei /etc/prosody/conf.avail/meet.domain.eso.cfg.lua folgendes hinzu:

Bestandteil "intern.auth.meet.domain.eso" "Muc"
    modules_enabled = {
      "anpingen";
    }
    Lagerung = "Gedächtnis"
    muc_room_cache_size = 1000

Virtueller Gastgeber "rekorder.meet.domain.eso"
    modules_enabled = {
      "anpingen";
    }
    Authentifizierung = "internal_plain"

Und wir laden Prosody neu:

Prosodie Nachladen

Wir erstellen die beiden Konten, die Prosody verwenden wird, und legen ein Passwort fest, das wir in Kürze verwenden werden:

prosodyctl register jibri auth.meet.domain.eso PASSWORD prosodyctl register recorder.meet.domain.eso PASSWORD

Wir fügen diese hinzu 2 Linas al final de '/etc/jitsi/jicofo/sip-communicator.properties’ para localizar los controladores Jibri:

org.jitsi.jicofo.jibri.BREWERY=Ji**********@in******Also
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: STIMMT,
liveStreamingEnabled: STIMMT,
hiddenDomain: 'recorder.meet.dominio.eso',

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

{
    "recording_directory":"/srv/Aufnahmen",
    "finalize_recording_script_path": "/Pfad/zu/finalize_recording.sh",
    "xmpp_environments": [
        {
            "Name": "PROD-Umgebung",
            "xmpp_server_hosts": [
                "meet.dominio.eso"
            ],
            "xmpp_domain": "meet.dominio.eso",
            "control_login": {
                // Die Domain, die für die Anmeldung verwendet werden soll
                "Domäne": "auth.meet.dominio.eso",
                // Die Zugangsdaten für die Anmeldung
                "Nutzername": "Jibri",
                "Passwort": "PASSWORT"
            },
            "control_muc": {
                "Domäne": "intern.auth.meet.domain.eso",
                "room_name": "JibriBrauerei",
                "Spitzname": "Jibri-Spitzname"
            },
            "call_login": {
                "Domäne": "rekorder.meet.domain.eso",
                "Nutzername": "Blockflöte",
                "Passwort": "PASSWORT"
            },
            "room_jid_domain_string_to_strip_from_start": "Konferenz.",
            "usage_timeout": "0"
        }
    ]
}

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

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

Wir starten Jitsi neu:

Service Jibri Neustart

Und das ist es! Wir können versuchen, ein Meeting abzuhalten und einen Live-Stream zu machen oder eine Aufzeichnung des Meetings zu machen.

Wenn Sie die Aufzeichnung starten, hören alle Teilnehmer eine Meldung, dass die Sitzung aufgezeichnet wird, und Sie können dies auch überprüfen, da wir oben rechts ein Symbol sehen.

Und wir werden in der Lage sein zu bestätigen, dass die Aufnahmen in dem von uns angegebenen Verzeichnis belassen wurden, In diesem Beispiel in '/srv/recordings/'.

Ich hoffe, dass ich wie immer, dass Sie es interessant gefunden haben und danken Sie allen, die diese Likes und Empfehlungen in sozialen Netzwerken geben.

Empfohlene Beiträge

Verfasser

nheobug@bujarra.com
Autor del blog Bujarra.com Cualquier necesidad que tengas, Zögern Sie nicht, mich zu kontaktieren, Ich werde versuchen, dir zu helfen, wann immer ich kann, Teilen ist Leben ;) . Genießen Sie Dokumente!!!