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à.
Supporto per Kinesis API Video Streams e le librerie dei produttori
Kinesis Video APIs Streams consente di creare e gestire stream e leggere o scrivere dati multimediali da e verso uno stream. La console Kinesis Video Streams, oltre alle funzionalità di amministrazione, supporta video-on-demand anche il live e la riproduzione. Kinesis Video Streams fornisce anche una serie di librerie di produttori che è possibile utilizzare nel codice dell'applicazione per estrarre dati dalle fonti multimediali e caricarli nel flusso video Kinesis.
Streams Video Kinesis API
Kinesis Video APIs Streams consente di creare e gestire Kinesis Video Streams. Consente inoltre APIs di leggere e scrivere dati multimediali su uno stream, come segue:
-
Produttore API: Kinesis Video Streams
PutMedia
API consente di scrivere dati multimediali su un flusso video Kinesis. In una richiestaPutMedia
, il producer invia un flusso di frammenti multimediali. Per frammento si intende una sequenza autonoma di frame. I frame appartenenti a un frammento non devono avere alcun tipo di dipendenza dai frame di altri frammenti. Per ulteriori informazioni, consulta PutMedia.All'arrivo dei frammenti, Kinesis Video Streams assegna un numero di frammento univoco, in ordine crescente. Memorizza anche i timestamp lato produttore e lato server per ogni frammento, come metadati specifici di Kinesis Video Streams.
-
ConsumatoreAPIs: i consumatori possono utilizzare quanto segue per ottenere dati da uno stream: APIs
-
GetMedia
- Quando lo utilizzanoAPI, i consumatori devono identificare il frammento iniziale. APIQuindi restituisce i frammenti nell'ordine in cui sono stati aggiunti allo stream (in ordine crescente per numero di frammenti). I dati multimediali contenuti nei frammenti sono impacchettati in un formato strutturato come Matroska(). MKV Per ulteriori informazioni, consulta GetMedia. Nota
GetMedia
sa dove sono i frammenti (archiviati nello datastore o disponibili in tempo reale). Ad esempio, seGetMedia
determina che i frammenti di partenza sono archiviati, ne avvia la restituzione dal datastore. Quando deve restituire frammenti più recenti che non sono ancora stati archiviati,GetMedia
passa alla lettura dei frammenti da un buffer di flusso in memoria.Questo è un esempio di un consumer continuo, che elabora i frammenti nell'ordine in cui vengono acquisiti dal flusso.
GetMedia
permette che le applicazioni di elaborazione video falliscano o accumulino ritardo, recuperando senza alcuno sforzo aggiuntivo. TramiteGetMedia
, le applicazioni sono in grado di elaborare i dati archiviati nel datastore e man mano che l'applicazione si aggiorna,GetMedia
continua ad aggiornare i dati multimediali in tempo reale al loro arrivo. -
GetMediaFromFragmentList
(eListFragments
): le applicazioni per l'elaborazione in batch sono considerate consumer offline. I consumatori offline potrebbero scegliere di recuperare in modo esplicito particolari frammenti multimediali o intervalli di video combinando i comandi.ListFragments
GetMediaFromFragmentList
APIsListFragments
eGetMediaFromFragmentList
consentono a un'applicazione di identificare segmenti di video per un determinato intervallo di tempo o intervallo di frammenti, quindi recuperarli in sequenza o in parallelo per l'elaborazione. Questo approccio è idoneo per suite di applicazioniMapReduce
, che devono elaborare rapidamente grandi quantità di dati in parallelo.Ad esempio, supponiamo che un consumer voglia elaborare i frammenti di video di un intero giorno. Il consumer procederebbe nel modo seguente:
-
Ottieni un elenco di frammenti chiamando
ListFragments
API e specificando un intervallo di tempo per selezionare la raccolta di frammenti desiderata.APIRestituisce i metadati di tutti i frammenti nell'intervallo di tempo specificato. I metadati forniscono informazioni come il numero di frammento, i timestamp sul lato produttore e sul lato server e così via.
-
Prendere l'elenco dei metadati dei frammenti e recuperare i frammenti, in qualsiasi ordine. Ad esempio, per elaborare tutti i frammenti della giornata, il consumatore potrebbe scegliere di dividere l'elenco in sottoliste e fare in modo che gli operatori (ad esempio, più EC2 istanze Amazon) recuperino i frammenti in parallelo utilizzando e li elaborino in parallelo.
GetMediaFromFragmentList
-
-
Il diagramma seguente mostra il flusso di dati per frammenti e blocchi durante queste chiamate. API
Quando un producer invia una richiesta PutMedia
, invia metadati multimediali nel payload nonché una sequenza di frammenti di dati multimediali. Dopo aver ricevuto i dati, Kinesis Video Streams archivia i dati multimediali in entrata come blocchi Kinesis Video Streams. Ogni blocco è costituito dagli elementi seguenti:
-
Una copia dei metadati multimediali
-
Un frammento
-
Metadati specifici di Kinesis Video Streams; ad esempio, il numero del frammento e i timestamp lato server e lato produttore
Quando un consumatore richiede metadati multimediali, Kinesis Video Streams restituisce un flusso di blocchi, a partire dal numero di frammento specificato nella richiesta.
Se abiliti la persistenza dei dati per lo stream, dopo aver ricevuto un frammento nello stream, Kinesis Video Streams salva anche una copia del frammento nell'archivio dati.
Modello di rilevamento degli endpoint
Piano di controllo REST APIs
Per accedere al piano di REST APIs controllo di Kinesis Video Streams, utilizza gli endpoint del servizio Kinesis Video Streams.
Piano dati REST APIs
Kinesis Video Streams è costruito utilizzando un'architettura cellulare per garantire una migliore scalabilità e proprietà di isolamento del traffico. Poiché ogni stream è mappato su una cella specifica in una regione, l'applicazione deve utilizzare gli endpoint corretti specifici della cella a cui è stato mappato lo stream. Quando si accede al Data Plane RESTAPIs, è necessario gestire e mappare autonomamente gli endpoint corretti. Questo processo, il modello di scoperta degli endpoint, è descritto di seguito:
-
Il pattern di rilevamento degli endpoint inizia con una chiamata a una delle
GetEndpoints
azioni. Queste azioni appartengono al Control Plane.Se stai recuperando gli endpoint per i Amazon Kinesis Video Streams servizi Amazon Kinesis Video Streams or, usa. GetDataEndpoint
Se stai recuperando gli endpoint perFlesso di video Amazon Kinesis, Archiviazione video Web Amazon Kinesis RTC o Kinesis Video Signaling, usa. GetSignalingChannelEndpoint
Memorizza nella cache e riutilizza l'endpoint.
Se l'endpoint memorizzato nella cache non funziona più, effettua una nuova chiamata
GetEndpoints
a per aggiornare l'endpoint.
Librerie Producer
Dopo aver creato uno stream video Kinesis, puoi iniziare a inviare dati allo stream. Nel codice dell'applicazione, puoi utilizzare queste librerie per estrarre dati dalle tue fonti multimediali e caricarli nel tuo flusso video Kinesis. Per ulteriori informazioni sulle librerie di producer disponibili, consulta Caricamento su Kinesis Video Streams.