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.
GetMedia
Verwenden Sie diese API Option, um Medieninhalte aus einem Kinesis-Videostream abzurufen. In der Anfrage identifizieren Sie den Streamnamen oder Stream-Amazon-Ressourcennamen (ARN) und den Startblock. Kinesis Video Streams gibt dann einen Stream von Chunks zurück, der nach Fragmentnummer sortiert ist.
Anmerkung
Sie müssen zuerst den aufrufen, um einen Endpunkt GetDataEndpoint
API zu erhalten. Senden Sie dann die GetMedia
Anfragen mit dem Parameter --endpoint-url an diesen Endpunkt.
Wenn Sie Mediendaten (Fragmente) in einen Stream einfügen, speichert Kinesis Video Streams jedes eingehende Fragment und die zugehörigen Metadaten in einem sogenannten „Chunk“. Weitere Informationen finden Sie unter PutMedia. Der GetMedia
API gibt einen Stream dieser Chunks zurück, der mit dem Chunk beginnt, den Sie in der Anfrage angeben.
Der GetMedia
API ist so konzipiert, dass er als Streaming API über eine Verbindung mit langer Laufzeit funktioniert. Es ist nicht für die herkömmliche Verwendung vorgesehen, RESTful bei der für jedes Fragment eine neue HTTP Verbindung hergestellt und geschlossen wird. Verwenden Sie bei Verwendung von die HTTP Chunked Transfer Encoding GetMedia
API, um Fragmente kontinuierlich über eine persistente Verbindung zu senden.
Bei der Verwendung von gelten die folgenden Beschränkungen: GetMedia
API
-
Ein Client kann
GetMedia
bis zu fünf Mal pro Sekunde pro Stream aufrufen. -
Kinesis Video Streams sendet während einer Sitzung Mediendaten mit einer Geschwindigkeit von bis zu 25 Megabyte pro Sekunde (oder 200 Megabit pro Sekunde).
GetMedia
Anmerkung
Der GetMedia
HTTP Antwortstatuscode wird sofort zurückgegeben, aber das Lesen der HTTP Antwort-Payload läuft nach 3 Sekunden ab, wenn keine aufgenommenen Fragmente für die Wiedergabe verfügbar sind.
Anmerkung
Wenn nach dem Aufrufen eines Kinesis Video Streams-Mediums ein Fehler ausgegeben wirdAPI, enthält dieser neben dem HTTP Statuscode und dem Antworttext die folgenden Informationen:
-
x-amz-ErrorType
HTTPHeader — enthält zusätzlich zu den Angaben des HTTP Statuscodes einen spezifischeren Fehlertyp. -
x-amz-RequestId
HTTPHeader — Wenn Sie ein Problem melden möchten AWS, kann das Support-Team das Problem anhand der Anforderungs-ID besser diagnostizieren.
Sowohl der HTTP Statuscode als auch der ErrorType Header können verwendet werden, um programmatische Entscheidungen darüber zu treffen, ob und unter welchen Bedingungen Fehler wiederholt werden können. Außerdem können sie Informationen darüber liefern, welche Maßnahmen der Client-Programmierer möglicherweise ergreifen muss, um es erneut erfolgreich zu versuchen.
Anforderungssyntax
POST /getMedia HTTP/1.1
Content-type: application/json
{
"StartSelector": {
"AfterFragmentNumber": "string
",
"ContinuationToken": "string
",
"StartSelectorType": "string
",
"StartTimestamp": number
},
"StreamARN": "string
",
"StreamName": "string
"
}
URIAnforderungsparameter
Die Anfrage verwendet keine URI Parameter.
Anforderungstext
Die Anfrage akzeptiert die folgenden Daten im JSON Format.
- StartSelector
-
Identifiziert den Startblock, der aus dem angegebenen Stream abgerufen werden soll.
Typ: StartSelector Objekt
Erforderlich: Ja
- StreamARN
-
Der ARN des Streams, aus dem Sie den Medieninhalt abrufen möchten. Wenn Sie das nicht angeben
streamARN
, müssen Sie das angebenstreamName
.Typ: Zeichenfolge
Längenbeschränkungen: Minimale Länge von 1. Maximale Länge beträgt 1024 Zeichen.
Pattern:
arn:[a-z\d-]+:kinesisvideo:[a-z0-9-]+:[0-9]+:[a-z]+/[a-zA-Z0-9_.-]+/[0-9]+
Erforderlich: Nein
- StreamName
-
Der Name des Kinesis-Videostreams, von dem Sie den Medieninhalt abrufen möchten. Wenn Sie den nicht angeben
streamName
, müssen Sie denstreamARN
angeben.Typ: Zeichenfolge
Längenbeschränkungen: Minimale Länge beträgt 1 Zeichen. Maximale Länge beträgt 256 Zeichen.
Pattern:
[a-zA-Z0-9_.-]+
Erforderlich: Nein
Antwortsyntax
HTTP/1.1 200
Content-Type: ContentType
Payload
Antwortelemente
Wenn die Aktion erfolgreich ist, sendet der Dienst eine HTTP 200-Antwort zurück.
Die Antwort gibt die folgenden HTTP Header zurück.
- ContentType
-
Der Inhaltstyp des angeforderten Mediums.
Längenbeschränkungen: Minimale Länge beträgt 1 Zeichen. Maximale Länge beträgt 128 Zeichen.
Pattern:
^[a-zA-Z0-9_\.\-]+$
Die Antwort gibt Folgendes als HTTP Hauptteil zurück.
- Payload
-
Die Payload, die Kinesis Video Streams zurückgibt, ist eine Sequenz von Chunks aus dem angegebenen Stream. Weitere Informationen zu den Chunks finden Sie unter. PutMedia Die Chunks, die Kinesis Video Streams im
GetMedia
Aufruf zurückgibt, enthalten auch die folgenden zusätzlichen Matroska () -Tags: MKV-
AWS_KINESISVIDEO_CONTINUATION_TOKEN (UTF-8 string) — Falls Ihr
GetMedia
Anruf beendet wird, können Sie dieses Fortsetzungstoken in Ihrer nächsten Anfrage verwenden, um den nächsten Abschnitt abzurufen, in dem die letzte Anfrage beendet wurde. -
AWS_KINESISVIDEO_MILLIS_BEHIND_NOW (UTF-8 string) — Client-Anwendungen können diesen Tag-Wert verwenden, um zu ermitteln, wie weit der in der Antwort zurückgegebene Chunk vom letzten Chunk im Stream zurückliegt.
-
AWS_KINESISVIDEO_FRAGMENT_NUMBER - Die im Chunk zurückgegebene Fragmentnummer.
-
AWS_KINESISVIDEO_SERVER_TIMESTAMP - Serverzeitstempel des Fragments.
-
AWS_KINESISVIDEO_PRODUCER_TIMESTAMP - Zeitstempel des Produzenten des Fragments.
Die folgenden Tags sind vorhanden, falls ein Fehler auftritt:
-
AWS_KINESISVIDEO_ERROR_CODE - Zeichenkettenbeschreibung eines Fehlers, der GetMedia zum Abbruch geführt hat.
-
AWS_KINESISVIDEO_ ERROR _ID: Ganzzahlcode des Fehlers.
Die Fehlercodes lauten wie folgt:
-
3002 — Fehler beim Schreiben in den Stream
-
4000 — Das angeforderte Fragment wurde nicht gefunden
-
4500 — Der Zugriff auf den KMS Schlüssel des Streams wurde verweigert
-
4501 — Der KMS Schlüssel des Streams ist deaktiviert
-
4502 — Validierungsfehler beim Schlüssel des Streams KMS
-
4503 — KMS Der im Stream angegebene Schlüssel ist nicht verfügbar
-
4504 — Ungültige Verwendung des im Stream angegebenen KMS Schlüssels
-
4505 — Ungültiger Status des im Stream angegebenen KMS Schlüssels
-
4506 — Der im Stream angegebene KMS Schlüssel konnte nicht gefunden werden
-
5000 — Interner Fehler
-
Fehler
Weitere Informationen zu den allgemeinen Fehlern, die bei allen Aktionen zurückgegeben werden, finden Sie unter Häufige Fehler.
- ClientLimitExceededException
-
Kinesis Video Streams hat die Anfrage gedrosselt, weil Sie das Limit der erlaubten Client-Aufrufe überschritten haben. Versuchen Sie später, den Anruf zu tätigen.
HTTPStatuscode: 400
- ConnectionLimitExceededException
-
Kinesis Video Streams hat die Anfrage gedrosselt, weil Sie das Limit der zulässigen Client-Verbindungen überschritten haben.
HTTPStatuscode: 400
- InvalidArgumentException
-
Der Wert für diesen Eingabeparameter ist ungültig.
HTTPStatuscode: 400
- InvalidEndpointException
-
Der Anrufer hat einen falschen Endpunkt verwendet, um Daten in einen Stream zu schreiben. Bei Empfang einer solchen Ausnahme muss der Benutzer
GetDataEndpoint
mitAPIName
set to aufrufenPUT_MEDIA
und den Endpunkt aus der Antwort verwenden, um den nächstenPutMedia
Aufruf aufzurufen.HTTPStatuscode: 400
- NotAuthorizedException
-
Der Aufrufer ist nicht autorisiert, einen Vorgang mit dem angegebenen Stream auszuführen, oder das Token ist abgelaufen.
HTTPStatuscode: 401
- ResourceNotFoundException
-
Statuscode: 404, Der Stream mit dem angegebenen Namen existiert nicht.
HTTPStatuscode: 404
Weitere Informationen finden Sie unter:
Weitere Informationen zur Verwendung API in einer der sprachspezifischen Sprachen AWS SDKs finden Sie im Folgenden: