Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
GetMedia
Utilizzare questa API per recuperare contenuti multimediali da un flusso video Kinesis. Nella richiesta, identifichi il nome dello stream o lo stream Amazon Resource Name (ARN) e il blocco iniziale. Kinesis Video Streams restituisce quindi un flusso di blocchi in ordine per numero di frammento.
Devi prima chiamare ilGetDataEndpoint
API per ottenere un endpoint. Quindi invia ilGetMedia
richieste a questo endpoint utilizzando ilParametro —endpoint-url.
Quando si inseriscono dati multimediali (frammenti) in un flusso, Kinesis Video Streams memorizza ogni frammento in entrata e i relativi metadati in quello che viene chiamato «blocco». Per ulteriori informazioni, consultaPutMedia. LaGetMedia
L'API restituisce un flusso di questi blocchi a partire dal blocco specificato nella richiesta.
Per l'utilizzo diGetMedia
API:
-
Un cliente può chiamare
GetMedia
fino a cinque volte al secondo per flusso. -
Kinesis Video Streams invia dati multimediali a una velocità massima di 25 megabyte al secondo (o 200 megabit al secondo) durante un
GetMedia
sessione.
Se viene generato un errore dopo aver richiamato un'API multimediale Kinesis Video Streams, oltre al codice di stato HTTP e al corpo della risposta, include le seguenti informazioni:
-
x-amz-ErrorType
Intestazione HTTP: contiene un tipo di errore più specifico oltre a quello fornito dal codice di stato HTTP. -
x-amz-RequestId
Intestazione HTTP: se si desidera segnalare un problema ad AWS, il team di supporto può diagnosticare meglio il problema se viene fornito il Request Id.
Sia il codice di stato HTTP che ilErrorTypeheader può essere utilizzato per prendere decisioni programmatiche sul fatto che gli errori siano retrattili e in quali condizioni, oltre a fornire informazioni sulle azioni che il programmatore client potrebbe dover intraprendere per riprovare con successo.
Per ulteriori informazioni, consulta la .Errorisezione in fondo a questo argomento, nonchéErrori comuni.
Sintassi della richiesta
POST /getMedia HTTP/1.1
Content-type: application/json
{
"StartSelector": {
"AfterFragmentNumber": "string
",
"ContinuationToken": "string
",
"StartSelectorType": "string
",
"StartTimestamp": number
},
"StreamARN": "string
",
"StreamName": "string
"
}
Parametri della richiesta URI:
La richiesta non utilizza parametri URI.
Corpo della richiesta
La richiesta accetta i seguenti dati in formato JSON.
- StartSelector
-
Identifica il blocco iniziale da ottenere dal flusso specificato.
Tipo: StartSelector oggetto
: campo obbligatorio Sì
- StreamARN
-
L'ARN dello stream da dove si desidera ottenere il contenuto multimediale. Se non specifichi il
streamARN
, è necessario specificare ilstreamName
.Type: Stringa
Vincoli di lunghezza: Lunghezza minima pari a 1. La lunghezza massima è 1024 caratteri.
Modello:
arn:[a-z\d-]+:kinesisvideo:[a-z0-9-]+:[0-9]+:[a-z]+/[a-zA-Z0-9_.-]+/[0-9]+
: campo obbligatorio No
- StreamName
-
Il nome del flusso video Kinesis da cui si desidera ottenere il contenuto multimediale. Se non specifichi il
streamName
, è necessario specificare ilstreamARN
.Type: Stringa
Vincoli di lunghezza: Lunghezza minima pari a 1. La lunghezza massima è 256 caratteri.
Modello:
[a-zA-Z0-9_.-]+
: campo obbligatorio No
Sintassi della risposta
HTTP/1.1 200
Content-Type: ContentType
Payload
Elementi di risposta
Se l'operazione riesce, il servizio restituisce una risposta HTTP 200.
La risposta restituisce le seguenti intestazioni HTTP.
- ContentType
-
Il tipo di contenuto del supporto richiesto.
Vincoli di lunghezza: Lunghezza minima pari a 1. La lunghezza massima è 128 caratteri.
Modello:
^[a-zA-Z0-9_\.\-]+$
La risposta restituisce quanto segue come corpo HTTP.
- Payload
-
Il payload restituito da Kinesis Video Streams è una sequenza di blocchi del flusso specificato. Per ulteriori informazioni sui blocchi, consultaPutMedia. I pezzi che Kinesis Video Streams restituisce nel
GetMedia
include anche i seguenti tag Matroska (MKV):-
AWS_KINESISVIDEO_CONTINUATION_TOKEN (stringa UTF-8) - Nel caso in cui il tuo
GetMedia
la chiamata termina, puoi utilizzare questo token di continuazione nella tua prossima richiesta per ottenere il blocco successivo in cui è terminata l'ultima richiesta. -
AWS_KINESISVIDEO_MILLIS_BEHIND_NOW (stringa UTF-8) - Le applicazioni client possono utilizzare questo valore di tag per determinare quanto sia indietro il blocco restituito nella risposta dall'ultimo blocco dello stream.
-
AWS_KINESISVIDEO_FRAGMENT_NUMBER - Numero del frammento restituito nel blocco.
-
AWS_KINESISVIDEO_SERVER_TIMESTAMP - Timestamp del server del frammento.
-
AWS_KINESISVIDEO_PRODUCER_TIMESTAMP - Timestamp del produttore del frammento.
Se si verifica un errore, saranno presenti i seguenti tag:
-
AWS_KINESISVIDEO_ERROR_CODE - Descrizione stringa di un errore che ha causatoGetMediaper fermare.
-
AWS_KINESISVIDEO_ERROR_ID: Codice intero dell'errore.
I codici di errore sono i seguenti:
-
3002 - Errore durante la scrittura sullo stream
-
4000 - Il frammento richiesto non è stato trovato
-
4500 - Accesso negato per la chiave KMS dello stream
-
4501 - La chiave KMS di Stream è disattivata
-
4502 - Errore di convalida sulla chiave KMS dello stream
-
4503 - La chiave KMS specificata nello stream non è disponibile
-
4504 - Uso non valido della chiave KMS specificata nello stream
-
4505 - Stato non valido della chiave KMS specificata nel flusso
-
4506 - Impossibile trovare la chiave KMS specificata nello stream
-
5000 - Errore interno
-
Errori
Per informazioni sugli errori comuni a tutte le operazioni, consultare Errori comuni.
- ClientLimitExceededException
-
Kinesis Video Streams ha limitato la richiesta perché hai superato il limite delle chiamate client consentite. Prova a effettuare la chiamata più tardi.
Codice di stato HTTP: 400
- ConnectionLimitExceededException
-
Kinesis Video Streams ha limitato la richiesta perché hai superato il limite delle connessioni client consentite.
Codice di stato HTTP: 400
- InvalidArgumentException
-
Il valore per questo parametro di input non è valido.
Codice di stato HTTP: 400
- InvalidEndpointException
-
Il chiamante ha utilizzato un endpoint errato per scrivere i dati in un flusso. Al ricevimento di tale eccezione, l'utente deve chiamare
GetDataEndpoint
conAPIName
impostato suPUT_MEDIA
e usa l'endpoint from response per richiamare il successivoPutMedia
chiamata.Codice di stato HTTP: 400
- NotAuthorizedException
-
Il chiamante non è autorizzato a eseguire un'operazione sul flusso specificato o il token è scaduto.
Codice di stato HTTP: 401
- ResourceNotFoundException
-
Codice di stato: 404, Il flusso con il nome specificato non esiste.
Codice di stato HTTP: 404
Vedi anche
Per ulteriori informazioni sull'utilizzo di questa API in uno degli SDK AWS specifici della lingua, consulta quanto segue: