GStreamerReferenz zu den Elementparametern - Amazon Kinesis Video Streams

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.

GStreamerReferenz zu den Elementparametern

Um Video an den Amazon Kinesis Video Streams Streams-Producer C++ zu sendenSDK, geben Sie es kvssink als Senke oder Endziel der Pipeline an. Diese Referenz enthält Informationen zu den erforderlichen und optionalen kvssink-Parametern. Weitere Informationen finden Sie unter Beispiel: SDK GStreamer Produzenten-Plugin für Kinesis Video Streams - kvssink.

Topics

Geben Sie Anmeldeinformationen ein für kvssink

Damit das kvssink GStreamer Element Anfragen stellen kann AWS, müssen Sie AWS Anmeldeinformationen angeben, die es beim Aufrufen des Amazon Kinesis Video Streams Streams-Service verwenden soll. Die Anbieterkette für Anmeldeinformationen sucht in der folgenden Reihenfolge nach Anmeldeinformationen:

Informationen zum Einrichten von AWS IoT Anmeldeinformationen finden Sie unterSteuern des Zugriffs auf Kinesis Video Streams Streams-Ressourcen mithilfe AWS IoT.

Der iot-credentials Parameterwert muss mit einer kommagetrennten Liste der folgenden key value =-Paare beginnen iot-certificate, und darauf folgen.

Schlüssel Erforderlich Beschreibung
ca-path Ja

Dateipfad zu dem CA-Zertifikat, über das eine Vertrauensstellung mit dem Back-End-Dienst hergestellt wurde. TLS

Beispiel: /file/path/to/certificate.pem

cert-path Ja

Dateipfad zum X.509-Zertifikat.

Beispiel: /file/path/to/certificateID-certificate.pem.crt

endpoint Ja

Der Endpoint Provider-Endpunkt für AWS IoT Core Anmeldeinformationen für Ihr AWS Konto. Weitere Informationen finden Sie im AWS IoT Entwicklerhandbuch.

Beispiel: credential-account-specific-prefix.credentials.iot.aws-region.amazonaws.com

key-path Ja

Dateipfad zu dem privaten Schlüssel, der im öffentlichen/privaten key pair verwendet wird.

Beispiel: /file/path/to/certificateID-private.pem.key

role-aliases Ja

Der Name des Rollenalias, der auf die Rolle verweist, mit der AWS IAM eine Verbindung hergestellt werden soll. AWS IoT Core

Beispiel: KvsCameraIoTRoleAlias

iot-thing-name Nein

Das iot-thing-name ist optional. Wenn nicht angegeben, iot-thing-name wird der stream-name Parameterwert verwendet.

Beispiel: kvs_example_camera

Beispiel:

gst-launch-1.0 -v ... ! kvssink stream-name="YourStream" aws-region="YourRegion" iot-certificate="iot-certificate,endpoint=credential-account-specific-prefix.credentials.iot.aws-region.amazonaws.com,cert-path=certificateID-certificate.pem.crt,key-path=certificateID-private.pem.key,ca-path=certificate.pem,role-aliases=YourRoleAlias,iot-thing-name=YourThingName"

Um Anmeldeinformationen aus der Umgebung kvssink verwenden zu können, legen Sie die folgenden Umgebungsvariablen fest:

Name der Umgebungsvariablen Erforderlich Beschreibung
AWS_ACCESS_KEY_ID Ja Der AWS Zugriffsschlüssel, der für den Zugriff auf Amazon Kinesis Video Streams verwendet wird.
AWS_SECRET_ACCESS_KEY Ja Der AWS geheime Schlüssel, der dem Zugriffsschlüssel zugeordnet ist.
AWS_SESSION_TOKEN Nein Gibt den erforderlichen Wert für das Sitzungstoken an, wenn Sie temporäre Sicherheitsanmeldeinformationen direkt aus AWS STS Vorgängen verwenden.

Durch die Festlegung der Umgebungsvariablen wird der verwendete Wert bis zum Ende der Shell-Sitzung oder bis zur Festlegung eines anderen Wertes für die Variable geändert. Um die Variablen für future Sitzungen persistent zu machen, legen Sie sie im Startskript Ihrer Shell fest.

Um Anmeldeinformationen direkt als kvssink Parameter anzugeben, legen Sie die folgenden Parameter fest:

