Schritt 5: Einrichten von Streaming-Software
Sie können (niedrige Latenz) auf Amazon IVS streamen mit:
-
Die nativen IVS-Broadcast-SDKs, die RTMPS unterstützen. Wir haben dies insbesondere für Produktionsszenarien empfohlen.
-
Die Amazon IVS-Konsole – Diese eignet sich zum Testen von Streams.
-
Andere Streaming-Software- und Hardware-Encoder – Sie können jeden Streaming-Encoder verwenden, der die Protokolle RTMP, RTMPS oder SRT unterstützt. Im Anschluss werden mehrere Beispiele beschrieben, die Open Broadcast Software (OBS) und FFmpeg mit RTMPS und SRT verwenden. RTMPS ermöglicht hohe Sicherheit durch die Verwendung eines verschlüsselten TLS-Streams.
Schlüsselencoder-Einstellungen sind Keyframe-Intervalle (2 Sekunden) und Auflösung/Bitrate/Bildrate (die miteinander verknüpft sind). Weitere Informationen zu den Encoder-Einstellungen finden Sie unter:
-
Streaming-Konfiguration im Amazon-IVS-Benutzerhandbuch
-
Dieser Blogbeitrag: Einrichten für das Streaming mit dem Amazon Interactive Video Service
Hinweise:
-
Die maximale Dauer von Amazon IVS-Streams beträgt 48 Stunden. Danach wird der Stream beendet und die Streaming-Sitzung getrennt. Eine erfolgreiche Wiederverbindung (automatisch oder manuell) startet einen neuen Stream.
-
Wenn Ihr Encoder keine Daten sendet (z. B. aufgrund eines temporären Netzwerkproblems), wartet Amazon IVS 30 Sekunden lang. Wenn während dieser Zeit keine Broadcaster-Daten empfangen werden, wird die Verbindung von Amazon IVS getrennt.
Streaming mit dem Amazon-IVS-Broadcast-SDK
Um von Ihren iOS- oder Android-Anwendungen zu übertragen, können Sie das Amazon-IVS-Broadcast-SDK verwenden. Das Broadcast-SDK nutzt die Amazon-IVS-Architektur und bietet neben Amazon IVS kontinuierliche Verbesserungen und neue Features. Als natives mobiles Broadcast-SDK wurde es entwickelt, um die Leistungsauswirkungen auf Ihre Anwendung und auf die Geräte, mit denen Ihre Benutzer auf Ihre Anwendung zugreifen, zu minimieren.
Um zu senden von ... | Sie können Folgendes verwenden … | Hinweise |
---|---|---|
Ihre Android- oder iOS-Anwendungen | Amazon-IVS-SDK für Android oder iOS | Als natives mobiles Broadcast-SDK wurde es entwickelt, um die Leistungsauswirkungen auf Ihre Anwendung und auf die Geräte, mit denen Ihre Benutzer auf Ihre Anwendung zugreifen, zu minimieren. |
Eine Web-Umgebung | Web-Broadcast-SDK von Amazon IVS | Als Web-Broadcast-SDK ermöglicht Ihnen das Web-Broadcast-SDK von Amazon IVS die Übertragung von Web-Umgebungen mithilfe von WebRTC. Es bietet browser- und plattformübergreifende Unterstützung. |
Details hierzu finden Sie unter IVS-Broadcast-SDK | Streaming mit niedriger Latenz.
Streaming mit der Amazon IVS-Konsole
-
Öffnen Sie die Amazon RDS-Konsole
. (Sie können auf die Amazon IVS Konsole auch über die AWS-Managementkonsole
zugreifen.) -
Wählen Sie im Navigationsbereich Kanäle aus. (Wenn der Navigationsbereich ausgeblendet ist, erweitern Sie ihn über das Hamburger-Symbol.)
-
Wählen Sie den Kanal aus, auf den Sie übertragen möchten, um seine Detailseite aufzurufen.
-
Wählen Sie die Registerkarte Übertragen aus. Die Registerkarte wird unter dem Abschnitt Allgemeine Konfiguration angezeigt.
-
Sie werden aufgefordert, der IVS-Konsole Zugriff auf Ihre Kamera und Ihr Mikrofon zu gewähren. Erlauben Sie diese Berechtigungen.
-
Wählen Sie in den Dropdown-Feldern unten auf der Registerkarte Übertragung die Eingabegeräte für das Mikrofon und die Kamera aus.
-
Um mit dem Streaming zu beginnen, wählen Sie Übertragung starten aus.
-
Um den Livestream anzusehen, wechseln Sie zur Registerkarte Wiedergabe.
Hinweis: Nachdem Sie den Stream gestartet haben, müssen Sie mit einer kurzen Verzögerung rechnen (normalerweise unter 30 Sekunden), bevor er auf der Registerkarte „Wiedergabe“ angezeigt wird.
Sie können dieses Feature verwenden, um gleichzeitig auf mehrere Kanäle zu übertragen.
Hinweis: Das Streamen von der Konsole verbraucht Ressourcen, und es fallen Kosten für den Live-Videoeingang an. Weitere Informationen finden Sie unter Kosten für den Live-Videoeingang
Streaming mit OBS Studio mithilfe von RTMPS
(OBS Studio
Befolgen Sie diese Schritte, um schnell mit OBS Studio v30.2 oder höher arbeiten zu können:
-
Laden Sie die Software herunter und installieren Sie sie: https://obsproject.com/download
. -
Führen Sie den OBS Studio-Autokonfigurationsassistenten aus, der erscheint, wenn Sie OBS Studio zum ersten Mal laden. Führen Sie die Schritte aus und übernehmen Sie die Standardeinstellungen.
-
Wählen Sie unter Stream-Informationen im Dropdown-Menü Service die Option Amazon IVS aus und geben Sie den Stream-Schlüssel ein.
Wenn Sie den Kanal mit der Amazon-IVS-Konsole erstellt haben, ist der Stream-Schlüssel, den Sie in OBS eingeben, der Stream-Schlüssel aus der Konsole:
sk_us-west-2_abcd1234efgh5678ijkl
Wenn Sie den Kanal mit der Amazon-CLI erstellt haben, ist der Stream-Schlüssel, den Sie in OBS eingeben, der Stream-Schlüssel aus der CLI-Antwort:
sk_us-west-2_abcd1234efgh5678ijkl
Wenn Ihr IVS-Kanal für den Multitrack-Videoeingang konfiguriert ist, wählen Sie Multitrack-Video aktivieren aus. Konfigurieren Sie optional die Einstellungen Maximale Anzahl von Videospuren und Maximale Streaming-Bandbreite, mit denen die automatisch konfigurierten Stream-Einstellungen begrenzt werden.
-
Für Videoausgabeauflösung und Bitrate finden Sie Informationen unter Kanaltypen in der Amazon-IVS-Streaming-Konfiguration. Wenn einer der vom OSP-Assistenten gewählte Wert die von Amazon IVS zulässigen Werte überschreitet, sollten Sie die Werte manuell anpassen, um eine fehlgeschlagene Verbindung zu Amazon IVS zu vermeiden. Nachdem der Assistent abgeschlossen ist:
-
Um die Videoauflösung anzupassen, verwenden Sie Settings > Video > Output (Scaled) Resolution (Einstellungen > Video > Ausgabeauflösung (skaliert)).
-
Um die Videobitrate anzupassen, verwenden Sie Settings > Output > Streaming > Video Bitrate (Einstellungen > Ausgabe > Streaming > Videobitrate).
Hinweis: Dies hat keine Auswirkungen auf den Livestream, wenn Sie zuvor Multitrack-Video aktivieren aktiviert haben.
-
-
Wir empfehlen ein 2-sekündiges Keyframe-Intervall, um die Streamstabilität zu verbessern und ein Puffern bei der Wiedergabe des Viewers zu vermeiden. Gehen Sie nach Abschluss des Assistenten zu Settings > Output > Output Mode (Einstellungen > Ausgabe > Ausgabemodus), wählen Sie Advanced (Erweitert) aus, und stellen Sie auf der Registerkarte Streaming sicher, dass Keyframe Interval (Keyframe-Intervall) auf 2 eingestellt ist.
Hinweis: Das Keyframe-Intervall wird automatisch konfiguriert, wenn Sie zuvor Multitrack-Video aktivieren aktiviert haben.
-
Wählen Sie im Hauptfenster von OBS Studio -Streaming starten.
Weitere Informationen zum Streaming mit OBS Studio finden Sie unter OBS Studio
Sie können Ihre OBS-Einstellungen später manuell ändern:
-
Klicken Sie auf Einstellungen > Stream.
-
Wählen Sie im Dropdown-Menü Amazon IVS aus.
-
Fügen Sie den Stream-Schlüssel ein.
Sie können den Assistenten jederzeit erneut ausführen: Extras > Assistent für automatische Konfiguration.
Optional können Sie in Einstellungen > Allgemein die lokale Aufzeichnung aktivieren, um Ihren Livestream für die spätere Verwendung zu speichern. Wie bereits erwähnt, können Netzwerkprobleme zwischen der Übertragung und AWS oder in AWS zu Datenverlusten während der Aufzeichnung Ihres Streams führen. In diesen Fällen priorisiert Amazon IVS den Livestream gegenüber der Aufzeichnung. Die lokale Aufzeichnung über Ihr Streaming-Tool bietet Redundanz.
Es ist ratsam, regelmäßig nach Updates für OBS Studio zu suchen und auf die aktuellste Version zu aktualisieren. (Wenn Sie beispielsweise den Fehler „Verbindung zum Server fehlgeschlagen“ erhalten, verwenden Sie möglicherweise eine alte Version von OBS Studio, die RTMPS nicht unterstützt.)
Streaming mit OBS Studio
Führen Sie diese Schritte aus, um schnell mit dem Secure Reliable Transport-Protokoll arbeiten zu können:
-
Laden Sie die Software herunter und installieren Sie sie: https://obsproject.com/download
. -
Führen Sie den OBS Studio-Autokonfigurationsassistenten aus, der erscheint, wenn Sie OBS Studio zum ersten Mal laden. Führen Sie die Schritte aus und übernehmen Sie die Standardeinstellungen.
-
Bei Stream Information (Streaming-Informationen) wählen Sie Custom... (Benutzerdefiniert...) aus dem Dropdown Service (Dienst) aus und geben den Server (Ingest server) (Server (Aufnahmeserver)) und Stream Key (Stream-Schlüssel) ein.
Wenn Sie den Kanal mit der AWS CLI erstellt haben:
-
Der Server, den Sie in OBS eingeben, besteht aus einer Kombination von fünf Dingen:
-
Ein Aufnahmeprotokoll:
srt://
-
Der Endpunkt aus der
srt
-Struktur in der CLI-Antwort:a1b2c3d4e5f6.srt.live-video.net
-
Ein Port:
9000
-
Eine Stream-ID, die der streamKey-Wert aus der CLI-Antwort ist:
sk_us-west-2_abcd1234efgh5678ijkl
-
Eine Passphrase, die zum Verschlüsseln des Inhalts verwendet wird. Verwenden Sie diese Option nur, wenn die unsichere Erfassung nicht aktiviert ist.
ZU5A3yrjGAkghUNDr0c5NXBhsPrjlmtcKMNBluh7oImwJQ3ijeyClvMKxlpPcGAMziICJ
Der vollständige Eintrag ist:
srt://a1b2c3d4e5f6.srt.live-video.net:9000?streamid=sk_us-west-2_abcd1234efgh5678ijkl&passphrase=ZU5A3yrjGAkghUNDr0c5NXBhsPrjlmtcKMNBluh7oImwJQ3ijeyClvMKxlpPcGAMziICJ
-
-
Der Stream-Schlüssel, den Sie in OBS eingeben, bleibt für das SRT-Protokoll leer.
-
-
Für Videoausgabeauflösung und Bitrate finden Sie Informationen unter Kanaltypen in der Amazon-IVS-Streaming-Konfiguration. Wenn einer der vom OSP-Assistenten gewählte Wert die von Amazon IVS zulässigen Werte überschreitet, sollten Sie die Werte manuell anpassen, um eine fehlgeschlagene Verbindung zu Amazon IVS zu vermeiden. Nachdem der Assistent abgeschlossen ist:
-
Um die Videoauflösung anzupassen, verwenden Sie Settings > Video > Output (Scaled) Resolution (Einstellungen > Video > Ausgabeauflösung (skaliert)).
-
Um die Videobitrate anzupassen, verwenden Sie Settings > Output > Streaming > Video Bitrate (Einstellungen > Ausgabe > Streaming > Videobitrate).
-
-
Wir empfehlen ein 2-sekündiges Keyframe-Intervall, um die Streamstabilität zu verbessern und ein Puffern bei der Wiedergabe des Viewers zu vermeiden. Gehen Sie nach Abschluss des Assistenten zu Settings > Output > Output Mode (Einstellungen > Ausgabe > Ausgabemodus), wählen Sie Advanced (Erweitert) aus, und stellen Sie auf der Registerkarte Streaming sicher, dass Keyframe Interval (Keyframe-Intervall) auf 2 eingestellt ist.
-
Wählen Sie im Hauptfenster von OBS Studio -Streaming starten.
Sie können Ihre OBS-Einstellungen später manuell ändern:
-
Klicken Sie auf Einstellungen > Stream.
-
Klicken Sie auf Benutzerdefiniert aus der Dropdown-Liste.
-
Fügen Sie den Server- und/oder Stream-Schlüssel ein.
Sie können den Assistenten jederzeit erneut ausführen: Extras > Assistent für automatische Konfiguration.
Optional können Sie in Einstellungen > Allgemein die lokale Aufzeichnung aktivieren, um Ihren Livestream für die spätere Verwendung zu speichern. Wie bereits erwähnt, können Netzwerkprobleme zwischen der Übertragung und AWS oder in AWS zu Datenverlusten während der Aufzeichnung Ihres Streams führen. In diesen Fällen priorisiert Amazon IVS den Livestream gegenüber der Aufzeichnung. Die lokale Aufzeichnung über Ihr Streaming-Tool bietet Redundanz.
Es ist ratsam, regelmäßig nach Updates für OBS Studio zu suchen und auf die aktuellste Version zu aktualisieren. (Wenn Sie beispielsweise den Fehler „Verbindung zum Server fehlgeschlagen“ erhalten, verwenden Sie möglicherweise eine alte Version von OBS Studio, die RTMPS nicht unterstützt.)
Streamen eines aufgezeichneten Videos mit FFmpeg mithilfe von RTMPS
Dazu gehen Sie wie folgt vor:
-
Laden Sie FFmpeg herunter und installieren Sie sie: https://www.ffmpeg.org/download.html
. -
Wählen Sie
$VIDEO_FILEPATH
als Speicherort eines MP4-Videos, das gestreamt werden soll:VIDEO_FILEPATH=/home/test/my_video.mp4
-
Setzen Sie
STREAM_KEY
auf Ihren StreamKey-Wert:STREAM_KEY=sk_us-west-2_abcd1234efgh5678ijkl
-
Legen Sie
INGEST_ENDPOINT
auf Ihren ingestEndpoint (von der AWS CLI) fest:INGEST_ENDPOINT=a1b2c3d4e5f6.global-contribute.live-video.net
-
Starten Sie das Streaming mit dem folgenden Terminalbefehl (dies ist alles eine Zeile):
ffmpeg -re -stream_loop -1 -i $VIDEO_FILEPATH -r 30 -c:v libx264 -pix_fmt yuv420p -profile:v main -preset veryfast -x264opts "nal-hrd=cbr:no-scenecut" -minrate 3000 -maxrate 3000 -g 60 -c:a aac -b:a 160k -ac 2 -ar 44100 -f flv rtmps://$INGEST_ENDPOINT:443/app/$STREAM_KEY
Beachten Sie, dass der obige Befehl ein Beispiel ist. Optimieren Sie für das Produktion-Streaming die Parameter für Ihre Bedürfnisse.
Streamen eines aufgezeichneten Videos mit FFmpeg mithilfe von SRT
-
Laden Sie FFmpeg herunter und installieren Sie sie: https://www.ffmpeg.org/download.html
. Wenn Sie eine alte/kompilierte Version von FFmpeg verwenden, erstellen Sie eine neue Version mit dem Flag --enable-libsrt
. -
Stellen Sie sicher, dass SRT für die Verwendung in FFmpeg verfügbar ist: Führen Sie den folgenden Befehl aus und stellen Sie sicher, dass
libsrt
in der Ausgabe enthalten ist. Fallslibsrt
nicht vorhanden ist, führen Sie eine Neuerstellung durch oder beschaffen Sie eine neuere Version von FFmpeg, die SRT unterstützt.ffmpeg -version | grep enable-libsrt
-
Wählen Sie
$VIDEO_FILEPATH
als Speicherort eines MP4-Videos, das gestreamt werden soll:VIDEO_FILEPATH=/home/test/my_video.mp4
-
Setzen Sie
STREAM_KEY
auf Ihren StreamKey-Wert:STREAM_KEY=sk_us-west-2_abcd1234efgh5678ijkl
-
Legen Sie
INGEST_ENDPOINT
auf den Endpunkt (aus der AWS-CLI unter demsrt
-Objekt) fest:INGEST_ENDPOINT=a1b2c3d4e5f6.srt.live-video.net
-
Legen Sie
PASSPHRASE
auf die Passphrase (aus der AWS-CLI unter demsrt
-Objekt) fest: Verwenden Sie nur eine Passphrase, wenn die unsichere Erfassung für den Kanal nicht aktiviert ist.PASSPHRASE=ZU5A3yrjGAkghUNDr0c5NXBhsPrjlmtcKMNBluh7oImwJQ3ijeyClvMKxlpPcGAMziICJ
-
Starten Sie das Streaming mit dem folgenden Terminalbefehl (dies ist alles eine Zeile):
ffmpeg -re -i $VIDEO_FILEPATH -c copy -f mpegts "srt://$INGEST_ENDPOINT:9000?streamid=$STREAM_KEY&passphrase=$PASSPHRASE”