Wie wir 24/7 auf Twitch und YouTube streamen
Falls Sie es noch nicht gesehen haben, streamen wir unsere Bibelstunden 24/7 auf YouTube und Twitch. Und in diesem Leitfaden werde ich Ihnen zeigen, wie wir dies technisch erreichen.
Die grundlegende Antwort
Wir verwenden eine FFmpeg-Wiedergabeliste auf einem Digital Ocean Droplet. Wenn dies nicht das ist, was Sie verwenden möchten, können Sie jetzt abbrechen.
Dieser Leitfaden wird sehr technisch sein und sich speziell darauf beziehen, wie ich dies mit unserem Material erreicht habe. Einige Elemente werden für Ihre Einrichtung möglicherweise nicht anwendbar sein, aber hoffentlich geben sie Ihnen eine gewisse Orientierung.
1. Richten Sie den Tropfen ein
Wir verwenden Digital Ocean, um unseren Remote-Server zu erstellen, aber Sie könnten dieselbe Einrichtung auf jeder anderen Plattform vornehmen, die Befehlszeilenfunktionen zum Ausführen von Skripten und Installieren von Anwendungen bietet und genügend monatlichen Datentransfer für 24/7-Streaming enthält.
Hier sind die Spezifikationen:
Ich konnte den niedrigsten Droplet mit 512 MB RAM und 10 GB Festplatte verwenden und habe ein Volume Storage-Laufwerk für die Videos daran angeschlossen.
2. Laden Sie Ihre Videos hoch
Auf Ihrem eingebundenen Laufwerk oder wenn Sie eine allgemeine Hosting-Plattform verwenden, erstellen Sie einen videos-Ordner und organisieren Sie die Videos so, wie Sie mit ihnen arbeiten möchten. So organisieren wir sie:

Es basiert alles auf Slugs und Reihenfolge. Unsere Serien haben einen Slug (christianity-for-beginners), dann hat jede Lektion einen Slug mit der Elementreihenfolge davor.
So werden unsere Daten in unserer Datenbank gespeichert und verwendet, wenn Wiedergabelisten erstellt und unser Fortschritt in der Reihenfolge der Videos verfolgt wird.
3. FFmpeg hinzufügen
Öffnen Sie Ihre Befehlszeile und prüfen Sie, ob ffmpeg bereits installiert ist:
ffmpeg -version
Falls nicht, führen Sie den folgenden Code für Ubuntu-Installationen aus:
sudo apt update
sudo apt install ffmpeg
Sie können die Versionsprüfung erneut ausführen, um sicherzustellen, dass sie vorhanden ist.
4. Erstelle die Wiedergabeliste
FFmpeg kann eine Liste von Videos basierend auf einer Wiedergabeliste abspielen. Lassen Sie uns eine erstellen. Ich nenne die Datei in unserem System assets.txt und sie befindet sich im Stammverzeichnis. Sie ist sehr einfach und sieht ungefähr so aus:

Unsere vollständige Wiedergabeliste umfasst über 370 Videos! Schau sie dir an.
In unserer FFmpeg-Funktion später werden wir FFmpeg anweisen, zu wiederholen, sodass es, sobald es das letzte Video erreicht hat, zum Anfang zurückkehrt. Wenn also Ihr Skript aus irgendeinem Grund abstürzt, wird es immer zum Anfang Ihrer Liste zurückkehren.
Dies ist ein Bonus, aber um zu verhindern, dass es immer wieder von vorne beginnt, generiere ich diese Wiedergabeliste dynamisch von unserer Webseite, sodass ich im Falle eines Absturzes weiß, an welcher Stelle wir uns in der Wiedergabeliste befinden, und dann die Reihenfolge der Wiedergabeliste dynamisch zurücksetzen kann. Hier ist eine kurze Übersicht über diesen Prozess.
Ich lade eine Datenbank mit der Artikel-ID und deren Start- und Endzeit basierend auf der Länge des Videos. Ich lade dies für ein paar Monate vor und komme dann zurück, um es aktuell zu halten. Du könntest ein anderes Skript haben, das dies für dich erledigt.

Bevor der Stream neu gestartet wird, pinge ich unsere Webseite an und erstelle die assets.txt in der neuen aktualisierten Reihenfolge und lade sie auf den entfernten Droplet hoch, den du im nächsten Schritt sehen wirst.
5. Das Erstellen des Skripts
Wir werden nun ein Bash-Skript erstellen, das von einem Cronjob ausgeführt wird. Hier ist eine Grafik unseres Skripts.

Script als Textdatei ansehen: rerun.txt
Stellen Sie sicher, dass Sie den {YOUR_STREAM_KEY} mit Ihrem tatsächlichen Schlüssel aktualisieren. Sie können auch den Twitch-Endpunkt aktualisieren, um näher an Ihrem Serverstandort zu sein. Twitch-Endpunkte anzeigen.
Überprüfen Sie die Skriptdateien oben im Textformat, um die Einstellungen zu sehen, auf die ich mich festgelegt habe. Es gibt so viele Optionen, und die FFmpeg-Dokumentation ist ziemlich gut. Sie können Fehler protokollieren, wie am Ende des Twitch-Skripts oben, um zu sehen, was schiefgelaufen ist.
6. Ausführen des Skripts
Um das Skript auszuführen, richten wir einen Cron-Hiob ein, der dies übernimmt. Hier ist ein hilfreicher Leitfaden zu Cronjobs, falls Sie damit nicht vertraut sind.
Ich habe mich entschieden, das Skript jede Minute mit dem folgenden Cronjob auszuführen, weil die automatische Endfunktion von YouTube den Stream anscheinend beendet, wenn eine Minute lang keine Daten an sie gesendet werden. Daher habe ich festgestellt, dass es am besten ist, dies häufig auszuführen.
* * * * * ./rerun.sh
Abschluss
Ich habe nicht jeden Aspekt des Prozesses behandelt, sondern nur einige der wichtigsten technischen Teile. Sie müssten dennoch Kenntnisse über die Erstellung Ihrer Live-Stream-Einstellungen in einer der beiden Plattformen haben, aber dies sollte ein guter Ausgangspunkt sein.
Kontaktieren Sie mich auf X mit Ihren Fragen oder Problemen, und ich werde diese Anleitung aktualisieren, wenn Szenarien geteilt werden.



