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 Sie die C-Producer-Bibliothek
Sie können die von Amazon Kinesis Video Streams bereitgestellte C-Producer-Bibliothek verwenden, um Anwendungscode zu schreiben, um Mediendaten von einem Gerät an einen Kinesis-Videostream zu senden.
Objektmodell
Die Kinesis Video Streams C-Producer-Bibliothek basiert auf einer gemeinsamen Komponente namens Platform Independent Codebase (PIC), die GitHub unter https://github.com/awslabs/ amazon-kinesis-video-streams -pic/ verfügbar ist.
-
Anbieter von Geräteinformationen — Zeigt die
DeviceInfo
Struktur an, die direkt an die übergeben werden kann. PIC API Sie können eine Reihe von Anbietern konfigurieren, einschließlich eines für Anwendungsszenarien optimierten Anbieters, der den Inhaltsspeicher auf der Grundlage der Anzahl und der Typen von Streams, die Ihre Anwendung verarbeitet, und der Menge der erforderlichen Pufferung, die auf der Grundlage der verfügbaren Menge konfiguriert ist, optimieren kann. RAM -
Stream-Informationsanbieter — Macht die
StreamInfo
Struktur verfügbar, die direkt an den bereitgestellt werden kann. PIC API Es gibt eine Reihe von Anbietern, die für die Anwendungstypen und die gängigen Arten von Streaming-Szenarien spezifisch sind. Dazu gehören Anbieter wie Video, Audio sowie Audio- und Video-Multitrack. Für jedes dieser Szenarien gibt es Standardwerte, die Sie an die Anforderungen Ihrer Anwendung anpassen können. -
Callback-Anbieter — Macht die
ClientCallbacks
Struktur verfügbar, die direkt an den übergeben werden kann. PIC API Dazu gehören eine Reihe von Callback-Anbietern für Netzwerkfunktionen (CURLbasierte Rückrufe), Autorisierung (AWS AnmeldeinformationenAPI) und API Rückrufe zur Wiederholung von Streaming-Versuchen bei Fehlern. Der Callback-Anbieter API benötigt für die Konfiguration eine Reihe von Argumenten, wie z. B. die und die Autorisierungsinformationen. AWS-Region Dies erfolgt mithilfe von IoT-Zertifikaten oder mithilfe von AWS AccessKeyId, SecretKey, oder SessionToken. Sie können Callback Provider um benutzerdefinierte Callbacks erweitern, wenn Ihre Anwendung eine Weiterverarbeitung eines bestimmten Callback benötigt, um eine anwendungsspezifische Logik zu erreichen. -
FrameOrderCoordinator— Hilft bei der Audio- und Videosynchronisierung für mehrspurige Szenarien. Es hat ein Standardverhalten, das Sie an die spezifische Logik Ihrer Anwendung anpassen können. Außerdem optimiert es die Paketierung von Frame-Metadaten in PIC Frame Structure, bevor sie an die untergeordnete PIC API Ebene weitergeleitet werden. Bei Szenarien, bei denen es sich nicht um Mehrspur-Szenarien handelt, handelt es sich bei dieser Komponente um eine Weiterleitung zu. PIC putFrame API
Die C-Bibliothek enthält die folgenden Objekte zum Senden von Daten an einen Kinesis-Videostream:
-
KinesisVideoClient— Enthält Informationen über Ihr Gerät und verwaltet Rückrufe, um über Kinesis Video Streams Streams-Ereignisse zu berichten.
-
KinesisVideoStream— Stellt Informationen zu den Parametern des Videostreams wie Name, Datenaufbewahrungsdauer und Medieninhaltstyp dar.
Fügt Medien in den Stream ein
Sie können die von der C-Bibliothek bereitgestellten Methoden verwenden (z. B.PutKinesisVideoFrame
), um Daten in das KinesisVideoStream
Objekt einzufügen. Die Bibliothek verwaltet dann den internen Status der Daten. Das umfasst beispielsweise folgende Aufgaben:
-
Durchführen der Authentifizierung.
-
Überwachen auf Netzwerklatenz. Wenn die Latenz zu hoch ist, verwirft die Bibliothek gegebenenfalls Frames.
-
Überwachen des Status des laufenden Streamings.
Vorgehensweise: Verwenden Sie den C-Producer SDK
Dieses Verfahren zeigt, wie Sie den Kinesis Video Streams Streams-Client und Medienquellen in einer C-Anwendung verwenden, um H.264-kodierte Videoframes an Ihren Kinesis-Videostream zu senden.
In dieser Vorgehensweise werden die folgenden Schritte beschrieben: