Autor: Ralf Weinert

HomeOffice – mit OBS und Chroma Key – Update

Nach dem nun schon einige Konferenzen ins Land zogen und sich das school@home für viele meiner Schüler noch hinzieht, bekommt mein virtuelles Homeoffice ein kleines Update

Zuerst wurde das Blau durch einen grünen Vorhang ersetzt.

Wenn die Beleuchtung stimmt, kann das grün super ersetzen werden.

Danach habe ich in OBS noch verschiedene Szenen angelegt.

Wenn ich auf meine Schüler warte sitze ich im Café und trinke einen guten Kaffee. Kommen dann meine Schüler in die Konferenz, gehen wir zusammen in die „Schule“ und besprechen was ansteht.

Quelle Pixabay.com: Cafe und Schule

Dazu kommen noch weitere Szenen. Mein „Labor“ oder auch nur das „ich will auf eine Insel zum Entspannen“.

Wenn ich meinen Schülern glauben will, dann lockert das eine Konferenz auf.

Quelle Pixabay.com: Labor
Quelle Pixabay.com: Karibik

Dieses virtuelle Camera setting mit OBS ist super und geht mit vielen Konferenztools.

getestet mit: BigBlueButton, Jitsi und in GoMeeting.

HomeOffice – mit OBS und Chroma Key

Aktuell (Corona-Schule, Schulschließung, Osterferien,…) sitze ich viel zu Hause und nehme an Webinaren oder Videokonferenzen teil. Außerdem muss auch der Fernunterricht vorbereitet werden.

Aber noch ein Arbeitsplatz mit „Wohnzimmer-Flair“ wollte ich nicht erschaffen.

Version 1 – Der Arbeitsplatz mit Webcam.

So will aber keiner vor seine Schüler treten. Natürlich gibt es Konferenztools wie zum Beispiel Zoom.us die den Hintergrund „verwischen“ können. Aber mein Lieblingstool JitsiMeets kann das nicht (nur als Beta). Und das in unser Moodle angeflanschte BigBlueButton welches ich für mein Unterricht benutze auch nicht.

Version 2 – Der geschönte Arbeitsplatz

Mit etwas Tuch und Stangen, wird eine kleine blaue Kammer draus.

Blau, da war doch was mit Chroma Key. Wenn der Hintergrund in einer Farbe ist, kann der Rechner/ die Software diese Farbe „weg nehmen“, auf transparent stellen. Dann kann man seine Hintergrund mit einem anderen ersetzen. So wie es die großen und kleinen Fernsehstudios oder Youtuber machen.

Dass der Kreis auf dem Bild ist liegt an der WebCam die hat einen Defekt und „Corona sei Dank“ sind die WebCams in den Online-Läden entweder sehr teure oder ausverkauft.

Was muss gemacht werden? Zwischen das Bild der Webcam muss eine Software, die den Hintergrund wegrechnet und austauscht und dann das neue Bild an das Konferenztool weiter reicht. Die Suche ergab, dass OBS-Studio das kann.

Für die Windowsnutzer gibt es dazu ein fertiges VirtualCam-Plugin für mich als Linux-Anwender hieß das einfach mal weitersuchen. Bei https://srcco.de/ wurde ich fündig. Der Artikel „USING OBS STUDIO WITH V4L2 FOR GOOGLE MEET“ beschreibt diesen Ansatz für google-meet aber es geht auch Jitsimeets und BigBlueButton.

Installation von OBS Studio

Da OBS Studio eine „kostenlose Open-Source-Software für Videoaufnahmen und Live-Streaming“ ist und es für Ubuntu ein ppa gibt, folge ich diese Anleitung. (Vorsicht, Zusätzliche Fremdquellen können das System gefährden!)
Originalquelle: https://obsproject.com/wiki/install-instructions#linux

Als Voraussetzung wird ffmpeg benötigt.

sudo apt install ffmpeg

Dann folgt die Installation von OBS-Studio über das ppa.

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

Für die virtuelle Kamera wird der V4L2 loopback driver benötigt, der auch mittels

sudo apt install v4l2loopback-dkms

geholt wird.
Jetzt muss die virtuelle Kamera angelegt werden.

sudo modprobe v4l2loopback devices=1 video_nr=10 card_label="OBS Cam" exclusive_caps=1 

Dieser Befehl legt ein Device namens /dev/video10 an, auf das man später mittels OBS-Tools zugreifen kann.
Da es kein fertiges OBS-Plugin gibt muss es selbst kompiliert werden.

