Ich habe versucht, eine Umgebung zu schaffen, in der Sie ein lustiges Zoom-Meeting mit Linux (Ubuntu) + Zoom + OBS Studio + Soundeffekten haben können

Was ich machen wollte

Ich habe eine Umgebung erstellt, in der Sie Folgendes tun können, damit Sie ein lustiges Zoom-Meeting mit Telearbeit zu Hause haben können.

Sie benötigen lediglich eine virtuelle Kamera für Zoom, OBS Studio, OBS Studio und eine Web-App zum Poppen von Soundeffekten. Außer der Webkamera ist keine zusätzliche Hardware wie ein Mischpult erforderlich.

[Ergänzung] In meiner Umgebung habe ich in der zweiten Hälfte die Erstellung virtueller Mikrofone eingestellt. Dies liegt daran, dass das Echo am Zielort nicht vollständig gelöscht werden konnte.

Installieren Sie Zoom

  1. Laden Sie Zoom herunter

Gehen Sie zu https://zoom.us/download. dl.png

  1. Installieren Sie Zoom

Wenn der Download abgeschlossen ist, wird die Meldung "Klicken, um Zoom zu installieren" angezeigt. Klicken Sie also darauf. inst.png

  1. Führen Sie das Installationsprogramm aus

Das Installationsprogramm wird gestartet. Klicken Sie daher auf "Installieren". inst2.png

  1. Installation abgeschlossen Wenn Sie das blaue Zoomsymbol sehen, ist die Installation abgeschlossen. icon.png

Installieren Sie OBS Studio

Sie können es mit dem Befehl apt installieren, indem Sie das Repository abrufen. Da meine Umgebung 18.04 ist, überspringen Sie die Installation von FFmpeg und führen Sie den folgenden Befehl aus. Weitere Versionen und Details finden Sie in den folgenden Referenzen.

sudo add-apt-repository ppa:obsproject/obs-studio
sudo apt update
sudo apt install obs-studio

Referenz: OBS Project Installationsanweisung

Installation der virtuellen Kamera

Ich habe hier auf den Artikel auf der folgenden Seite verwiesen, und mit einigen Ausnahmen konnte ich ihn erfolgreich einführen, wenn ich es auf diese Weise tat. Es wird ausführlich mit einem Screenshot erklärt, daher ist es besser, hier zu sehen. Originalartikel: [Tag der Geschwindigkeit] Obs-v4l2sink wird verwendet, um das von OBS Studio unter Linux synthetisierte Video auf Skype und Zoom zu streamen Die folgenden Befehle werden bei der Installation in meiner Umgebung verwendet.

  1. Installieren Sie v4l2loopback
sudo apt install v4l2loopback-dkms v4l2loopback-utils
  1. Laden von v4l2loopback
sudo modprobe v4l2loopback devices=1 video_nr=10 card_label="OBS Cam" exclusive_caps=1
  1. Laden Sie das Plug-In obs-v4l2sink herunter Laden Sie das Paket obs-v4l2sink.deb wie folgt herunter.

https://github.com/CatxFish/obs-v4l2sink/releases

  1. Installieren Sie das obs-v4l2sink-Plug-In Wechseln Sie in das heruntergeladene Verzeichnis und installieren Sie es mit dem folgenden Befehl.
sudo apt install ./obs-v4l2sink.deb
  1. Erstellen Sie einen symbolischen Link für das Plug-In obs-v4l2sink Da das Installationsziel und das Referenzziel von OBS Studio unterschiedlich sind, muss mit dem folgenden Befehl eine symbolische Verknüpfung erstellt werden (siehe Originalartikel).
cd /usr/lib/x86_64-linux-gnu/obs-plugins
sudo ln -s /usr/lib/obs-plugins/v4l2sink.so 
  1. Einstellungen auf der OBS Studio-Seite