kvssinkName des Parameters Erforderlich Beschreibung
access-key Ja Der AWS Zugriffsschlüssel, der für den Zugriff auf Amazon Kinesis Video Streams verwendet wird.
secret-key Ja Der AWS geheime Schlüssel, der dem Zugriffsschlüssel zugeordnet ist.
session-token Nein Gibt den erforderlichen Wert für das Sitzungstoken an, wenn Sie temporäre Sicherheitsanmeldeinformationen direkt aus AWS STS Vorgängen verwenden.

Verwenden statischer Anmeldeinformationen:

gst-launch-1.0 -v ... ! kvssink stream-name="YourStream" aws-region="YourRegion" access-key="AKIDEXAMPLE" secret-key="SKEXAMPLE"

Temporäre Anmeldeinformationen verwenden:

gst-launch-1.0 -v ... ! kvssink stream-name="YourStream" aws-region="YourRegion" access-key="AKIDEXAMPLE" secret-key="SKEXAMPLE" session-token="STEXAMPLE"
Wichtig

Wenn Sie eine der vorherigen Methoden ausgewählt haben, können Sie den credential-file kvssink Parameter nicht verwenden.

kvssinkName des Parameters Erforderlich Beschreibung
credential-file Ja Pfad zur Textdatei, die Anmeldeinformationen in einem bestimmten Format enthält.

Die Textdatei muss Anmeldeinformationen in einem der folgenden Formate enthalten:

  • CREDENTIALS YourAccessKey YourSecretKey

  • CREDENTIALS YourAccessKey Expiration YourSecretKey SessionToken

Beispiel: Ihre credentials.txt Datei befindet sich unter /home/ubuntu und enthält Folgendes:

CREDENTIALS AKIDEXAMPLE 2023-08-10T22:43:00Z SKEXAMPLE STEXAMPLE

Um sie in zu verwendenkvssink, geben Sie Folgendes ein:

gst-launch-1.0 -v ... ! kvssink stream-name="YourStream" aws-region="YourRegion" credential-file="/home/ubuntu/credentials.txt"
Anmerkung

Die Ablaufzeit sollte in future mindestens 5 + 30 + 3 = 38 Sekunden betragen. Die Kulanzzeit ist definiert als die IOT_CREDENTIAL_FETCH_GRACE_PERIOD Variable in IotCredentialProvider.h. Wenn die Anmeldeinformationen beim Start zu kurz vor dem Ablauf liegenkvssink, erhalten Sie den Fehlercode0x52000049 - STATUS_INVALID_TOKEN_EXPIRATION.

Wichtig

kvssinkändert die Datei mit den Anmeldeinformationen nicht. Wenn Sie temporäre Anmeldeinformationen verwenden, muss die Anmeldeinformationsdatei vor Ablauf der Ablaufzeit abzüglich der Kulanzzeit von einer externen Quelle aktualisiert werden.

Geben Sie eine Region an kvssink

Die Reihenfolge der Suche nach Regionen ist wie folgt:

  1. AWS_DEFAULT_REGIONDie Umgebungsvariable wird zuerst überprüft. Wenn sie gesetzt ist, wird diese Region zur Konfiguration des Clients verwendet.

  2. aws-regionDer Parameter wird als Nächstes überprüft. Wenn er gesetzt ist, wird diese Region zur Konfiguration des Clients verwendet.

  3. Wenn keine der vorherigen Methoden verwendet wurde, ist die kvssink Standardeinstellung. us-west-2

kvssinkoptionale Parameter

Das Element kvssink hat die folgenden optionalen Parameter. Weitere Informationen zu diesen Parametern finden Sie unter Kinesis-Videostream-Strukturen.

Parameter Beschreibung Einheit/Typ Standard
stream-name Der Name des Amazon Kinesis Kinesis-Ziel-Videostreams.
Wichtig

Wenn kein Streamname angegeben ist, wird der Standard-Streamname verwendet: „DEFAULT_“. STREAM Wenn ein Stream mit diesem Standardnamen noch nicht existiert, wird er erstellt.

absolute-fragment-times Gibt an, ob absolute Fragmentzeiten verwendet werden. Boolesch true
access-key

