Verwenden von Amazon EventBridge mit IVS-Streaming mit niedriger Latenz - Amazon Interactive Video Service

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Verwenden von Amazon EventBridge mit IVS-Streaming mit niedriger Latenz

Sie können Amazon verwenden EventBridge , um Ihre Amazon Interactive Video Service (IVS)-Streams zu überwachen.

Amazon IVS sendet Änderungsereignisse über den Status Ihrer Streams an Amazon EventBridge. Alle bereitgestellten Ereignisse sind gültig. Allerdings werden Ereignisse auf Best-Effort-Basis gesendet, was bedeutet, dass keine Garantie für Folgendes besteht:

  • Ereignisse werden übermittelt – Ein bestimmtes Ereignis kann auftreten (z. B. ein Stream startet), aber es ist möglich, dass Amazon IVS kein entsprechendes Änderungsereignis an sendet EventBridge. Amazon IVS versucht, Ereignisse mehrere Stunden vor dem Aufgeben zu liefern.

  • Ereignisse, die geliefert werden, kommen in einem bestimmten Zeitrahmen an – Sie können Ereignisse erhalten, die bis zu ein paar Stunden alt sind.

  • Ereignisse werden in der richtigen Reihenfolge geliefert – Ereignisse können ungeordnet sein, insbesondere wenn sie innerhalb kurzer Zeit zueinander gesendet werden. Beispielsweise könnte „Stream Down“ vor „Stream Up“ angezeigt werden.

Obwohl es selten ist, dass Ereignisse fehlen, spät oder nicht in richtiger Reihenfolge sind, sollten Sie diese Möglichkeiten berücksichtigen, wenn Sie geschäftskritische Programme schreiben, die von der Reihenfolge oder dem Vorhandensein von Benachrichtigungsereignissen abhängen.

Sie können EventBridge Regeln für jedes der folgenden Ereignisse erstellen.

Ereignistyp Veranstaltung Gesendet, wenn ...
IVS-Stream-Statusänderungen Vortrag erstellt Ein Channel-Stream-Schlüssel wurde erfolgreich verwendet und eine Stream-Session wurde erstellt. Dieses Ereignis wird ausgelöst, wenn ein Stream gestartet wird, bevor das Video verarbeitet oder an die Zuschauer übermittelt wird. Dieses Ereignis kann Ihnen helfen festzustellen, ob ein Stream initiiert wurde, aber nicht live geschaltet wurde, z. B. aufgrund einer Fehlkonfiguration oder einer Beschränkungsverletzung.
IVS-Stream-Statusänderungen Vortrag wurde beendet

Der Encoder wurde getrennt und Amazon IVS erhält kein Video mehr. Dieses Ereignis kann Ihnen helfen festzustellen, seit wann der Encoder keine Medien mehr sendet.

Hinweis: Wenn der Encoder die Verbindung trennt, kann das Ereignis „Session Ended“ vor dem Ereignis „Stream End“ auftreten. Dies liegt daran, dass es möglicherweise einen kurzen Zeitraum nach dem Ereignis zum Ende der Session geben kann, wenn Amazon IVS noch Video verarbeitet.

IVS-Stream-Statusänderungen Stream-Start Ein Stream wird verarbeitet und Segmente stehen dem Betrachter zur Verfügung. Dieses Ereignis zeigt an, dass der Videostream verarbeitet wird und von den Zuschauern angesehen werden kann. Dieses Ereignis kann Ihnen helfen festzustellen, ob ein Stream erfolgreich live übertragen wird.
IVS-Stream-Statusänderungen Stream-Ende Ein Stream stoppt die Verarbeitung und erzeugt keine Videosegmente mehr für den Viewer. Dieses Ereignis kann Ihnen helfen festzustellen, wann der Stream endete und seit wan keine neuen Videosegmente von den Zuschauern konsumiert werden können. (Siehe auch die Notiz unter „Session Ended“.)
IVS-Stream-Statusänderungen Stream-Fehler Ein Stream wird nicht verarbeitet und ist nicht verfügbar, da die Verarbeitungskapazität überschritten wurde.
IVS-Stream-Health-Änderung Starvation-Start Ein Stream empfängt keine Daten vom Streamer; der Stream soll in Starvation sein.
IVS-Stream-Health-Änderung Starvation-Ende Ein erwartender Stream beginnt Daten vom Streamer zu empfangen und der Stream ist wieder in Ordnung.
IVS-Grenzüberschreitung Aufnahme-Bitrate Die Bitrate des eingehenden Streams überschreitet das Amazon IVS-Limit.
IVS-Grenzüberschreitung Aufnahmeauflösung Die Auflösung des eingehenden Streams überschreitet die Amazon IVS-Grenze.
IVS-Grenzüberschreitung Gleichzeitige Übertragungen Die Gesamtzahl der gleichzeitig gestreamten Kanäle überschreitet das Amazon IVS-Grenze.
IVS-Grenzüberschreitung Gleichzeitige Zuschauer Die Gesamtzahl der Zuschauer, die gleichzeitig Ihre Kanäle ansehen, überschreitet die Amazon IVS-Grenze.
Statusänderung der IVS-Aufnahme Aufnahme starten