Es ist erforderlich, unter "Steuerung" unten rechts auf dem Bildschirm von OBS Studio auf "Einstellungen" zu klicken, links im angezeigten Dialogfeld "Video" auszuwählen und die Grundauflösung und Kameraauflösung anzupassen. Eine ausführliche Erklärung mit einem Screenshot finden Sie im Originalartikel.

  1. Aktivieren Sie die virtuelle Kamera

Aktiviert die virtuelle Kamera, dh Sie können die virtuelle Kamera als Kamera unter Zoom auswählen. Wenn die oben genannten Befehle und Einstellungen erfolgreich sind, sollte * v4l2sink * im Menü "Extras" von OBS Studio angezeigt werden. Klicken Sie also darauf.

obsmenu.png

Der folgende Dialog wird angezeigt.

v4l2sink_dlg.png

Drücken Sie "Start", um die virtuelle Kamera zu aktivieren. Wenn Sie "Auto Start" aktivieren, wird die virtuelle Kamera beim Start von OBS Studio automatisch aktiviert, auch wenn Sie sie nicht jedes Mal einstellen.

Wählen Sie dieses Mal die virtuelle Kamera als Kamera auf der Zoomseite aus. Klicken Sie nach dem Start der Zoom-Besprechung unten links im Besprechungsbildschirm auf den Aufwärtspfeil neben * Video starten *. In den Kameraoptionen sollte * OBS Cam * angezeigt werden. Wählen Sie ihn aus. Der Name der virtuellen Kamera ist derjenige, der durch die Option * card_label = "OBS Cam" * angegeben wird, die beim Laden von v4l2loopback oben angegeben wurde.

obscam.png

Persistenz der virtuellen Kamera

Die virtuelle Kamera kann oben verwendet werden, aber das Modul wird beim Neustart des Betriebssystems nicht automatisch geladen, sodass Sie jedes Mal einen Befehl eingeben müssen. Stellen Sie daher sicher, dass das Modul dauerhaft geladen wird. Ich habe /etc/modules-load.d verwendet, aber wenn Sie mit Linux selbst vertraut sind, gibt es möglicherweise einen besseren Weg, dies zu tun.

  1. Erstellen Sie eine conf-Datei in /etc/modules-load.d

Wenn Sie in modules-load.d eine conf-Datei erstellen, wird das angegebene Kernelmodul beim Start geladen. In meinem Fall habe ich eine neue Datei mit dem Namen obs.conf erstellt und wie folgt in /etc/modules-load.d abgelegt.

/etc/modules-load.d/obs.conf


v4l2loopback

Erstellen Sie es als Superuser von sudo.

  1. Erstellen Sie eine conf-Datei in /etc/modprobe.d

Beschreiben Sie die Optionen in /etc/modprobe.d, um die Optionen zu übergeben, die beim Laden des Kernelmoduls mit * modprobe * über die Befehlszeile zum Zeitpunkt des Ladens beim Start angehängt wurden. In meinem Fall habe ich eine neue Datei mit dem Namen obs_opt.conf erstellt und wie folgt in /etc/modprobe.d abgelegt.

/etc/modprobe.d/obs_opt.conf


options v4l2loopback devices=1 video_nr=10 card_label="OBS Cam" exclusive_caps=1

Die Reihenfolge in der Zeile lautet * options *. Dies bedeutet, dass Optionen hinzugefügt werden, gefolgt vom Namen des Moduls, an das diese Option angehängt ist, und der Option, die danach hinzugefügt werden soll.

Erstellen Sie es als Superuser von sudo.

Erstellen Sie ein virtuelles Mikrofon, um Soundeffekte und Musik abzuspielen

Da OBS Studio mit einem Audiomixer ausgestattet ist, ist es möglich, die auf dem PC abgespielte Musik dem Audio vom Mikrofon zu überlagern und zu senden. Dies ist jedoch effektiv, wenn Sie von OBS Studio auf YouTube usw. senden. Der Ton des Mischpults fließt jedoch nicht zu Zoom, selbst wenn er mit einer virtuellen Kamera auf Zoom projiziert wird. Es wäre schön, ein virtuelles Broadcast-Plug-In zu haben, aber leider konnte ich es nicht finden.

