Textänderungen

This commit is contained in:
Bernd Reuther 2020-04-20 01:23:59 +02:00
parent afb4448739
commit fe9dc9cad4

View File

@ -1,6 +1,6 @@
# Video-Livestream
In dieser Dokumentation beschreiben wir, wie der Gottesdienst in unserer Gemeinde live übertragen wird. Die Übertragung erfolgt bei uns nicht öffentlich, sondern ist für Gemeindemitglieder und Freunde gedacht, die aus verschiedenen Gründen den Gottesdienst nicht besuche können, aber mit unserer Gemeinde verbunden sind. Voraussetzung dafür ist (neben der hier beschriebenen Austattung) ein eigener bzw. gemieteter Internet Server. Die Vorgehensweise lässt sich an verschiedene Anwendungsbereiche (also z.B. auch öffentlicher Livestream) anpassen.
In dieser Dokumentation beschreiben wir, wie die Gottesdienste in unserer Gemeinde live übertragen werden. Die Übertragung erfolgt bei uns nicht öffentlich, sondern ist für Gemeindemitglieder und Freunde gedacht, die aus verschiedenen Gründen den Gottesdienst nicht besuche können, aber mit unserer Gemeinde verbunden sind. Wir streamen daher nicht auf bekannte Plattformen wie Youtube, Facebook, o.ä., sondern verwenden dafür einen gemieteter Internet Server. Die grundsätzliche Vorgehensweise lässt sich aber auch an andere Anwendungsbereiche oder Streaming-Ziele anpassen.
![unser Gemeinde](bilder/saal.jpg)
@ -41,7 +41,7 @@ Der HDMI-Ausgang der Kamera ist zunächst mit einem sogenannten "HDMI-Audio-Inse
![HDMI Audio Inserter](bilder/hdmi_audio_insert.jpg)
Wenn man den Ton der Kamera nicht verwenden möchte, ist auf jedan Fall das Einfügen des Audiosignals **vor** dem Encoder notwendig, um die Syncronität von Bild und Ton beizubehalten. Softwareseitig (im OBS-Studio) könnte man auch noch Tonspuren einfügen, die würden dann aber im fertigen Stream zeitversetzt vor dem Bild laufen, weil der Encoder den HDMI-Datenstrom leicht verzögert ausgibt.
Wenn man den Ton der Kamera nicht verwenden möchte, ist auf jeden Fall das Einfügen des Audiosignals **vor** dem Encoder notwendig, um die Syncronität von Bild und Ton beizubehalten. Softwareseitig (im OBS-Studio) könnte man auch noch Tonspuren einfügen, die würden dann aber im fertigen Stream zeitversetzt vor dem Bild laufen, weil der Encoder den HDMI-Datenstrom leicht verzögert ausgibt.
> Neuere Encoder haben die Audio-Insert-Funktion bereits integriert und man kann das Audiosignal direkt in den Encoder einspeisen. Das von uns verwendete Modell ist eine Vorgängerversion der aktuellen Serie und besitzt keinen Audio-Eingang.
@ -49,10 +49,10 @@ Wenn man den Ton der Kamera nicht verwenden möchte, ist auf jedan Fall das Einf
### Encoder
Obwohl man mit Hilfe eines HDMI-Grabbers (HDMI-Capture) den HDMI-Datenstrom direkt in den Computer übertragen, und dort im OBS-Studio den Ton dazu mischen könnte, haben wir uns aus verschiedenen Gründen für eine externe Lösung in Form eines IPTV-Encoders entschieden:
Obwohl man auch mit Hilfe eines HDMI-Grabbers (HDMI-Capture Karte) den HDMI-Datenstrom direkt in den Computer übertragen könnte, haben wir uns aus verschiedenen Gründen für eine externe Lösung in Form eines IPTV-Encoders entschieden:
* Ein externes Gerät entlastet den Computer. In unserem Fall läuft darauf neben dem OBS-Studio auch noch [OpenLP](https://openlp.org) damit das Beamer-Bild in den Video-Stream integriert werden kann
* Der von uns verwendete Encoder [IRENIS ADE-264](https://www.blankom.de/ip-encoder-en/iptv-streamer-encoder-hdmi-cvbs-input-irenis-ade-264/) kann 2 Streams mit unterschiedlichen Auflösungen und Kompressionsraten erzeugen. Wir nutzen das, um einen Stream mit höherer Auflösung an einen Monitor in unserem Eltern-Kind-Raum zu senden. Der zweite Stream wird über das OBS-Studio an unseren Internet-Server geschickt.
* Der von uns verwendete Encoder [IRENIS ADE-264](https://www.blankom.de/ip-encoder-en/iptv-streamer-encoder-hdmi-cvbs-input-irenis-ade-264/) kann 2 Streams mit unterschiedlichen Auflösungen und Kompressionsraten erzeugen. Wir nutzen das, um einen Stream mit höherer Auflösung in unserem Eltern-Kind-Raum an einem großen Monitor anzuzeigen. Der zweite Stream wird über das OBS-Studio an unseren Internet-Server geschickt.
![Encoder](bilder/encoder.jpg)
@ -60,7 +60,7 @@ Obwohl man mit Hilfe eines HDMI-Grabbers (HDMI-Capture) den HDMI-Datenstrom dire
### Audio-Mischpult
Die Einstellungen des Audio-Mixers, der für die Beschallung unserer Gottesdienste verwendet wird, entsprechen in den meisten Fällen nicht denen, die für eine Aufnahme bzw. Übertragung notwendig sind. Das reicht von unterschiedlichen Lautstärkeverhältnissen zwischen Musik und Sprache bis zu den Klang- und Dynamikeinstellungen der einzelnen Kanäle. Neuere und größere Digital-Mischpulte, wie das von und verwendete [Soundcraft Si Impact](https://www.soundcraft.com/products/si-impact) bieten die Möglichkeit, einen Sub-Mix zu erstellen und an seperate Ausgänge zu legen. Weil das ziemlich komplexe Einstellungen sind und unerfahrene Techniker schnell an ihre Grenzen bringt, verwenden wir ein zusätzliches kleines Digital-Mischpult für den Video-Ton.
Die Einstellungen des Audio-Mixers, der für die Beschallung unserer Gottesdienste verwendet wird, entsprechen in den meisten Fällen nicht denen, die für eine Aufnahme bzw. Übertragung notwendig sind. Das reicht von unterschiedlichen Lautstärkeverhältnissen zwischen Musik und Sprache bis zu den Klang- und Dynamikeinstellungen der einzelnen Kanäle. Neuere und größere Digital-Mischpulte, wie das von uns verwendete [Soundcraft Si Impact](https://www.soundcraft.com/products/si-impact) bieten die Möglichkeit, einen Sub-Mix zu erstellen und an seperate Ausgänge zu legen. Weil das ziemlich komplexe Einstellungen sind und unerfahrene Techniker schnell an ihre Grenzen bringt, verwenden wir ein zusätzliches kleines Digital-Mischpult für den Video-Ton.
![Mixer](bilder/mixer.jpg)
@ -78,7 +78,7 @@ Als PC verwenden wir einen handelsüblichen Büro-Computer mit [Ubuntu](https://
### Server
Für die bereitstellung des Video-Live-Streams über das Internet verwenden wir einen gemieteten root-Server. Die detailierte Beschreibung der Einrichtung des Servers würde hier zu weit führen. Wer einen eigenen Server betreibt, sollte auf jeden Fall über ausreichende Kenntnisse in diesem Bereich verfügen. Die erforderliche Leistung des Servers hängt von der Anzahl der gleichzeitigen Zuschauer des Live-Streams ab. Neben der reinen Prozessorleistung bzw. Arbeitsspeichergröße, ist dabei auch die Netzwerk-Last zu beachten. Für unseren Live-Stream verwenden wir einen root-Server mit 4 Kernen und 16GB Ram. Bei 48 Clients liegt die CPU-Last bei etwa 30%. Im Downstream (Server zu Clients) lagen ca. 80 MBit/s an.
Für die bereitstellung des Video-Live-Streams über das Internet verwenden wir einen gemieteten root-Server. Die detailierte Beschreibung der Einrichtung des Servers würde hier zu weit führen. Wer einen eigenen Server betreibt, sollte auf jeden Fall über ausreichende Kenntnisse in diesem Bereich verfügen. Die erforderliche Leistung des Servers hängt von der Anzahl der gleichzeitigen Zuschauer des Live-Streams ab. Neben der reinen Prozessorleistung bzw. Arbeitsspeichergröße, ist dabei auch die Netzwerk-Last zu beachten. Für unseren Live-Stream verwenden wir einen root-Server mit 4 Kernen und 16GB Ram. Bei 48 Clients liegt die CPU-Last bei etwa 30%. Der Downstream (Server zu Clients) erzeugt ca. 80 MBit/s.
*[^ zum Anfang](#ausstattung)*
@ -94,14 +94,14 @@ curl -o - https://releases.mistserver.org/is/mistserver_64V2.17.tar.gz 2>/dev/nu
> Achtung! Nach dem Ausführen des Befehls startet der MistServer automatisch und ist ungesichert über den Port 4242 erreichbar (wenn keine Firewall aktiv ist)!
Der MistServer ist über folgende Ports erreichbar, die gegebenenfalls in der Firewall zugelassen werden müssen.
Der MistServer kommuniziert standardmässig über folgende Ports, die gegebenenfalls in der Firewall zugelassen werden müssen.
- TCP 1935 - RTMP-Port für Upload von OBS-Studio bzw. Download über entsprechende Programme
- TCP 4242 - Management-Interface
- TCP 8080 - HTTP-Port für Streaming-Clients
- TCP 4433 - HTTPS-Port für Streaming-Clients
Die Ports 4242 und 8080 müssen nicht freigegeben werden, wenn vor dem MistServer noch ein anderer Wabserver (wie z.B. Apache) als ReverseProxy eingerichtet ist.
Die Ports 4242 und 8080 müssen nicht freigegeben werden, wenn vor dem MistServer noch ein anderer Webserver (wie z.B. Apache) als ReverseProxy eingerichtet ist.
Wir nutzen den Apache-Webserver mit folgenden Einstellungen (Servernamen als Beispiel):
@ -181,7 +181,7 @@ New password: <admin-passwort>
Re-type new password: <admin-passwort>
```
Mit diesen Einstellungen ist das Management-Interface vom MistServer nur noch über `https://video.domain.tld/admin` erreichbar und die Video-Streams unter `http://video.domain.tld/<Streamnummer>.html`. RTMP läuft weiterhin über Port 1935 und mit einem entsprechenden Programm (wie z.B. VLC-Player) können die Streams auch unter `rtmp://video.domain.tld:1935/play/<Streamnummer>` angesehen werden.
Mit diesen Einstellungen ist das Management-Interface vom MistServer nur noch über `https://video.domain.tld/admin` erreichbar und die Video-Streams unter `https://video.domain.tld/<Streamnummer>.html`. RTMP läuft weiterhin über Port 1935 und mit einem entsprechenden Programm (wie z.B. VLC-Player) können die Streams auch unter `rtmp://video.domain.tld:1935/play/<Streamnummer>` angesehen werden.
*[^ zum Anfang](#ausstattung)*
@ -280,10 +280,10 @@ Nun kann die Bildschirmaufnahme auf der Anzeige verschoben, bzw. vergrößert od
![OBS-Studio Einstellungen](bilder/obs_2szenen.jpg)
Eine weitere Szene nutzen wir bei Gottesdiensten, die ausschliesslich online übertraben werden (während der Corona-Kriese 2020), um Informationen direkt neben dem Sprecher zu platzieren. Die Vorgehensweise ist dabei in etwa so, wie bereits beschriebenen. Zunächst wird eine neuen Szene angelegt, die wieder aus der ersten Szene dupliziert wird, damit das Live-Video als Hintergrund da ist. Dann kommt eine neue Quelle vom Typ "Bild" hinzu, die auf eine Datei mit dem entsprechendem Inhalt verweist. Die Bild-Datei sollte vom Vormat so erstellt werden, dass sie auf eine Hälfte des Live-Streams passt.
Eine weitere Szene nutzen wir bei Gottesdiensten, die ausschliesslich online übertraben werden (z.B. während der Corona-Kriese 2020), um Informationen direkt neben dem Sprecher zu platzieren. Die Vorgehensweise ist dabei in etwa so, wie bereits beschriebenen. Zunächst wird eine neuen Szene angelegt, die wieder aus der ersten Szene dupliziert wird, damit das Live-Video als Hintergrund da ist. Dann kommt eine neue Quelle vom Typ "Bild" hinzu, die auf eine Datei mit dem entsprechendem Inhalt verweist. Die Bild-Datei sollte vom Format so erstellt werden, dass sie auf eine Hälfte des Live-Streams passt.
![OBS-Studio Einstellungen](bilder/obs_3szenen.jpg)
Jetzt kann während des streamens gan einfach durch einen Mausklick auf die entsprechende Szene umgeschaltet werden. Wenn man z.B. zwischen Szene 1 und 3 wechselt, wird das Info-Bild sanft ein- oder ausgeblendet, ohne dass dabei der Kamera-Stream unterbrochen wird.
Jetzt kann während des streamens ganz einfach durch einen Mausklick auf die entsprechende Szene umgeschaltet werden. Wenn man z.B. zwischen den Szenen 1 und 3 wechselt, wird das Info-Bild sanft ein- oder ausgeblendet, ohne dass dabei der Kamera-Stream unterbrochen wird.
*[^ zum Anfang](#ausstattung)*