Ein Stream fängt an, verarbeitet zu werden und das Aufzeichnungspräfix wird erstellt und validiert. Segmente werden an den für den Kanal konfigurierten Speicherort geschrieben.

Beachten Sie, dass es nach dem Start eines Livestreams und der Ausgabe des Aufnahmestart-Ereignisses etwas Zeit dauert, bis die Manifestdateien und Videosegmente in den S3-Bucket geschrieben werden, der für den Kanal konfiguriert ist. Es wird empfohlen, aufgezeichnete Streams erst wiederzugeben oder zu verarbeiten, nachdem das Ereignis Aufzeichnungsende gesendet wurde.

Statusänderung der IVS-Aufnahme Aufnahme beenden Ein Stream endet und die Aufzeichnung stoppt für diesen Kanal.
Statusänderung der IVS-Aufnahme Fehler beim Aufzeichnen Ein Stream wird gestartet, aber die Aufzeichnung kann aufgrund von Fehlern nicht gestartet werden (z. B. ist der S3-Bucket nicht vorhanden oder befindet sich nicht in der richtigen Region). Dieser Livestream wird nicht aufgezeichnet.
Statusänderung der IVS-Aufnahme Fehler bei Aufnahmeende Die Aufnahme endet aufgrund von Fehlern, die während der Aufnahme aufgetreten sind (z. B. wenn der Versuch, eine Haupt-Wiedergabeliste zu schreiben, fehlschlägt). Einige Objekte können weiterhin in den konfigurierten Speicherort geschrieben werden.

Hinweis zu Stream-IDs Das Feld stream_id (in vielen Ereignissen) ist eine eindeutige Stream-ID die jedes Mal zugewiesen wird, wenn ein Kanal live geht. Für einen bestimmten Kanal hat jeder Livestream eine neue stream_id. Daher kann jeder Kanal-ARN viele entsprechende Stream-IDs haben. Stream-IDs ermöglichen es Kunden, verschiedene Stream-Sitzungen auf demselben Kanal zu unterscheiden.

Hinweis zur Latenz einiger Ereignisse: Die Einstellungen für die Encoder-Konfiguration, insbesondere das IDR/Keyframe-Intervall, wirken sich auf das Timing des Stream-Startups und die Latenz verwandter Ereignisse aus (Stream-Start und Aufzeichnungsstart). Ein kürzeres Keyframe-Intervall verringert diese Latenz. Siehe „Reduzierung der Latenz“ in Amazon IVS-Streaming-Konfiguration für Informationen zur Einstellung von IDR/Keyframe.

Erstellen von Amazon EventBridge -Regeln für Amazon IVS

Sie können eine Regel erstellen, die bei einem von Amazon IVS ausgegebenen Ereignis ausgelöst wird. Folgen Sie den Schritten unter Erstellen einer Regel in Amazon EventBridge im Amazon- EventBridge Benutzerhandbuch. Wählen Sie bei der Auswahl eines Services Interactive Video Service (IVS).

Beispiele: Stream-Statusänderung

Stream-Start: Dieses Ereignis wird gesendet, wenn ein Stream verarbeitet wird und Segmente für den Viewer verfügbar sind.