Übrigens, wenn Sie den Sound auf dem PC während der Verwendung des Freigabebildschirms abdecken möchten, können Sie dies ohne ein virtuelles Mikrofon tun (später beschrieben). In diesem Abschnitt werden die Einstellungen beschrieben, die erforderlich sind, um die als Besprechungsteilnehmer gesendete Stimme abzudecken.

Hier wird ein virtuelles Mikrofon erstellt und der Wiedergabeton auf dem PC und der Ton vom Mikrofon werden gemischt und abgespielt. In Bezug auf die Erstellung des virtuellen Mikrofons habe ich auf den folgenden Beitrag verwiesen (oder besser gesagt, das war's).

Originalartikel: Umleiten der Pulseaudio-Senke an eine virtuelle Quelle Die letzte Antwort im Artikel ist die Erstellungsmethode selbst. Der Befehl * pactl * wird im Artikel verwendet, scheint aber jetzt durch * pacmd * ersetzt worden zu sein.

Dies wird erreicht, indem mit Pulse Audio, der oberen Ebene des Soundverwaltungsmechanismus von Linux, ein virtuelles Mikrofon erstellt wird und der von der App abgespielte Sound und der vom Mikrofon abgespielte Sound so eingestellt werden, dass er in das App-Mikrofon fließt.

  1. Generieren Sie eine Spüle, um den Mikrofon- und den Wiedergabeton auf dem PC zu mischen

Generieren Sie eine Spüle mit dem Namen mix-for-virtual-mic.

pacmd load-module module-null-sink sink_name=mix-for-virtual-mic sink_properties=device.description=Mix-for-Virtual-Microphone
  1. Generieren Sie eine Spüle, die den Wiedergabeton auf dem PC und den Mikrofonsound mischt
pacmd load-module module-combine-sink sink_name=virtual-microphone-and-speakers slaves=mix-for-virtual-mic,alsa_output.pci-0000_00_1b.0.analog-stereo
  1. Kehren Sie zu Sink zurück, um Mikrofon-Audio zu mischen
pacmd load-module module-loopback source=alsa_input.pci-0000_00_1b.0.analog-stereo sink=mix-for-virtual-mic latency_msec=20
  1. Dummy-Echo abbrechen Spülengenerierung

Da der Ausgang des Echokompensators nicht verwendet wird, bereiten Sie eine Nullsenke vor.

pacmd load-module module-null-sink sink_name=silence sink_properties=device.description=silent-sink-for-echo-cancel
  1. Erstellen Sie ein virtuelles Mikrofon

Erstellen Sie mit dem Echo-Canceller-Modul ein virtuelles Mikrofon (Virtual-Microphone). Verwenden Sie dies von Zoom.

pacmd load-module module-echo-cancel sink_name=virtual-microphone source_name=virtual-microphone source_master=mix-for-virtual-mic.monitor sink_master=silence aec_method=null source_properties=device.description=Virtual-Microphone sink_properties=device.description=Virtual-Microphone
  1. Zoomeinstellungen

Wenn bei der Ausführung der einzelnen Befehle bisher keine Fehler aufgetreten sind, ist die Einstellung erfolgreich. Jedes von Ihnen erstellte Waschbecken wird im Zoom angezeigt. Wählen Sie auf der Zoomseite das Mikrofon und den Lautsprecher wie folgt aus.

mix.png

Wenn Sie beispielsweise Musik auf Ihrem PC abspielen und mit einem Mikrofon sprechen, erreichen sowohl die Musik als auch Ihre Stimme die Teilnehmer des Zoom-Meetings.

Persistenz virtueller Mikrofone

Sie können das oben genannte virtuelle Mikrofon verwenden, aber wie bei der virtuellen Kamera verschwindet es beim Neustart des Betriebssystems. Machen Sie es daher dauerhaft.

Alle Einstellungen bis zu diesem Punkt werden in PulseAudio ausgeführt. Wenn Sie sie also in das PulseAudio-Startskript schreiben, wird Sink beim Start des Betriebssystems automatisch gestartet. Das Startskript kann eines der folgenden sein: Ich habe die Systemeinstellungen vorgenommen.

Wenn Sie /etc/pulse/default.pa öffnen, sind bereits verschiedene Einstellungen enthalten. Fügen Sie daher ganz am Ende Folgendes hinzu

/etc/pulse/default.Ergänzung zu pa


load-module module-null-sink sink_name=mix-for-virtual-mic sink_properties=device.description=Mix-for-Virtual-Microphone
load-module module-combine-sink sink_name=virtual-microphone-and-speakers slaves=mix-for-virtual-mic,alsa_output.pci-0000_00_1b.0.analog-stereo
load-module module-loopback source=alsa_input.pci-0000_00_1b.0.analog-stereo sink=mix-for-virtual-mic latency_msec=20
load-module module-null-sink sink_name=silence sink_properties=device.description=silent-sink-for-echo-cancel
load-module module-echo-cancel sink_name=virtual-microphone source_name=virtual-microphone source_master=mix-for-virtual-mic.monitor sink_master=silence aec_method=null source_properties=device.description=Virtual-Microphone sink_properties=device.description=Virtual-Microphone

Soundeffekte abspielen

Sie können einen geeigneten kostenlosen Sound herunterladen und auf dem Player abspielen, aber ich habe eine nützliche Web-App, also verwende ich sie. Wenn Sie all dies haben, werden Sie keine Probleme haben. Ich bin sehr dankbar, es zu benutzen.

Soundeffektlabor pon out https://soundeffect-lab.info/pon/app.html pon.png

[Ergänzung] Teilen Sie die OBS Studio-Szene mit Zoom und teilen Sie das Audio auf Ihrem PC.

Es kann andere Möglichkeiten geben, aber die Verteilung von OBS Studio-Szenen mit einer virtuellen Kamera wird bei der Bildschirmfreigabe nicht so angezeigt, wie sie ist. Daher habe ich die folgende Methode ausprobiert.

  1. Zeigen Sie mit dem Fensterprojektor die Szene von OBS Studio auf dem Bildschirm an

Wählen Sie aus den OBS Studio-Szenen die Szene aus, die Sie freigeben möchten, klicken Sie mit der rechten Maustaste und wählen Sie den Fensterprojektor aus.

winprj.png

Das kombinierte Ergebnis der Szene wird dann als Fenster geöffnet.

  1. Geben Sie den Fensterprojektor als App-Freigabe auf dem Freigabebildschirm frei

Wenn Sie Bildschirm freigeben auswählen, wird ein Dialogfeld angezeigt. Geben Sie den gerade geöffneten Fensterprojektor frei.

sharescreen.png

Wenn Sie zu diesem Zeitpunkt unten links im Dialogfeld Computer-Sound freigeben aktivieren, können Sie Soundeffekte, Musik usw. auf Zoom abspielen (obwohl dies bis zur vorherigen Zoom-Version nur für die Windows-Version eine Funktion war). Jetzt ist es auch in der Linux-Version verfügbar.

Recommended Posts

Ich habe versucht, eine Umgebung zu schaffen, in der Sie ein lustiges Zoom-Meeting mit Linux (Ubuntu) + Zoom + OBS Studio + Soundeffekten haben können
Ich habe versucht, eine Umgebung mit WSL + Ubuntu + VS-Code in einer Windows-Umgebung zu erstellen
Ich habe versucht, eine Umgebung von MkDocs unter Amazon Linux zu erstellen
Ich habe versucht, mit Raspberry Pi 4 eine Umgebung von Ubuntu 20.04 LTS + ROS2 zu erstellen
Als ich versuchte, mit Python eine virtuelle Umgebung zu erstellen, funktionierte dies nicht
Ich habe versucht, eine Umgebung zu erstellen, um regelmäßig mit Selenium mit AWS Fargate zu überprüfen
Ich habe versucht, mit Open AI Gym eine verbesserte Lernumgebung für Othello zu schaffen
Sie können Zoom trinken! !! Ich habe versucht, mit Flask + Heroku ein kooperatives Themenspiel zu entwickeln
Ich habe versucht, automatisch einen Bericht mit der Markov-Kette zu erstellen
Ich habe versucht, einen Artikel mit SQL Alchemy auf Wiki.js zu erstellen
Ich habe mir eine Möglichkeit ausgedacht, ein 3D-Modell aus Fotos zu erstellen. Teil 01 Erstellen einer Umgebung
Ich habe versucht, eine Serverumgebung zu erstellen, die unter Windows 10 ausgeführt wird
Versuchen Sie, eine Python-Umgebung mit Visual Studio Code & WSL zu erstellen
Ich habe versucht, mit Python eine Liste von Primzahlen zu erstellen
Ich habe einen LINE-Stempel erstellt, in dem Sie Linux-Befehle studieren können
Ich habe versucht, Bulls and Cows mit einem Shell-Programm zu erstellen
Ich habe versucht, ein Programm zu erstellen, das Hexadezimalzahlen mit Python in Dezimalzahlen konvertiert
Ich habe versucht, ein Plug-In mit HULFT IoT Edge Streaming [Entwicklung] (2/3) zu erstellen.
Ich habe versucht, ein Plug-In mit HULFT IoT Edge Streaming [Ausführung] (3/3) zu erstellen.
[Outlook] Ich habe versucht, mit Python automatisch eine tägliche Berichtsmail zu erstellen
Ich habe versucht, ein Plug-In mit HULFT IoT Edge Streaming [Setup] (1/3) zu erstellen.
Ich habe versucht, eine Mac Python-Entwicklungsumgebung mit pythonz + direnv zu erstellen
Ich möchte ein Ubuntu Chrome-Benutzerprofil nur mit Colab erstellen
Ich habe versucht, einen Linebot zu erstellen (Implementierung)
Ich habe versucht, einen Linebot zu erstellen (Vorbereitung)
Ich habe versucht, eine Klasse zu erstellen, mit der Json in Python problemlos serialisiert werden kann
Ich habe versucht, mit Selenium + Python einfach ein vollautomatisches Anwesenheitssystem zu erstellen
[Azure] Ich habe versucht, eine virtuelle Linux-Maschine mit Azure von Microsoft Learn zu erstellen
Ich habe versucht, die Strichzeichnung mit Deep Learning aus dem Bild zu extrahieren
Ich habe versucht, mit Raspeye + Tact Switch eine Schaltfläche für Slack zu erstellen
Ich habe versucht, ein Modell mit dem Beispiel von Amazon SageMaker Autopilot zu erstellen
Ich habe versucht, mit einem Foto einfach ein hochpräzises 3D-Bild zu erstellen [1]. (Die Tiefe kann jetzt in PNG bearbeitet werden.)
Sie können auch mit Python problemlos eine GUI erstellen
Ich habe versucht, ein Objekt mit M2Det zu erkennen!
Ich habe versucht, Linux mit Discord Bot zu betreiben
Ich habe versucht, mit Python Machine Learning ein Echtzeit-Modell zur Trennung von Tonquellen zu erstellen
So stellen Sie pyenv unter Amazon Linux und Ubuntu ein, um eine Python 3.6.0-Umgebung zu erstellen
[Python] Ich habe versucht, automatisch einen täglichen Bericht über YWT mit Outlook-Mail zu erstellen
Ich habe versucht, eine Klasse für die Suche nach Dateien mit der Glob-Methode von Python in VBA zu erstellen
Ich habe versucht, einen Pandas-Datenrahmen zu erstellen, indem ich mit Python Informationen zum Lebensmittelrückruf abgekratzt habe
Ich habe versucht, mit Python (Mac OS X) eine Umgebung für maschinelles Lernen zu erstellen.
Ich habe versucht, eine Umgebung zu erstellen, in der die Arbeit im Docker-Container auf dem Remote-Server direkt über den lokalen VS-Code mit SSH-Verbindung ausgeführt werden kann