sudo apt install qtbase5-dev 
git clone --recursive https://github.com/obsproject/obs-studio.git 
git clone https://github.com/CatxFish/obs-v4l2sink.git
cd obs-v4l2sink 
mkdir build && cd build

Und nun noch diese Zeile – das sollte alles zusammen hinter dem ‚cmake‘ stehen

cmake -DLIBOBS_INCLUDE_DIR="../../obs-studio/libobs" 
-DCMAKE_INSTALL_PREFIX=/usr .. make -j4 sudo make install


Ich musste noch den CMAKE nachinstallieren.
Bei Debian 10 musste ein Lehrer-Kollege noch eine Bibliothek nachinstallieren

apt install libobs-dev


Nach dem Starten von OBS kann man unter Tools / Werkzeuge die V4l2 Videoausgabe konfigurieren.
Hier wählt man als V4l2-Gerät das oben erstellte /dev/video10 und startet das Gerät.

  • Bei Quellen die Webcam aus suchen.
  • Dann einen Filter auf diese Quelle gesetzt und die Chroma Key Einstellungen so gewählt, dass es halbwegs gut aussieht.
  • Eine weiter Quelle mit dem Hintergrundbild anlegen. (Als Hintergrund-Bild habe ich mich hier für ein bisschen Karibik [von Pixabay] entschieden.

Version 3 – mein schöner Arbeitsplatz

Das Ergebnis lässt einen die nächste Konferenz leichter ertragen.

IMPULS MusikTheaterTanz

Die Kameliendame von John Neumeier

Seit 10 Jahren gibt es in Stuttgart das Projekt Impuls. Da nehme ich heute zum Anlass einen Alten Beitrag meiner Klasse neu aufleben zulassen. Einen Überblick über die letzten 10 Jahre des IMPULS-Projekt findet man hier (pdf-download).


Im Schuljahr 2010/11 hatten wir eine Ausschreibung zum Impuls-Projekt an die Schule bekommen. Ich stellte meiner Klasse Impuls vor uns bat sie darüber nach zudenken ob wir da mitmachen wollen. Die Schüler waren zuerst skeptisch, da der Ballet-Tanz in ihrer Erfahrungswelt seither keine große Rolle gespielt hatte. Nichts desto trotz schreiben wir eine Bewerbung und hatten sogar Erfolg damit.

Ablauf

Über einen Zeitraum von 14 Tagen kamen vom Ballet Stuttgart ein Choreograph und eine Tänzerin und übten mit den Schülern Tanz und Ausdruckstanz, immer mit der Geschichte Kameliendame im Hintergrund.

Jeden Tag von 8.30 bis 12 Uhr und von 13 bis 15.30 Uhr übten und erarbeiten wir uns am Ende eine kleine Vorführung. Natürlich gehörte zum Projekt auch ein Besuch des Stuttgarter Ballet mit einer Probe und einer Aufführung.

Vielen Dank an die StaatsTheaterStuttgart für diese tolle Projekt.

Die Kamelinedame – Interpretation der Klasse 9b der Seewiesenschule 2011

Kameliendame – Balletinerpretation der Klasse 9b / SWS 2011

pi3 – Installations Guide: Teil 3 – RPi update und raspi-config

Voraussetzung

In den letzen beiden Tagen ging es mit dem Beitrag  pi3 – Installations Guide: Teil 1 und pi3 -Installations Guid: Teil 2 darum den kleinen RPi arbeitsfähig zu machen. Der Teil 2 kann übersprungen werden, wenn RPi nicht als Server im Internet hängt aber …

Selbst zum updaten muss er ans Netz, somit sollte minimal wenigstens das pi-Passwort geändert werden.

sudo passwd pi

erst raspi-config

raspi-config ist das Konfigurationprogramm von Raspian, hier kann man viele Sachen einstellen, einige finde ich wichtig, diese spreche ich an.

sudo raspi-config

Da ich mehrere Raspberry Pi im Einsatz habe ist es wichtig, dass jeder einen eigenen Namen hat, ich habe mich für (*) die Kartoffelsorten im Garten entschieden. [Annabelle, Sieglinde, …]
(*) Name geändert 🙂
Unter 2 network – change hostname -> wird Annabelle eingetragen.

Weiter Einstellungen

expand filesystem (besser, dasdd sowieso die komplette SD kopiert)

Internation Options

  • Chance Local (alle 3)
    • de_DE ISO-8859-1
    • de_DE.UTF-8 UTF-8
    • de_DE@euro ISO-8859-15
  • Chance Timezone -> Europe Berlin
  • Chance Wi-Fi Country -> DE
  • Chance Keyboard Layout generic 105-key (intl) PC
    • german
    • German – German (eliminate dead keys).
    • ALT-GR default

Land Germany, Time GMT+1, Tastatur DE UFT8,

  • Advanced Options
    • memory split 32 der der RPi als Serversystem arbeiten soll.

dann updaten

Jetzt gehe ich weiter mit dem Ubuntu Klassiker

sudo rpi-update # Updaten der RPi

sudo apt update

sudo apt dist-upgrade

Jetzt ist das System auf einem aktuellen Stand.

Das System wird nun rebootet, dann logge ich mich ein und überprüfe ob alles passt. Wenn ich zufrieden bin, fahre ich den Rechner herunter, baue die SD-Karte aus und mache ein Backup davon (eine gute Anleitung findet man bei Linuxundich.de )

sudo dd if=/dev/sdd of=~/annabelle-pi.img

pi3 – Installations Guide: Teil 2 – absichern

Voraussetzung

Im gestrigen Beitrag  pi3 – Installations Guide: Teil 1 wurde der RPi vorbereitet bis zum ersten ssh-Login, jetzt geht es weiter.

Man sollte denken, dass nun als erstes das System aktualisiert wird, aber dem ist nicht so. Der Standard-Benutzer Pi mit dem Passwort raspberry ist zu bekannt, und das ssh-Login haben wir erlaubt. Darum muss das als erstes geändert werden. Nachdem ich viele Seiten zum Absichern des Servers gelesen habe komme ich zu diesem Vorgehen.

  • neuer USER1 anlegen, dieser bekommt sudo Rechte
  • noch einen USER2 anlegen, (nur) dem wird der ssh-Login ermöglicht.
  • der user Pi wird gelöscht.

Neuer USER1 anlegen

Auf Linux-Systemen gibt es adduser und useradd als Programm/Befehl um einen User anzulegen. Dabei ist useradd ein sehr einfacher Befehl, der seinen Job macht aber nicht komfortable. Komfortabler ist adduser. Dennoch haben beide ihre Berechtigung.

Mit sudo useradd USER1 -G sudo legt man einen Benutzer USER1 an, der der Gruppe sudo zugeordnet ist, das ist wichtig, da wenn Pi gelöscht ist sonst niemand mehr root-Rechte haben könnte. Unser USER1 hat noch kein Passwort, das wird nun festgelegt.

sudo passwd USER1 fordert uns auf für den USER1 ein Passwort zu setzen.

USER2 anlegen

Diesen User legen wir mir adduser an. sudo adduser USER2 und sehen auch gleich, was sich unterscheidet. Der Befehl adduser verlangt Infos zum Benutzer und ein Passwort.

ssh-Login absichern

Damit ein ssh-Zugang klappt, muss auf dem Server, hier der RPi ein ssh-Dienst laufen, den kann man konfigurieren. Unter Linux-Systemen findet man die Konfigurationsdateien im Verzeichnis /etc und nur root kann sie bearbeiten. Zum Bearbeiten benutzen wir den Editor nano.

Ein sudo nano /etc/ssh/sshd_config öffnet die Konfig-Datei in der folgende Anpassungen gemacht werden sollten.

  • #PermitRootLogin prohibit-password – daraus machen wir ein PermitRootLogin no # root darf sich nicht einloggen
  • LoginGraceTime 2m wird zu
    LoginGraceTime 30 # das Login muss innerhalb von 30 Sekunden
  • AllowUsers USER2 # Vorsicht! jetzt kann sich nur noch USER2 anmelden.

Jetzt muss das System neu gestartet werden

sudo shutdown now -r.

Ein Login ist nur noch mit USER2 möglich also ssh USER2@IP und das Passwort.

Ich habe meinen kleinen auch mal am Internet und bin deshalb noch vorsichtiger. USER2 ist der einzige der von außen auf das System darf/kann! Mein USER2 bekommt nun noch in .bashrc den Eintrag kein große History anzulegen

nano .bashrc, hier kommt der Eintrag HISTSIZE=0 hinzu,

Außerdem soll beim logout die history gelöscht werde, damit keine Zeugnisse auf dem System beleiben.

nano .bash_logout
Diese Datei bekommt die Inhalte:

history -c
rm ~/.bash_history

User Pi löschen

Noch gibt es den Bentzer Pi, der wird nun gelöscht, dazu müssen wir ein sudo-Berechtigter USER werden.

su USER1 und jetzt Pi entferen

sudo systemctl stop autologin@tty1

sudo deluser -remove-home pi

Und in der Konfig-Datei des graphischen Login
sudo nano /etc/lightdm/lightdm.conf

wird aus autologin-user=pi ein #autologin-user=pi.

Das Kommentarzeichen # sorgt dafür, dass diese Zeile nicht bearbeitet wird.

pi3 – Installations Guide: Teil 1 vom Download zum ersten ssh-Login

Voraussetzungen

  • Ein Raspberry Pi 3 – ungetestet ist bisher (Stand 27.08.2019) ein RPi 4
  • Eine SD-Karte, ich benutzt meinst kleine SD-Karten, da ich von der Karte auch Backups machen und das Linux-Programm dd (disk dump) zum bit-genauen Kopieren von Festplatten und Partitionen dient, damit ist (sofern man keine Komprimierung benutzt) das Backup genau so groß wie die komplette SD-Karte!
  • Downloaden des Images. Ich benutzte meist das Raspbian, das offizielle „Operation System“ (OS) für alle Raspberry Pi Modelle. Hier kann man sich entscheiden für welchen zweck der „Kleine“ betrieben werden soll. Als Desktopersatz (mit und ohne default Programme) oder minimal als Server.

Vorarbeiten – Image auf SD-Karte schreiben

Das gezippte Image muss nun ausgepackt werden und auf eine SD-Karte drauf.

Für Linux geht das flux mit dd, aber VORSICHT!, wie viele Linux-Programme verzeiht es keine Fehler und fragt auch nicht nach, wie man es von Windows gewohnt ist, darum checke immer (!) erst ob die SD-Karte erkannt wurde und wie sie heißt.

df -h
zeigt das Datei-System. Hier findet man unter /dev/sda oder /dev/sdb oder /dev/sdc … die erkannten Laufwerke / Festplatten / Partitionen.
Ist man sich unsicher, SD-Karte raus, df -h und SD-KLarte rein df -h, das was neu dazugekommen ist die SD-Karte. In meinem System liegt die Karte unter /dev/sdd!

Image auf die SD-Karte schreiben mit dd. Schön ist, dass dd seit kurzem (Coreutils 8.24 – checke das mit dd --version) eine Fortschrittsanzeige hat. Der Schalter status=progress schaltet das ein.

sudo dd bs=4M if=2019-07-10-raspbian-buster-full.img of=/dev/sdd bs=1M status=progress

Diese Zeile schreibt nun die Daten auf die SD-Karte, bit für bit, das kann dauern, aber immerhin gibt es jetzt eine Fortschrittsanzeige, die mir anzeigt, dass dd was macht.

Für Windows schaue bitte hier nach.

Vorbereiten – ssh erlauben

Standardmäßig ist der Raspberry Pi so abgesichert, dass er keinen ssh, d. h. keinen Zugang von außen erlaubt. Um das zu erlauben muss es im Verzeichnis /boot der SD-Karte eine inhaltslose Datei namens ssh geben. Also SD-Karte mounten, ins Verzeichnis /boot wechseln und

touch ssh

legt einen leere Datei mit dem Namen ssh an.

Fertig – fast!

umount /dev/sdd damit man die Karte aus dem Computer abziehen kann. Jetzt wird die SD-Karte in den Raspberry Pi eingebaut. Danach wird der RPi an das LAN und an den Strom angeschlossen und müsste zum ersten mal booten.

Jetzt aber!

Ist der Raspberry Pi sauber hochgefahren, erkennen kann man das an der grünen LED, kann man den ersten Login machen. Schnell in Router schauten welcher neue Client dazu kam, sich diese IP-Adresse merken und

ssh pi@192.168.1.98 (als Beispiel, schau im DHCP nach)
passwort: raspberry

Die Shell baut nun eine ssh-Verbindung zum RPi auf, man wird nach einem Passwort gefragt. Der Benutzername pi wurde schon mit dem ssh Aufruf übergeben. Den Hash bestätigen und Voilá wir sind drin.

Latex – Vertiefung I

Wieder mal was neues gelernt, was Latex in meinen Augen einzigartig macht.

\input{}

Hab ich z. B. einen Text, der sowohl in einem Main-Dokument als auch in einem One-Pager vorkommen soll, so kann man den Text mit

\input{t_Datei.tex}

einfach einbinden.

\newcommand{}{}

Mit \newcommand kann man einfach ein Makro erzeugen, das dann später im Dokument durch den Inhalt der {}-Klammer ersetzt wird.

Zum Beispiel so:
\newcommand{\minipageTitle}{Was ist eigentlich Chemie? }
es wird ein Makro mit dem Namen \minipageTitle angelegt. Wann immer nun im Text \minipageTitle vorkommt, wird es ersetzt mit „Was ist eigentlich Chemie?“

Ich liebe Latex.

Latex

Latex\footnote{\url{https://de.wikipedia.org/wiki/LaTeX}}

Latex ist eine Programiersprache, Markup-Language, eine Textverarbeitung ohne WSIWYG. In einem Texteditor (einfachster Fall) oder in eine Entwicklungsumgebung wie z. B. TexStudio oder Kile schreibt man seine Texte und kompiliert diese anschließend zu einer PDF.

Seit Jahren suche ich mir in den Sommerferien immer mal was neues aus und dieses Mal traf es Latex.
Ich wollte ein größeres Dokument schreiben, damit ich für meinen kommenden Unterricht vorbereitet bin.

Ziel: Chemie Klasse 8 als Epochen-Unterricht und das Material als OER.

An meiner Schule wird ab dem kommenden Schuljahr 2019/20 „Tiefsee“ eingeführt. Ein Unterricht der als Epoche über mehrer Wochen geht. In dieser Zeit haben die Schüler*innen dann von den Fächern Chemie, Biologie, Physik, Geschichte, Gemeinschaftskunde, Geografie und WBS (Berufs- und Studienorientierung) nur eins, dafür 6 oder 7 Stunden (wir haben das 60-Minuten Modell) je Woche.

Installation von Latex unter Ubuntu 19.04

Aus der Paketliste mit
sudo apt-get install texstudio
wird das Paket eingespielt und fertig. Damit ich auch von anderen PC darauf zugreifen kann benutzte ich Github.

Das erste .tex – Dokument

Latex ist eine Textverarbeitung die mit Makros arbeitet, das heißt, man hat „Befehle“ die den Text formatieren. Damit der Compiler den richtige Befehlssatz benutzt, muss das im Main-Dokument angegeben werden.

\documentclass[
% Dies sind globale Parameter.
% Schriftgröße
fontsize=12pt,
% Papierformat
paper=a4paper,
% nur einseitige Ausgabe
oneside,
% Titelseite erzeugen
titlepage=on,
% Sprache des Dokuments
ngerman
% Bildunterschriften
captions=nooneline
]{scrartcl} %{article}
\usepackage[a4paper,left=2.6cm, right=2.3cm,top=2.5cm, bottom=3.0cm]{geometry}


% hier beginnt das Dokument
\begin{document}

% das ist eine Überschrift 2 als MS-Word-Äquivalent
\section*{Was ist eigentlich Chemie? }


Was ist eigentlich Chemie?\footnote{Das Arbeitsblatt stammt im Original von \cite{ZUM:Chemie}} \newline
Wenn du überlegst, was du dir unter einem Chemiker so vorstellst, wirst
du vielleicht bei einem solchen Bild, wie das links, sofort zustimmen
… \emph{das sieht nach einem Chemiker aus}, oder?

\end{dokument}

Diese Textdatei muss durch einen Kompiler und dann erhält man ein PDF.
In meinem Fall habe ich von den ZUM-Seiten Chemie: Materialien verarbeitet.

Vielen Dank an Birgit Lachner ( Benutzer:B.Lachner) oder Twitter: BirgitLachner!

Diese Materialen, stehen unter ZUM.de unter der Lizenz:

CC By SA 4.0

Creative Commons Lizenzvertrag
Dieses Werk ist lizenziert unter einer Creative Commons Namensnennung – Weitergabe unter gleichen Bedingungen 4.0 International Lizenz.

Darum dürfen auch meine Materialen als OER auch mit der Lizenz verwendet werden.

Der große Vorteil von Latex gegenüber einem „normalen“ Word oder in meinem Fall Libre-Office ist, dass man die PDF viel genauer beschreiben kann und dass sich das System um so Dinge wie „Literatur-Verzeichnis“ oder andere Verzeichnisse selbst kümmert.

Die Tiefsee-Epoche Chemie 1.8 – Einstieg in das Fach Chemie in Klasse 8 findet man auf Github. (CC-BY-SA ), WIP Fassung