Schritt 5: Einrichten von Streaming-Software - Amazon IVS

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:

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

  1. Öffnen Sie die Amazon RDS-Konsole.

    (Sie können auf die Amazon IVS Konsole auch über die AWS-Managementkonsole zugreifen.)

  2. Wählen Sie im Navigationsbereich Kanäle aus. (Wenn der Navigationsbereich ausgeblendet ist, erweitern Sie ihn über das Hamburger-Symbol.)

  3. Wählen Sie den Kanal aus, auf den Sie übertragen möchten, um seine Detailseite aufzurufen.

  4. Wählen Sie die Registerkarte Übertragen aus. Die Registerkarte wird unter dem Abschnitt Allgemeine Konfiguration angezeigt.

  5. Sie werden aufgefordert, der IVS-Konsole Zugriff auf Ihre Kamera und Ihr Mikrofon zu gewähren. Erlauben Sie diese Berechtigungen.

  6. Wählen Sie in den Dropdown-Feldern unten auf der Registerkarte Übertragung die Eingabegeräte für das Mikrofon und die Kamera aus.

  7. Um mit dem Streaming zu beginnen, wählen Sie Übertragung starten aus.

  8. 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 auf der Seite mit den IVS-Preisen.

Streaming mit OBS Studio mithilfe von RTMPS

(OBS Studio) ist eine kostenlose Open-Source-Software-Suite für Aufzeichnung und Livestreaming. OBS bietet Echtzeit-Quell- und Geräteerfassung, Szenenkomposition, Kodierung, Aufzeichnung und Streaming.

Befolgen Sie diese Schritte, um schnell mit OBS Studio v30.2 oder höher arbeiten zu können:

  1. Laden Sie die Software herunter und installieren Sie sie: https://obsproject.com/download.

  2. 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.

  3. 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.

  4. 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:

    1. Um die Videoauflösung anzupassen, verwenden Sie Settings > Video > Output (Scaled) Resolution (Einstellungen > Video > Ausgabeauflösung (skaliert)).

    2. 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.

  5. 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.

  6. 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:

  1. Klicken Sie auf Einstellungen > Stream.

  2. Wählen Sie im Dropdown-Menü Amazon IVS aus.

  3. 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:

  1. Laden Sie die Software herunter und installieren Sie sie: https://obsproject.com/download.

  2. 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.

  3. 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.

  4. 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:

    1. Um die Videoauflösung anzupassen, verwenden Sie Settings > Video > Output (Scaled) Resolution (Einstellungen > Video > Ausgabeauflösung (skaliert)).

    2. Um die Videobitrate anzupassen, verwenden Sie Settings > Output > Streaming > Video Bitrate (Einstellungen > Ausgabe > Streaming > Videobitrate).

  5. 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.

  6. Wählen Sie im Hauptfenster von OBS Studio -Streaming starten.

Sie können Ihre OBS-Einstellungen später manuell ändern:

  1. Klicken Sie auf Einstellungen > Stream.

  2. Klicken Sie auf Benutzerdefiniert aus der Dropdown-Liste.

  3. 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:

  1. Laden Sie FFmpeg herunter und installieren Sie sie: https://www.ffmpeg.org/download.html.

  2. Wählen Sie $VIDEO_FILEPATH als Speicherort eines MP4-Videos, das gestreamt werden soll:

    VIDEO_FILEPATH=/home/test/my_video.mp4
  3. Setzen Sie STREAM_KEY auf Ihren StreamKey-Wert:

    STREAM_KEY=sk_us-west-2_abcd1234efgh5678ijkl
  4. Legen Sie INGEST_ENDPOINT auf Ihren ingestEndpoint (von der AWS CLI) fest:

    INGEST_ENDPOINT=a1b2c3d4e5f6.global-contribute.live-video.net
  5. 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

  1. 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.

  2. 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. Falls libsrt 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
  3. Wählen Sie $VIDEO_FILEPATH als Speicherort eines MP4-Videos, das gestreamt werden soll:

    VIDEO_FILEPATH=/home/test/my_video.mp4
  4. Setzen Sie STREAM_KEY auf Ihren StreamKey-Wert:

    STREAM_KEY=sk_us-west-2_abcd1234efgh5678ijkl
  5. Legen Sie INGEST_ENDPOINT auf den Endpunkt (aus der AWS-CLI unter dem srt-Objekt) fest:

    INGEST_ENDPOINT=a1b2c3d4e5f6.srt.live-video.net
  6. Legen Sie PASSPHRASE auf die Passphrase (aus der AWS-CLI unter dem srt-Objekt) fest: Verwenden Sie nur eine Passphrase, wenn die unsichere Erfassung für den Kanal nicht aktiviert ist.

    PASSPHRASE=ZU5A3yrjGAkghUNDr0c5NXBhsPrjlmtcKMNBluh7oImwJQ3ijeyClvMKxlpPcGAMziICJ
  7. 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”