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.
Unterstützung für Kinesis Video Streams API und Producer Libraries
Kinesis Video Streams bietet Ihnen APIs die Möglichkeit, Streams zu erstellen und zu verwalten sowie Mediendaten in und aus einem Stream zu lesen oder zu schreiben. Die Kinesis Video Streams Streams-Konsole unterstützt neben den Verwaltungsfunktionen auch Live- und video-on-demand Playback-Funktionen. Kinesis Video Streams bietet auch eine Reihe von Producer-Bibliotheken, die Sie in Ihrem Anwendungscode verwenden können, um Daten aus Ihren Medienquellen zu extrahieren und in Ihren Kinesis-Videostream hochzuladen.
Kinesis Video Streams API
Kinesis Video Streams ermöglicht APIs die Erstellung und Verwaltung von Kinesis Video Streams. Es ermöglicht auch APIs das Lesen und Schreiben von Mediendaten in einen Stream wie folgt:
-
Producer API — Kinesis Video Streams bietet die Möglichkeit
PutMedia
API, Mediendaten in einen Kinesis-Videostream zu schreiben. In einerPutMedia
-Anforderung sendet der Produzent einen Stream von Medienfragmenten. Ein Fragment ist eine abgeschlossene Folge von Frames. Zwischen den Frames eines Fragments und den Frames anderer Fragmente dürfen keine Abhängigkeiten bestehen. Weitere Informationen finden Sie unter PutMedia.Sobald Fragmente eintreffen, weist Kinesis Video Streams in aufsteigender Reihenfolge eine eindeutige Fragmentnummer zu. Es speichert auch produzenten- und serverseitige Zeitstempel für jedes Fragment als Kinesis Video Streams-spezifische Metadaten.
-
Verbraucher APIs — Verbraucher können Folgendes APIs verwenden, um Daten aus einem Stream abzurufen:
-
GetMedia
- Bei der Verwendung müssen Verbraucher das Startfragment identifizieren. API Das gibt API dann Fragmente in der Reihenfolge zurück, in der sie dem Stream hinzugefügt wurden (in aufsteigender Reihenfolge nach Fragmentnummer). Die Mediendaten in den Fragmenten werden in ein strukturiertes Format wie Matroska () MKVgepackt. Weitere Informationen finden Sie unter GetMedia. Anmerkung
GetMedia
weiß, wo sich die Fragmente befinden (archiviert im Datenspeicher oder verfügbar in Echtzeit). WennGetMedia
beispielsweise feststellt, dass das Startfragment archiviert ist, wird das Zurückgeben von Fragmenten aus dem Datenspeicher gestartet. Wenn es neuere Fragmente zurückgeben muss, die noch nicht archiviert wurden,GetMedia
wechselt es zum Lesen von Fragmenten aus einem speicherinternen Stream-Puffer.Dies ist ein Beispiel für einen kontinuierlichen Konsumenten, der Fragmente in der Reihenfolge verarbeitet, in der sie vom Stream übernommen werden.
Bei Verwendung von
GetMedia
können Anwendungen aus- oder zurückfallen und dann ohne zusätzlichen Aufwand wieder auf den aktuellen Stand gelangen. MitGetMedia
können Anwendungen Daten verarbeiten, die im Datenspeicher archiviert sind. Sobald die Anwendung wieder auf dem aktuellen Stand ist, setztGetMedia
das Einspeisen von Mediendaten in Echtzeit unmittelbar bei deren Ankunft fort. -
GetMediaFromFragmentList
(undListFragments
): Stapelverarbeitungsanwendungen gelten als Offline-Konsumenten. Nutzer, die offline sind, können sich dafür entscheiden, bestimmte Medienfragmente oder Videobereiche explizit abzurufen, indem sie und kombinieren.ListFragments
GetMediaFromFragmentList
APIsListFragments
undGetMediaFromFragmentList
ermöglichen es einer Anwendung, Videosegmente für einen bestimmten Zeitraum oder Fragmentbereich zu identifizieren und diese Fragmente dann entweder sequentiell oder parallel zur Verarbeitung abzurufen. Diese Herangehensweise eignet sich fürMapReduce
-Anwendungssuites, die große Datenmengen schnell parallel verarbeiten müssen.Nehmen wir an, dass ein Konsument die Videofragmente für einen Tag verarbeiten möchte. Der Konsument würde folgendermaßen vorgehen:
-
Rufen Sie eine Fragmentliste ab, indem Sie die aufrufen
ListFragments
API und einen Zeitraum angeben, um die gewünschte Fragmentsammlung auszuwählen.Das API gibt Metadaten aus allen Fragmenten im angegebenen Zeitraum zurück. Die Metadaten enthalten Informationen wie Fragmentnummer, hersteller- und serverseitige Zeitstempel usw.
-
Fragment-Metadatenliste verwenden und Fragmente in beliebiger Reihenfolge abrufen. Um beispielsweise alle Fragmente für den Tag zu verarbeiten, könnte der Verbraucher die Liste in Unterlisten aufteilen und Mitarbeiter (z. B. mehrere EC2 Amazon-Instances) die Fragmente parallel mithilfe von abrufen und parallel verarbeiten lassen.
GetMediaFromFragmentList
-
-
Das folgende Diagramm zeigt den Datenfluss für Fragmente und Chunks während dieser Aufrufe. API
Wenn ein Produzent eine PutMedia
-Anforderung sendet, sendet er die Medienmetadaten in der Nutzlast und dann eine Folge von Mediendatenfragmenten. Nach dem Empfang der Daten speichert Kinesis Video Streams eingehende Mediendaten als Kinesis Video Streams Streams-Chunks. Jeder Datenblock umfasst Folgendes:
-
Eine Kopie der Medienmetadaten
-
Ein Fragment
-
Kinesis Video Streams-spezifische Metadaten, z. B. die Fragmentnummer und serverseitige und produzentenseitige Zeitstempel
Wenn ein Verbraucher Medienmetadaten anfordert, gibt Kinesis Video Streams einen Stream von Chunks zurück, beginnend mit der Fragmentnummer, die Sie in der Anfrage angeben.
Wenn Sie die Datenpersistenz für den Stream aktivieren, speichert Kinesis Video Streams nach dem Empfang eines Fragments im Stream auch eine Kopie des Fragments im Datenspeicher.
Muster für die Erkennung von Endpunkten
Kontrollebene REST APIs
Verwenden Sie die Kinesis Video Streams Streams-Dienstendpunkte RESTAPIs, um auf die Kinesis Video Streams Streams-Steuerebene zuzugreifen.
Datenebene REST APIs
Kinesis Video Streams basiert auf einer Mobilfunkarchitektur, um eine bessere Skalierung und Isolierung des Datenverkehrs zu gewährleisten. Da jeder Stream einer bestimmten Zelle in einer Region zugeordnet ist, muss Ihre Anwendung die richtigen zellenspezifischen Endpunkte verwenden, denen Ihr Stream zugeordnet wurde. Wenn Sie auf die Datenebene zugreifen RESTAPIs, müssen Sie die richtigen Endpunkte selbst verwalten und zuordnen. Dieser Prozess, das Endpoint Discovery Pattern, wird im Folgenden beschrieben:
-
Das Endpoint Discovery Pattern beginnt mit dem Aufruf einer der
GetEndpoints
Aktionen. Diese Aktionen gehören zur Kontrollebene.Wenn Sie die Endpunkte für die Amazon Kinesis Video Streams Dienste Medien für Amazon Kinesis Video Streams oder abrufen, verwenden Sie. GetDataEndpoint
Wenn Sie die Endpunkte fürAmazon Kinesis Video Video Streams, oder Kinesis Video Signaling abrufenAmazon Kinesis Video Webspeicher RTC, verwenden Sie. GetSignalingChannelEndpoint
Zwischenspeichern Sie den Endpunkt und verwenden Sie ihn erneut.
Wenn der zwischengespeicherte Endpunkt nicht mehr funktioniert, rufen Sie erneut auf, um den Endpunkt
GetEndpoints
zu aktualisieren.
Producer-Bibliotheken
Nachdem Sie einen Kinesis-Videostream erstellt haben, können Sie damit beginnen, Daten an den Stream zu senden. In Ihrem Anwendungscode können Sie diese Bibliotheken verwenden, um Daten aus Ihren Medienquellen zu extrahieren und in Ihren Kinesis-Videostream hochzuladen. Weitere Informationen zu den verfügbaren Producer-Bibliotheken finden Sie unter Zu Kinesis Video Streams hochladen.