{ "version": "0", "id": "01234567-0123-0123-0123-012345678901", "detail-type": "IVS Stream State Change", "source": "aws.ivs", "account": "aws_account_id", "time": "2017-06-12T10:23:43Z", "region": "us-east-1", "resources": [ "arn:aws:ivs:us-east-1:aws_account_id:channel/12345678-1a23-4567-a1bc-1a2b34567890" ], "detail": { "event_name": "Stream Start", "channel_name": "Your Channel", "stream_id": "st-1A2b3c4D5e6F78ghij9Klmn" } }

Stream End: Dieses Ereignis wird gesendet, wenn ein Stream nicht mehr verarbeitet wird und keine Segmente mehr für den Viewer erzeugt.

{ "version": "0", "id": "01234567-0123-0123-0123-012345678901", "detail-type": "IVS Stream State Change", "source": "aws.ivs", "account": "aws_account_id", "time": "2017-06-12T10:23:43Z", "region": "us-east-1", "resources": [ "arn:aws:ivs:us-east-1:aws_account_id:channel/12345678-1a23-4567-a1bc-1a2b34567890" ], "detail": { "event_name": "Stream End", "channel_name": "Your Channel", "stream_id": "st-1A2b3c4D5e6F78ghij9Klmn" } }

Stream-Fehler: Dieses Ereignis wird gesendet, wenn ein Stream nicht verarbeitet wird und nicht verfügbar ist, da die Verarbeitungskapazität überschritten wurde.

{ "version": "0", "id": "01234567-0123-0123-0123-012345678901", "detail-type": "IVS Stream State Change", "source": "aws.ivs", "account": "aws_account_id", "time": "2017-06-12T10:23:43Z", "region": "us-east-1", "resources": [ "arn:aws:ivs:us-east-1:aws_account_id:channel/12345678-1a23-4567-a1bc-1a2b34567890" ], "detail": { "event_name": "Stream Failure", "channel_name": "Your Channel", "stream_id": "st-1A2b3c4D5e6F78ghij9Klmn", "reason": "Transcode capacity exceeded. Please try again." } }

Beispiele: Stream-Health-Änderung

Starvation-Start: Dieses Ereignis wird gesendet, wenn ein Stream keine Daten vom Streamer empfängt; der Stream soll in „Starvation“ sein.

{ "version": "0", "id": "01234567-0123-0123-0123-012345678901", "detail-type": "IVS Stream Health Change", "source": "aws.ivs", "account": "aws_account_id", "time": "2017-06-12T10:23:43Z", "region": "us-east-1", "resources": [ "arn:aws:ivs:us-east-1:aws_account_id:channel/12345678-1a23-4567-a1bc-1a2b34567890" ], "detail": { "event_name": "Starvation Start", "channel_name": "Your Channel", "stream_id": "st-1A2b3c4D5e6F78ghij9Klmn" } }

Starvation-Ende: Dieses Ereignis wird gesendet, wenn ein erwartender Stream beginnt, Daten vom Streamer zu empfangen und der Stream wieder in Ordnung ist.

{ "version": "0", "id": "01234567-0123-0123-0123-012345678901", "detail-type": "IVS Stream Health Change", "source": "aws.ivs", "account": "aws_account_id", "time": "2017-06-12T10:23:43Z", "region": "us-east-1", "resources": [ "arn:aws:ivs:us-east-1:aws_account_id:channel/12345678-1a23-4567-a1bc-1a2b34567890" ], "detail": { "event_name": "Starvation End", "channel_name": "Your Channel", "stream_id": "st-1A2b3c4D5e6F78ghij9Klmn" } }

Beispiele: Grenzüberschreitung

Alle Ereignisse Grenzwertüberschreitung enthalten den Namen des Grenzwerts, den Wert des Grenzwerts und die Nummer, um die das Limit überschritten wurde (Wert bei Verletzung subtrahiert durch das Limit).

Erfassungs-Bitrate: Dieses Ereignis wird gesendet, wenn die Bitrate des eingehenden Streams das Amazon-IVS-Limit überschreitet.

{ "version": "0", "id": "01234567-0123-0123-0123-012345678901", "detail-type": "IVS Limit Breach", "source": "aws.ivs", "account": "aws_account_id", "time": "2017-06-12T10:23:43Z", "region": "us-east-1", "resources": [ "arn:aws:ivs:us-east-1:aws_account_id:channel/12345678-1a23-4567-a1bc-1a2b34567890" ], "detail": { "limit_name": "Ingest Bitrate", "limit_value": 1234, "exceeded_by": 3, "limit_unit": "bits per second", "channel_name": "Your Channel", "stream_id": "st-1A2b3c4D5e6F78ghij9Klmn" } }

Erfassungs-Auflösung: Dieses Ereignis wird gesendet, wenn die Auflösung des eingehenden Streams (Gesamtpixel oder Pixel pro Edge) die Amazon-IVS-Grenzwerte überschreitet.

Maximale Anzahl der Pixel überschritten:

{ "version": "0", "id": "01234567-0123-0123-0123-012345678901", "detail-type": "IVS Limit Breach", "source": "aws.ivs", "account": "aws_account_id", "time": "2017-06-12T10:23:43Z", "region": "us-east-1", "resources": [ "arn:aws:ivs:us-east-1:aws_account_id:channel/12345678-1a23-4567-a1bc-1a2b34567890" ], "detail": { "limit_name": "Ingest Resolution", "limit_value": 495000, "exceeded_by": 426600, "limit_unit": "total pixels", "channel_name": "Your Channel", "stream_id": "st-1A2b3c4D5e6F78ghij9Klmn" } }

Maximale Pixel pro Edge überschritten:

{ "version": "0", "id": "01234567-0123-0123-0123-012345678901", "detail-type": "IVS Limit Breach", "source": "aws.ivs", "account": "aws_account_id", "time": "2017-06-12T10:23:43Z", "region": "us-east-1", "resources": [ "arn:aws:ivs:us-east-1:aws_account_id:channel/12345678-1a23-4567-a1bc-1a2b34567890"TBD ], "detail": { "limit_name": "Ingest Resolution", "limit_value": 855, "exceeded_by": 45, "limit_unit": "pixels per edge", "channel_name": "Your Channel", "stream_id": "st-1A2b3c4D5e6F78ghij9Klmn" } }

Gleichzeitige Broadcasts: Dieses Ereignis wird gesendet, wenn die Gesamtzahl der gleichzeitig gestreamten Kanäle das Amazon-IVS-Limit überschreitet.

{ "version": "0", "id": "01234567-0123-0123-0123-012345678901", "detail-type": "IVS Limit Breach", "source": "aws.ivs", "account": "aws_account_id", "time": "2017-06-12T10:23:43Z", "region": "us-east-1", "resources": [], "detail": { "limit_name": "Concurrent Broadcasts", "limit_value": 2, "exceeded_by": 3, "limit_unit": "active streams" } }

Gleichzeitige Viewer: Dieses Ereignis wird gesendet, wenn die Gesamtzahl der Viewer, die gleichzeitig Ihre Kanäle ansehen, das Amazon IVS-Limit überschreitet.

{ "version": "0", "id": "01234567-0123-0123-0123-012345678901", "detail-type": "IVS Limit Breach", "source": "aws.ivs", "account": "aws_account_id", "time": "2017-06-12T10:23:43Z", "region": "us-east-1", "resources": [], "detail": { "limit_name": "Concurrent Viewers", "limit_value": 10, "exceeded_by": 11, "limit_unit": "viewers" } }

Beispiele: Statusänderung der Aufzeichnung

Für alle Ereignisse zur Änderung des Aufzeichnungsstatus ist der Pfad der obersten Ebene, in dem alle Objekte für diesen Livestream gespeichert werden, recording_s3_key_prefix. Im Falle von Fehlern liegt der Grund für den Fehler in recording_status_reason. Die recording_duration_ms ist die Anzahl der Millisekunden der Aufzeichnungsdauer.

Aufzeichnungs-Start: Dieses Ereignis wird gesendet, wenn ein Stream mit der Verarbeitung beginnt und Segmente an den für den Kanal konfigurierten Speicherort geschrieben werden.

{ "version": "0", "id": "12345678-1a23-4567-a1bc-1a2b34567890", "detail-type": "IVS Recording State Change", "source": "aws.ivs", "account": "123456789012", "time": "2020-06-23T20:12:36Z", "region": "us-west-2", "resources": [ "arn:aws:ivs:us-west-2:123456789012:channel/AbCdef1G2hij" ], "detail": { "channel_name": "Your Channel", "stream_id": "st-1A2b3c4D5e6F78ghij9Klmn", "recording_status": "Recording Start", "recording_status_reason": "", "recording_s3_bucket_name": "r2s3-dev-channel-1-recordings", "recording_s3_key_prefix": "ivs/v1/123456789012/AbCdef1G2hij/2020/6/23/20/12/j8Z9O91ndcVs", "recording_duration_ms": 0, "recording_session_id": "a6RfV23ES97iyfoQ" } }

Aufzeichnungs-Ende: Dieses Ereignis wird gesendet, wenn ein Stream endet und die Aufzeichnung für diesen Kanal beendet wird.

{ "version": "0", "id": "12345678-1a23-4567-a1bc-1a2b34567890", "detail-type": "IVS Recording State Change", "source": "aws.ivs", "account": "123456789012", "time": "2020-06-24T07:51:32Z", "region": "us-west-2", "resources": [ "arn:aws:ivs:us-west-2:123456789012:channel/AbCdef1G2hij" ], "detail": { "channel_name": "Your Channel", "stream_id": "st-1A2b3c4D5e6F78ghij9Klmn", "recording_status": "Recording End", "recording_status_reason": "", "recording_s3_bucket_name": "r2s3-dev-channel-1-recordings", "recording_s3_key_prefix": "ivs/v1/123456789012/AbCdef1G2hij/2020/6/23/20/12/j8Z9O91ndcVs", "recording_duration_ms": 99370264, "recording_session_id": "a6RfV23ES97iyfoQ", "recording_session_stream_ids": ["st-254sopYUvi6F78ghpO9vn0A", "st-1A2b3c4D5e6F78ghij9Klmn"] } }

Aufnahme-Start-Fehler: Dieses Ereignis wird gesendet, wenn ein Stream gestartet wird, die Aufnahme jedoch aufgrund von Fehlern nicht gestartet wird (z. B. ist der S3-Bucket nicht vorhanden oder befindet sich nicht in der richtigen Region). Dieser Livestream wird nicht aufgezeichnet.

{ "version": "0", "id": "12345678-1a23-4567-a1bc-1a2b34567890", "detail-type": "IVS Recording State Change", "source": "aws.ivs", "account": "123456789012", "time": "2020-06-23T20:12:36Z", "region": "us-west-2", "resources": [ "arn:aws:ivs:us-west-2:123456789012:channel/AbCdef1G2hij" ], "detail": { "channel_name": "Your Channel", "stream_id": "st-1A2b3c4D5e6F78ghij9Klmn", "recording_status": "Recording Start Failure", "recording_status_reason": "ValidationException", "recording_s3_bucket_name": "r2s3-dev-channel-1-recordings", "recording_s3_key_prefix": "", "recording_duration_ms": 0, "recording_session_id": "a6RfV23ES97iyfoQ" } }

Fehler bei Aufnahmeende: Dieses Ereignis wird gesendet, wenn die Aufnahme aufgrund von Fehlern während der Aufnahme mit einem Fehler endet. Einige Objekte können weiterhin in den konfigurierten Speicherort geschrieben werden.

{ "version": "0", "id": "12345678-1a23-4567-a1bc-1a2b34567890", "detail-type": "IVS Recording State Change", "source": "aws.ivs", "account": "123456789012", "time": "2020-06-24T07:51:32Z", "region": "us-west-2", "resources": [ "arn:aws:ivs:us-west-2:123456a7-ab1c-2d34-e5f6-1a2b3c4d5678" ], "detail": { "channel_name": "Your Channel", "stream_id": "st-1A2b3c4D5e6F78ghij9Klmn", "recording_status": "Recording End Failure", "recording_status_reason": "InternalServerException", "recording_s3_bucket_name": "r2s3-dev-channel-1-recordings", "recording_s3_key_prefix": "ivs/v1/123456789012/AbCdef1G2hij/2020/6/23/20/12/j8Z9O91ndcVs", "recording_duration_ms": 0, "recording_session_id": "a6RfV23ES97iyfoQ" } }