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
Utilizzatelo API per recuperare i contenuti multimediali da un flusso video Kinesis. Nella richiesta, identifichi il nome dello stream o dello stream Amazon Resource Name (ARN) e il blocco iniziale. Kinesis Video Streams restituisce quindi un flusso di blocchi ordinati per numero di frammento.
Nota
Devi prima chiamare il per ottenere un endpoint. GetDataEndpoint
API Quindi invia le GetMedia
richieste a questo endpoint utilizzando il parametro --endpoint-url.
Quando si inseriscono dati multimediali (frammenti) in uno stream, Kinesis Video Streams archivia ogni frammento in entrata e i relativi metadati in quello che viene chiamato «blocco». Per ulteriori informazioni, consulta PutMedia. GetMedia
APIRestituisce un flusso di questi blocchi a partire dal blocco specificato nella richiesta.
GetMedia
APIÈ progettato per funzionare come streaming API su una connessione di lunga durata. Non è destinato all'uso in RESTful modo tradizionale, in cui viene stabilita e chiusa una nuova HTTP connessione per ogni frammento. Quando si utilizza la GetMedia
API, utilizzate la codifica di trasferimento a HTTP blocchi per inviare frammenti in modo continuo tramite una connessione persistente.
I seguenti limiti si applicano quando si utilizza: GetMedia
API
-
Un client può effettuare chiamate
GetMedia
fino a cinque volte al secondo per stream. -
Kinesis Video Streams invia dati multimediali a una velocità massima di 25 megabyte al secondo (o 200 megabit al secondo) durante una sessione.
GetMedia
Nota
Il codice di stato della GetMedia
HTTP risposta verrà restituito immediatamente, ma la lettura del payload della HTTP risposta scadrà dopo 3 secondi se non ci sono frammenti ingeriti disponibili per la riproduzione.
Nota
Se viene generato un errore dopo aver richiamato un API supporto Kinesis Video Streams, oltre al codice di stato e HTTP al corpo della risposta, include le seguenti informazioni:
-
x-amz-ErrorType
HTTPheader: contiene un tipo di errore più specifico oltre a quello fornito dal codice di stato. HTTP -
x-amz-RequestId
HTTPheader: se desideri segnalare un problema AWS, il team di supporto può diagnosticare meglio il problema se gli viene fornito il Request Id.
Sia il codice di HTTP stato che l' ErrorType intestazione possono essere utilizzati per prendere decisioni programmatiche sulla possibilità di riprovare gli errori e in quali condizioni, oltre a fornire informazioni sulle azioni che il programmatore del client potrebbe dover intraprendere per riprovare con successo.
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
"
}
URIParametri della richiesta
La richiesta non utilizza alcun URI parametro.
Corpo della richiesta
La richiesta accetta i seguenti dati nel JSON formato.
- StartSelector
-
Identifica il blocco iniziale da ottenere dallo stream specificato.
Tipo: oggetto StartSelector
Campo obbligatorio: sì
- StreamARN
-
Lo ARN stream da cui desideri ottenere i contenuti multimediali. Se non si specifica il
streamARN
, è necessario specificare ilstreamName
.Tipo: stringa
Limitazioni 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 dello stream video Kinesis da cui desideri ottenere i contenuti multimediali. Se non si specifica il
streamName
, è necessario specificare ilstreamARN
.Tipo: stringa
Limitazioni 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'azione ha esito positivo, il servizio restituisce una risposta di HTTP 200.
La risposta restituisce le seguenti HTTP intestazioni.
- ContentType
-
Il tipo di contenuto del supporto richiesto.
Limitazioni di lunghezza: lunghezza minima pari a 1. La lunghezza massima è 128 caratteri.
Modello:
^[a-zA-Z0-9_\.\-]+$
La risposta restituisce quanto segue come HTTP corpo.
- Payload
-
Il payload restituito da Kinesis Video Streams è una sequenza di blocchi del flusso specificato. Per ulteriori informazioni sui blocchi, consulta. PutMedia I blocchi che Kinesis Video Streams restituisce nella chiamata includono anche i seguenti tag
GetMedia
Matroska () aggiuntivi: MKV-
AWS_KINESISVIDEO_CONTINUATION_TOKEN (UTF-8 string) - Nel caso in cui la
GetMedia
chiamata termini, puoi utilizzare questo token di continuazione nella richiesta successiva per ottenere il blocco successivo in cui è terminata l'ultima richiesta. -
AWS_KINESISVIDEO_MILLIS_BEHIND_NOW (UTF-8 stringhe): le applicazioni client possono utilizzare questo valore di tag per determinare lo scarto tra il blocco restituito nella risposta e l'ultimo blocco dello stream.
-
AWS_KINESISVIDEO_FRAGMENT_NUMBER - Numero di frammento restituito nel blocco.
-
AWS_KINESISVIDEO_SERVER_TIMESTAMP - Timestamp del frammento sul server.
-
AWS_KINESISVIDEO_PRODUCER_TIMESTAMP - Timestamp del produttore del frammento.
Se si verifica un errore, saranno presenti i seguenti tag:
-
AWS_KINESISVIDEO_ERROR_CODE - Descrizione in formato stringa di un errore che ha causato GetMedia l'interruzione.
-
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 dello stream KMS
-
4501 - La KMS chiave di Stream è disabilitata
-
4502 - Errore di convalida sulla chiave dello stream KMS
-
4503 - la KMS chiave specificata nello stream non è disponibile
-
4504 - Utilizzo non valido della KMS chiave specificata nello stream
-
4505 - Stato non valido della KMS chiave specificata nello stream
-
4506 - Impossibile trovare la KMS chiave 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é è stato superato il limite di chiamate client consentite. Prova a effettuare la chiamata più tardi.
HTTPCodice di stato: 400
- ConnectionLimitExceededException
-
Kinesis Video Streams ha limitato la richiesta perché è stato superato il limite di connessioni client consentite.
HTTPCodice di stato: 400
- InvalidArgumentException
-
Il valore di questo parametro di input non è valido.
HTTPCodice di stato: 400
- InvalidEndpointException
-
Il chiamante ha utilizzato un endpoint errato per scrivere dati in uno stream. Quando riceve tale eccezione, l'utente deve chiamare
GetDataEndpoint
conAPIName
set toPUT_MEDIA
e utilizzare l'endpoint from response per richiamare la chiamata successiva.PutMedia
HTTPCodice di stato: 400
- NotAuthorizedException
-
Il chiamante non è autorizzato a eseguire un'operazione sullo stream specificato o il token è scaduto.
HTTPCodice di stato: 401
- ResourceNotFoundException
-
Codice di stato: 404, Lo stream con il nome specificato non esiste.
HTTPCodice di stato: 404
Vedi anche
Per ulteriori informazioni sull'utilizzo di questo API codice in una delle lingue specifiche AWS SDKs, consulta quanto segue: