Streaming [WIP]

How To für ein Streaming-Setup. Dieses How To ist noch im aufbau.

Einführung

Einführung

In diesem How To sollen die wichtigsten Komponenten und der Aufbau eines Streaming Setups beschrieben werden. Wichtig ist die Größe und Komplexität zu beachten. Zu einem kann man ein kleines Setup benutzen, um nur den Bildschirm vom lokalen Computer zu einem Streamingdienstanbieter zu senden, bis hin eine Konferenzschaltung mit mehreren Teilnehmenden, sowie mit Einblendungen, Bauchbinden und Übergängen zwischen Kameras oder Szenen.

Die Basics

Ein Stream verhält sich ähnlich wie eine Videokonferenz im Big Blue Button oder Jitsi. Während die Videokonferenz rudimentäre Werkzeuge zur Verfügung stellt, kann man bei einem Stream das ausgehende Video manipuliert werden. Da der Videofluss bearbeitet wird bevor dieser rausgeht, ist ein leistungsstärker Computer zu empfehlen. Zwar kann dies auch mit einem Consumer Notebook ohne dedizierter Grafikkarte erfolgen, aber dieses Notebook wird wegen der schwachen Grafikkarte und CPU viel kühlen müssen und je nach Anwendung, kann dies zu einem Leistungsverlust führen.

Als Beispiel soll eine Anwendung mit 3D Effekten (zum Beispiel ein Spiel), welches in FullHD läuft, auf Twitch gestreamt werden. Dies wird mit einem Gerät ohne stärkerer GPU und CPU zu Bildverlusten und öfteren Hängern des Videos oder Frame-Drops führen. Da nicht nur die Anwendung rechenintensive Aufgabe ausführt, sondern auch das Video codiert werden muss, kommt es zu einer doppelten Belastung der Hardware. Anders verhält es sich, wenn nur der Desktop mit einer Präsentation und einer Webcam gestreamt werden soll. Hierfür kann bereits ein schwacher Office-PC ausreichen.

Für einen Stream wird ein Computer benötigt (gegebenenfalls mit einer Webcam, wenn man sich selber filmen möchte), eines den aufgelisteten Betriebssystemen, eine Streaming-Software wie OBS und ein Ziel wohin gestreamt werden soll.

 

OBS Basics

Open Broadcast Software (kurz OBS) ist ein Open-Source-Programm, welches eine einfache und freie Möglichkeit gibt, vom lokalen Computer zu unterschiedlichen Anbietern zu streamen. OBS kann für verschiedene Betriebssysteme heruntergeladen und erweitert werden. Die Beliebtheit ist der einfachen Handhabung, sowie der vielseitigen Einsatzmöglichkeit zu verdanken, weshalb die Gaming- und Twitch Community großflächig dieses Tool einsetzt.


Download und Installation

OBS steht für verschiedene Betriebssystemen zur Verfügung und kann von der offiziellen Seite, sowie aus den Paketquellen des jeweiligen Paketmanagers heruntergeladen werden.

Windows

Installer herunterladen und ausführen:
OBS Studio Website: https://obsproject.com/download
GitHub Releases: https://github.com/obsproject/obs-studio/releases

Installation via den Microsoft Store:
Microsoft Store: [click]

Installation via Steam:
Steam:[click]

Aus dem Quellcode kompilieren
Dokumentation: https://obsproject.com/wiki/build-instructions-for-windows

macOS

details

Disk Image (.dmg) herunterladen und die OBS.app in den Programme Ordner schieben
OBS Studio Website: https://obsproject.com/download
GitHub Releases: https://github.com/obsproject/obs-studio/releases

Installation via Steam:
Steam:[click]

Aus dem Quellcode kompilieren
Dokumentation: https://obsproject.com/wiki/build-instructions-for-mac

GNU/Linux

details

Die Installation für Linux kann auf verschiedenen Wegen erfolgen.

Flatpak: Installation via Flathub

Ubuntu
sudo add-apt-repository ppa:obsproject/obs-studio
        sudo apt update
        sudo apt install obs-studio
Arch Linux und Manjaro:
details
sudo pacman -S obs-studio

Im AUR befinden sich verschiedene PKBUILDs um OBS mit unterschiedlichen Modulen zu bauen:

  • obs-studio-tytan652
    • OBS mit VST 2 Plugin, RIST Protokol und AJA Device Support.
    • Integrierten Browser Modul
    • Kleine Anpassungen um das Leben leichter zu machen
  • obs-studio-browser
    • OBS mit Integrierten Browser Modul und VST
  • obs-studio-rc
    • Release Canidate und Beta Version
Debian:
details
sudo apt update
        sudo apt install ffmpeg obs-studio

Aus dem Quellcode kompilieren
Dokumentation: https://obsproject.com/wiki/build-instructions-for-linux

Fedora:
details
# RPM Fusion hinzufügen, falls noch nicht geschen
        sudo dnf install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E  %fedora).noarch.rpm https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
        # Installation OBS
        sudo dnf install obs-studio
Gentoo:
details
sudo emerge media-video/obs-studio
NixOS:
details
nix-env -i obs-studio
OpenMandriva Lx4
details
dnf install obs-studio
Solus
details
eopkg install obs-studio
Void
details
sudo xbps-install obs

FreeBSD

details

Die Installation für FreeBSD erfolgt via pkg.

pkg install obs-studio

OpenBSD

details

Für OpenBSD besteht ein Work In Progress Port auf GitHub unter: https://github.com/jasperla/openbsd-wip

Einführung

OBS01.jpg Screenshot OBS Version 27.1.3 unter Arch Linux, kompiliert mit Browser Modul.

In dieser Dokumentation kann das Äußere/Aussehen von OBS je nach Betriebssystem und Version leicht variieren. In der Standardansicht von OBS, wird nur die aktuell laufende Szene angezeigt. Es ist zu empfehlen, unten rechts auf den Studio-Modus zu wechseln, in dem man die gleichnamige Schaltfläche dafür anklickt.

Im Studio-Modus bietet OBS eine getrennte Ansicht, zwischen dem was aktuell gesendet wird (rechts) und dem was in Vorbereitung (links) ist.

Dem Screenshot kann man verschiedene farbliche Markierungen entnehmen. Das linke Fenster in Orange entspricht der Szene mit dem Namen "Szene 2 (Vorschau)". Das rechte Fenster in Lila entspricht somit der Szene "Szene 1 (Programm)". Die Benennung der Szenen kann frei gesetzt werden. Das ist möglich über einen Rechtsklick auf die Szene und dann die Schaltfläche "Umbennen"/"Rename".

OBS05.jpg OBS03.jpg OBS04.jpg OBS05.jpg

In einer Szene können mehrere Quellen hinterlegt werden. Im linken Vorschaufenster (Orange) sind drei unterschiedliche Quellen zusehen, welche gerade vom Bildschirm abgegriffen werden und frei positioniert wurden. Diese Quellen sind als Ebenen übereinander gelegt. Dies kann man sich wie Klarsichtfolien vorstellen, welche jeweils ein unterschiedliches Motiv zeigen und übereinander gelegt sind. Zu einem haben wir ganz oben das gelbliche Fenster namens OBS Browser. Hierbei handelt es sich um einen integrierten Browser im OBS, welcher eine URL aufruft und die Seite rendert. Darunter in Grün wird ein Terminal mit dem Taskmanager htop aufgenommen und zum Schluss wurde in diesem Beispiel noch ein Firefox Fenster hinzugefügt. Die Szenen können über einen Klick gewechselt werden, sodass Szene 2 Live geht.


Neue Szene hinzufügen

Um eine eigene neue Szene hinzuzufügen, muss lediglich im Szenen Fenster auf das Plus geklickt und der Szene ein Name gegeben werden. Hierbei wird eine neue und leere Szene erstellt, welche wir befüllen können. Zum Beispiel mit dem Abgreifen eines Fensters. Für dieses Beispiel benennen wir die neu erstellte Szene "Szene 3" und fügen im benachbarten Fenster eine neue Quelle hinzu.

Beachtet das sich die Quellen im Namen unterscheiden können, je nach dem welches Betriebssystem benutzt wird und welcher grafischer Server im Einsatz ist. In diesem Beispiel wird unter Arch Linux mit X11 gearbeitet, weshalb die Fensteraufnahme den Beititel Xcomposite trägt.

2022-04-03_17-17.png

2022-04-03_17-18.png


Bild Quellen hinzufügen

Da wir nun eine neue Szene haben, klicken wir ebenfalls auf das Plus Symbol bei den Quellen und fügen eine neue Quelle hinzu. Diese nennt sich Fensteraufnahme.

2022-04-03_17-30.png

2022-04-03_17-19.png

In dem darauf folgenden Fenster können wir das Fenster definieren, welches aufgezeichnet werden soll. Hierzu muss auf die Schaltfläche Fenster geklickt werden und das jeweilige Fenster ausgewählt werden. Daraufhin können noch vereinzelte Optionen angepasst werden. Bestätigt wird dies mit Okay.

2022-04-03_17-32.png

2022-04-03_17-20.png

Im Vorschaufenster sehen wir nun den Firefox Browser, welchen ich für diese Einführung ausgewählt habe. Die rote Markierung um das Fenster bietet mit die Möglichkeit das Fenster zu skalieren und somit zu verkleinern oder zu positionieren.

2022-04-03_17-31.png

Zu der bestehenden Quelle fügen wir nun unsere Webcam als eine eigene Quelle hinzu. Dafür klicken wir erneut auf das Plussymbol und wählen Videoaufnahmegerät. (Das V4L2 steht für Video For Linux 2 und ist eine Linux spezifische Bezeichnung). In dem folgenden Fenster können noch Einstellungen durchgeführt und mit einem Klick auf "okay" bestätigt werden.

2022-04-03_17-42.png