Der AWS Zugriffsschlüssel, der für den Zugriff auf Kinesis Video Streams verwendet wird.

Sie müssen entweder AWS Anmeldeinformationen festgelegt haben oder diesen Parameter angeben. Geben Sie Folgendes ein, um diese Informationen bereitzustellen:

export AWS_ACCESS_KEY_ID=
avg-bandwidth-bps Die erwartete durchschnittliche Bandbreite für den Stream. Bits pro Sekunde 4194304
aws-region

Die AWS-Region zu verwendenden.

Anmerkung

Sie können der Region auch die AWS_DEFAULT_REGION Umgebungsvariable zur Verfügung stellen. Die Umgebungsvariablen haben Vorrang, wenn sowohl die Umgebungsvariable als auch die Parameter kvssink gesetzt sind.

Wichtig

Die Region wird standardmäßig verwendet, us-west-2 sofern nicht anders angegeben.

String "us-west-2"
buffer-duration Laufzeit des Streampuffers Sekunden 120
codec-id Die Codec-ID des Streams String "V_MPEG4/ISO/AVC"
connection-staleness Die Zeit nach der der Stream Staleness Callback aufgerufen wird. Sekunden 60
content-type Der Inhaltstyp des Streams String "video/h264"
fragment-acks Ob Fragment verwendet werden soll. ACKs Boolesch true
fragment-duration Die gewünschte Fragmentdauer Millisekunden 2000
framerate Die erwartete Bildrate. Frames pro Sekunde 25
frame-timecodes Verwendung von Frame-Timecodes oder Generieren von Zeitstempeln mit dem aktuellen Zeit-Callback: Boolesch true
key-frame-fragmentation Gibt an, ob Fragmente für einen Keyframe erstellt werden. Boolesch true
log-config Der Protokollkonfigurationspfad String "../kvs_log_configuration"
max-latency Die maximale Latenz für den Stream Sekunden 60
recalculate-metrics Gibt an, ob die Metriken neu berechnet werden. Boolesch true
replay-duration Die Laufzeit, um die der aktuelle Reader bei Auftreten eines Fehlers "zurückgespult" werden muss, um die Wiedergabe zu wiederholen Sekunden 40
restart-on-error Gibt an, ob beim Auftreten von Fehlern ein Neustart ausgeführt wird. Boolesch true
retention-period Die Zeitdauer, für die der Stream aufbewahrt wird Stunden 2
rotation-period Der Schlüsselrotationszeitraum. Weitere Informationen finden Sie unter Rotierende AWS KMS Schlüssel. Sekunden 3600
secret-key

Der AWS geheime Schlüssel, der für den Zugriff auf Kinesis Video Streams verwendet wird.

Sie müssen entweder AWS Anmeldeinformationen festgelegt haben oder diesen Parameter angeben.

export AWS_SECRET_ACCESS_KEY=
session-token Gibt den erforderlichen Wert für das Sitzungstoken an, wenn Sie temporäre Sicherheitsanmeldeinformationen direkt aus AWS STS Vorgängen verwenden.
storage-size Die Gerätespeichergröße in Mebibyte (MiB). Weitere Informationen zum Konfigurieren von Speichergeräten finden Sie unter StorageInfo. Mebibyte (MiB) 128
streaming-type Der Streaming-Typ. Gültige Werte sind:
  • 0: Echtzeit

  • 1: nahezu in Echtzeit (derzeit nicht unterstützt)

  • 2: offline

Enum GstKvsSinkStreamingType 0: Echtzeit
timecode-scale Die MKV Timecode-Skala. Millisekunden 1
track-name Der Name des MKV Titels. String "kinesis_video"
iot-certificate

AWS IoT Anmeldeinformationen, die im kvssink Element verwendet werden sollen.

iot-certificateakzeptiert die folgenden Schlüssel und Werte:

Anmerkung

Das iot-thing-name ist optional. Wenn nicht angegeben, iot-thing-name wird der stream-name Parameterwert verwendet.

  • endpoint=iotcredentialsproviderendpoint

  • cert-path=/localdirectorypath /to/certificate

  • key-path=/localdirectorypath /to/private/key

  • ca-path=/localdirectorypath/to/ca-cert

  • role-aliases=role-aliases

  • iot-thing-name=YourIotThingName

String None