W-Lan Webcam als lokale Webcam im Browser und darüber hinaus nutzbar machen

Bin seit einigen Monaten im Besitz einer Hikam S6 W-Lan-Überwachungskamera. Für diesen Zweck nutze ich sie jedoch eigentlich gar nicht; sie liegt nur herum. In Zeiten von häuslicher Lernzeit, dem sächsischen Homeschooling, wäre es jedoch ganz praktisch, die relativ gute Qualität der Kamera auch lokal nutzbar zu machen, um beispielsweise an Videokonferenzen teilhaben zu können.

Und das geht unter Linux tatsächlich ziemlich einfach, wenn man weiß wie. Hinweis auf alles gab mir dieser Artikel.

Zunächst installiert man in der einschlägigen Ubuntu-Distribution das Video4Linux2 Loopback Device und lädt den Treiber mittels

sudo apt install v4l2loopback-dkms
sudo modprobe v4l2loopback

Hiernach bedarf es lediglich noch des Wissens um den RTSP-Stream (das Video/Audio-Signal der Webcam). Dafür bedarf es des Wissens um die IP der Kamera (in meinem Falle die 192.168.X.10), die sich beispielsweise über den Router oder das Handbuch der Kamera in der Ausgangskonfiguration finden lässt. Sodann kann ich mit folgendem Befehl das Bild via W-Lan als lokale Webcam meines Rechners streamen und wiederum im Browser, Skype oder beliebiger anderer Software als Dummy auswählen (die passende Adresse noch einsetzen):

ffmpeg -re -i  rtsp://192.168.X.10:554/stream=0 -map 0:v -vf format=yuv420p -f v4l2 /dev/video0

Und weil’s so schön ist, habe ich mir das ganze in Form eines YAD-Skripts automatisiert, sodass ich lediglich einen Knopf drücken, das Nutzerpasswort eingeben und mich zurücklehnen muss. Dieses sieht bei mir wie folgt aus:

#!/bin/bash
#
# starting local webcam dummy via v4l2loopback as an rtsp stream
Encoding=UTF-8
TITLE=Webcam
VERSION=0.02
ICON=/usr/share/icons/Adwaita/64x64/apps/preferences-desktop-accessibility-symbolic.symbolic.png
# run webcamscript
yad --title="Webcamsteuerung" --text="Webcam …?" --button="Einschalten" --button="Ausschalten" --button="Programm Beenden"
#Returnwert speichern
ret=$?
#Auswerten des Returnwertes
if [ $ret = 0 ] #Wenn der Benutzer auf Einschalten drückt,
then            #dann führe folgenden Befehl aus
    eingabe="$(yad --entry --hide-text --button="Passwort" --title="Passwort" --text="Bitte gib dein Passwort ein:")"
    /usr/bin/sudo -u Nutzer -p $eingabe modprobe v4l2loopback | ffmpeg -re -i  rtsp://192.168.X.10:554/stream=0 -map 0:v -vf format=yuv420p -f v4l2 /dev/video0
fi
if [ $ret = 1 ] #Wenn der Benutzer auf Ausschalten drückt,
then
    eingabe="$(yad --entry --hide-text --button="Passwort" --title="Passwort" --text="Bitte gib dein Passwort ein:")"
    /usr/bin/sudo -u Nutzer -p $eingabe killall ffmpeg
else            #Ansonsten führe diesen Befehl aus
 exit 1         #Befehl (hier exit 1 für beenden)
fi

Nicht vergessen, auch den Nutzernamen und die IP in den beiden if-Schleifen anzupassen.

Viel Spaß =)

Citrix Receiver mit Fehler 1000119

Die Citrix Workspace App ist für Ubuntu mittlerweile eine schöne runde Sache: lässt sich leicht installieren, läuft out of the box und gibt eine sehr angenehme Performance. Das Schmankerl – meine Multimediageräte wie Drucker, Headsets etc. werden auch serverseitig erkannt und durchgereicht, sodass ich auch aus der Ferne an Webkonferenzen teilnehmen kann. Gut gemacht und das große Plus gegenüber der sonst schon sehr leistungsfähigen Browservariante.

Aber was tun, wenn die App nicht verbindet, sondern den Versuch mit einem Fehler 1000119 quittiert? Irgendwas mit Zertifikaten, wie das Citrix Support Center behauptet. Doch nützt deren Anleitung? Leider nein.

Dabei ist das Problem recht leicht zu beheben, denn grundlegend vertraut die Workspace App lediglich ihren eigenen Zertifikaten, nicht jedoch denen des Systems. Und hier hilft folgende Anleitung:

sudo ln -s /etc/ssl/certs/* /opt/Citrix/ICAClient/keystore/cacerts

Dieser Befehl führt dazu, dass ich mit Systemadministratorrechten über einen symbolischen Link (ln -s) aus dem Zertifikatsverzeichnis von Ubuntu und Derivaten (/etc/ssl/certs) alle Einträge (*) in das Citrix-eigene Verzeichnis übertrage.

Ich habe dann noch folgenden Schritt durchgeführt, um ganz sicher gehen zu können, dass Citrix diese Änderungen auch mitbekommt:

sudo /opt/Citrix/ICAClient/util/ctx_rehash 

Dies führt dazu, dass erneut mit Systemadministratorrechten die neuen Einträge in die Citrix-eigene Datenbank aufgenommen werden.

Et voila – läuft =)

[Update, 18.10.2020:] Flackern in Kubuntu 20.04 mit Intel Grafikkarte

Update: Wie ich nach langer weiterer Recherche und viel Üben hier gefunden habe, bedarf es doch einer anderen Lösung um das Problem schließlich zu lösen. Final muss dem X-Server beigebracht werden, auf welche Art und Weise die Hardwarebeschleunigung vom Intel-Treiber umgesetzt werden muss. Dafür muss die Datei

/etc/X11/xorg.conf.d/20-intel.conf

mit root-Rechten angelegt und mit folgendem Inhalt befüllt werden:

Section "Device"

Identifier "Intel Graphics"
Driver "intel"
Option "AccelMethod" "sna"
Option "TearFree" "true"

EndSection

Anschließend speichern und den PC neustarten (wahlweise X11, aber wer macht das heutzutage noch ;c)) – Problem endlich gelöst!

Update-Ende!

Auf meinem Laptop habe ich das Upgrade von Kubuntu 18.04 auf 20.04 bereits testweise gewagt, wobei der Prozess nicht ganz reibungslos ging. Aufgrund ständigen Bildschirmflackerns hatte ich damals ein PPA eingefügt, welches aktuelle MESA-Treiber auf das System brachte, wodurch das Problem beseitigt war. Diese hatten letztlich das ordentliche Upgrade auf 20.04 unterbunden, wobei der Weg dann ganz klassisch im Debian-Stil trotzdem erfolgen konnte.

Doch unter 20.04 gibt es wieder die Probleme mit dem ständigen Flackern, sobald ein Compositor eingeschaltet ist – und wer möchte heutzutage noch ohne arbeiten, denn die grafischen Effekte sind vielfach ganz nützlich und lenken die Aufmerksamkeit. MESA-Aktualisierungen sind zwar vorhanden, gelten jedoch über ein PPA vielfach als instabil und aus den Schwierigkeiten mit dem letzten Upgrade wollte ich das ganze mal vermeiden.

Dann habe ich folgenden Eintrag gefunden, der sich auf die Ursprünge des zugrundeliegenden Intelbugs im i915-Treiber bezieht. Über spezifische Eigenschaften beim Laden des Treibers über die X-Konfiguration lässt sich nämlich der größte Teil der Probleme ausschalten. Folgendes muss getan werden:

Die Datei /etc/X11/xorg.conf.d/20-intel-graphics.conf muss mittels administrativer Reche angelegt werden. Hierin sollte folgendes stehen:

Section „Device“
Identifier „Intel Graphics“
Driver „intel“
Option „TripleBuffer“ „true“
Option „TearFree“ „true“
Option „DRI“ „false“
EndSection

Speichern, neustarten und die gröbsten Flackereien sollten behoben sein. Das Flickering ist in meinem Fall nicht ganz beseitigt und ich muss mich noch rückversichern, ob bezüglich Performance alles beim Alten bleibt, jedoch sehen die Ergebnisse aktuell ganz gut aus.

PCSXR unter Ubuntu läuft nicht?

Ich wollte mal wieder Tony Hawk’s Pro Skater 2 spielen. Stundenlang gab’s das Original auf der PSX für mich. Habe genau dafür meine PS2 im Wohnzimmer, doch eine Sache nicht bedacht. Zwar laufen die Spiele alle ganz herrlich, jedoch braucht man zum Speichern eine originale PSX-Memory Card – das Dateisystem ist wohl ein anderes.

Was tun? Den Controller an den PC anschließen (habe da noch einen Dongle für), einen Emulator herunterladen (sudo apt install pcsxr) und die entsprechende BIOS-Datei der Playstation einbinden (gidf.de -> PSX Bios). Perfekt, wenn da nicht jedes Mal beim Ausführen der Emulator abstürzen würde.

Diese Website hat mich dann aus dem Leiden erlöst und mir erklärt, dass es einen Konflikt in der CPU-Emulation gibt, die standardmäßig konfiguriert ist. Also musst du folgendes in deiner Konfigurationsdatei ändern, und die Sache läuft:

nano ~/.pcsxr/pcsxr.cfg

CPU = 1

Danke, und nicht vergessen: „turn on the radio …“

Kein Netzwerksymbol in Lubuntu XFCE/Qt?

Leidiges Thema, welches mich seit mehreren Jahren immer wieder beschäftigt und es mir vergällt, Lubuntu zu empfehlen: Das Symbol, in welchem die Netzwerkverbindungen in der Systemleiste angezeigt werden, wird leider nicht angezeigt. Das nervt, macht eine Empfehlung schwer und das Arbeit in fremden Netzen zu einem aufreibenden Kraftakt.

Heute hatte ich endlich mal die Muße, mich damit zu beschäftigen, und kam zu folgender Lösung, die ich hier gefunden habe:

What you need to do is edit /etc/xdg/autostart/nm-applet.desktop with your favorite text editor. I like nano, so I ran the following from the terminal: sudo nano /etc/xdg/autostart/nm-applet.desktop Go down to the Exec line and change the entry from nm-applet to dbus-launch nm-applet. Save the file and reboot!

askubuntu.com

Prima, jetzt klappt’s zufriedenstellend. Danke!

Privacy Policy Settings

Datenschutz DSGVO
Klick