Supporto per Kinesis API Video Streams e le librerie dei produttori - Flusso di video Amazon Kinesis

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 richiesta PutMedia, 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, se GetMedia 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. Tramite GetMedia, 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 (e ListFragments): 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 APIs ListFragmentse GetMediaFromFragmentList 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 applicazioni MapReduce, 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:

      1. 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.

      2. 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

Diagramma che mostra il flusso di dati per frammenti e mandrini durante le 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:

  1. Il pattern di rilevamento degli endpoint inizia con una chiamata a una delle GetEndpoints azioni. Queste azioni appartengono al Control Plane.

    1. Se stai recuperando gli endpoint per i Amazon Kinesis Video Streams servizi Amazon Kinesis Video Streams or, usa. GetDataEndpoint

    2. Se stai recuperando gli endpoint perFlesso di video Amazon Kinesis, Archiviazione video Web Amazon Kinesis RTC o Kinesis Video Signaling, usa. GetSignalingChannelEndpoint

  2. Memorizza nella cache e riutilizza l'endpoint.

  3. 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.