Domande generali

D: Cos'è Amazon Kinesis Video Streams?

Amazon Kinesis Video Streams semplifica lo streaming in sicurezza dei video dai dispositivi connessi ad AWS per l'apprendimento automatico (ML, machine learning), l'analisi e l'elaborazione. Effettua automaticamente il provisioning e ricalibra in modo elastico tutta l'infrastruttura necessaria per assimilare i flussi video da milioni di dispositivi. Inoltre memorizza, crittografa e indicizza in modo duraturo i dati video nei tuoi flussi e ti consente di accedervi tramite API facili da utilizzare. Kinesis Video Stream ti consente di sviluppare rapidamente applicazioni ML e di visione computerizzata attraverso l'integrazione con Amazon Rekognition Video e librerie per framework ML quali Apache MxNet, TensorFlow e OpenCV.

D: Cosa sono i dati con codifica temporale?

I dati con codifica temporale sono qualsiasi dato in cui i record sono in una serie temporale e ogni record è correlato al precedente o al successivo. Il video è un esempio di dati con codifica temporale, in cui ogni fotogramma è legato a quello precedente e successivo attraverso trasformazioni spaziali. Altri esempi di dati con codifica temporale includono segnali audio, RADAR e LIDAR. Amazon Kinesis Video Streams è progettato specificamente per l'assimilazione e lo storage efficienti ed economicamente convenienti di tutti i tipi di dati con codifica temporale per analisi e casi d'uso ML.

D: Quali sono i casi di utilizzo comuni per Kinesis Video Streams?

Kinesis Video Streams è ideale per la realizzazione di applicazioni ML abilitate alla visione computerizzata che stanno diventando prevalenti in numerosi casi d'uso come i seguenti:

Casa intelligente

Con Kinesis Video Streams, puoi facilmente trasmettere ad AWS video e audio da dispositivi domestici dotati di videocamera come monitor per bambini, webcam e sistemi di sorveglianza domestica. Puoi poi utilizzare i flussi per creare una varietà di applicazioni per la casa intelligente che vanno dalla semplice riproduzione di video all'illuminazione intelligente, a sistemi di climatizzazione e soluzioni di sicurezza.

Città intelligente

Molte città hanno installato un gran numero di telecamere ai semafori, nei parcheggi, nei centri commerciali e praticamente in ogni luogo pubblico, acquisendo video 24/7. Puoi usare Kinesis Video Streams per assimilare, archiviare e analizzare in modo sicuro ed economico questo enorme volume di dati video per aiutare a risolvere i problemi del traffico, prevenire il crimine, inviare soccorritori di emergenza e molto altro.

Automazione industriale

Puoi usare Kinesis Video Streams per raccogliere una varietà di dati con codifica temporale come i segnali RADAR e LIDAR, i profili di temperatura e i dati di profondità da apparecchiature industriali. Li puoi quindi analizzare utilizzando il tuo framework di apprendimento automatico preferito, compresi Apache MxNet, TensorFlow e OpenCV, per casi d'uso dell'automazione industriale come la manutenzione predittiva. Puoi ad esempio prevedere la durata di una guarnizione o di una valvola e programmarne in anticipo la sostituzione, riducendo i tempi di inattività e i difetti in una linea di produzione.

D: Quali attività sono gestite da Amazon Kinesis Video Streams per mio conto?

Amazon Kinesis Video Streams è un servizio di storage e assimilazione video completamente gestito. Ti consente di assimilare, elaborare e archiviare video in tutta sicurezza su qualsiasi scala per applicazioni che alimentano robot, città intelligenti, automazione industriale, monitoraggio della sicurezza, apprendimento automatico (ML), e altro ancora. Kinesis Video Streams assimila anche altri tipi di dati con codifica temporale quali i segnali audio, RADAR e LIDAR. Kinesis Video Streams ti fornisce gli SDK da installare nei tuoi dispositivi per semplificare lo streaming sicuro dei video ad AWS. Effettua automaticamente il provisioning e ridimensiona in modo elastico tutta l'infrastruttura necessaria per assimilare i flussi video da milioni di dispositivi. Inoltre, archivia in modo sicuro e indicizza i flussi video e fornisce delle API semplici da utilizzare in modo che le applicazioni possano effettuare l'accesso e recuperare i frammenti video indicizzati sulla base di tag e time stamp. Kinesis Video Streams offre una libreria per integrare i framework ML come Apache MxNet, TensorFlow e OpenCV con i flussi video per creare applicazioni di machine learning. Kinesis Video Streams è integrato con Amazon Rekognition Video, rendendo possibile creare applicazioni di visione computerizzata che rilevano oggetti, eventi e persone.

Concetti chiave

D: Cos'è un flusso video?

Un flusso video è una risorsa che consente di acquisire video in diretta e altri dati con codifica temporale, eventualmente memorizzarli e renderli disponibili per il consumo sia in tempo reale che in batch o ad-hoc. Quando si sceglie di memorizzare i dati nel flusso video, Kinesis Video Streams li crittograferà e genererà nei dati memorizzati un indice basato sul tempo. In una tipica configurazione, un flusso video Kinesis ha un solo producer che pubblica dati in esso. Il flusso video Kinesis può contenere più applicazioni consumer che elaborano il contenuto del flusso video.

D: Cos'è un frammento?

Un frammento è una sequenza autonoma di fotogrammi. I fotogrammi che appartengono a un frammento non dovrebbero avere alcuna dipendenza da nessun fotogramma di altri frammenti. Man mano che i frammenti arrivano, Kinesis Video Streams assegna loro un numero di frammento univoco, in ordine crescente. Inoltre memorizza i time stamp lato producer e lato server per ciascun frammento, come metadati specifici di Kinesis Video Streams.

D: Cos'è un producer?

Producer è un termine generico utilizzato per fare riferimento a un dispositivo o a una fonte che inserisce dati in un flusso video Kinesis. Un producer può essere qualsiasi dispositivo di generazione video, come una videocamera di sicurezza, indossata, per smartphone o una dashboard. Un producer può anche inviare dati con codifica temporale non video, come feed audio, immagini o dati RADAR. Un producer può generare uno o più flussi video. Ad esempio, una videocamera può spingere dati video in un flusso video Kinesis e dati audio a un altro.

D: Cos'è un consumer?

I consumer sono le applicazioni personalizzate che consumano ed elaborano i dati nei flussi video Kinesis in tempo reale o dopo che i dati sono stati archiviati in modo duraturo e indicizzati temporalmente quando non è richiesta un'elaborazione a bassa latenza. Puoi creare queste applicazioni consumer per eseguirle su istanze Amazon EC2. Inoltre puoi utilizzare altri servizi di Amazon AI come Amazon Rekognition, o fornitori di analisi video di terze parti per elaborare i tuoi flussi video.

D: Cos'è un blocco?

Dopo aver ricevuto i dati da un producer, Kinesis Video Streams memorizza i dati multimediali in entrata come blocchi. Ogni blocco è costituito dal frammento di media effettivo, una copia dei metadati multimediali inviati dal producer e da metadati specifici di Kinesis Video Streams come il numero del frammento e i time stamp lato server e lato producer. Quando un consumer richiede dati multimediali attraverso l'operazione API GetMedia, Kinesis Video Streams restituisce un flusso di blocchi, iniziando dal numero di frammento specificato nella richiesta.

D: Quali considerazioni posso fare sulla latenza in Amazon Kinesis Video Streams?

Ci sono quattro fattori chiave per la latenza in un flusso di dati multimediali end-to-end.

  • Tempo trascorso nella pipeline dei supporti hardware del dispositivo: Questa pipeline può comprendere il sensore di immagine e qualsiasi encoder hardware a seconda dei casi. In teoria, potrebbe essere breve anche quanto la durata di un singolo fotogramma. In pratica raramente lo è. Tutti gli encoder per funzionare in modo efficace per la codifica multimediale (compressione) accumuleranno diversi fotogrammi per costruire un frammento. Questo processo e tutti gli algoritmi di compensazione del movimento corrispondenti aggiungeranno da un secondo a diversi secondi di latenza sul dispositivo prima che i dati vengano impacchettati per la trasmissione.
  • Latenza sostenuta per la trasmissione effettiva dei dati su Internet: La qualità del throughput e della latenza della rete può variare in modo significativo in base a dove si trova il dispositivo producer.
  • Latenza aggiunta da Kinesis Video Streams quando riceve i dati dal dispositivo producer: I dati in arrivo sono resi immediatamente disponibili nell'operazione API GetMedia per qualsiasi applicazione consumer. Se scegli di conservare i dati, Kinesis Video Streams farà in modo che vengano crittografati utilizzando AWS Key Management Service (AWS KMS) e nei singoli frammenti nel flusso video genererà un indice basato sul tempo. Quando accedi a questi dati conservati utilizzando l'API GetMediaforFragmentList, Kinesis Video Streams prende i frammenti dallo storage duraturo, decodifica i dati e li rende disponibili per l'applicazione consumer.
  • Latenza sulla trasmissione dei dati al consumer: Su Internet o in altre regioni AWS possono esservi dispositivi consumer che richiedono i dati multimediali. La qualità del throughput e della latenza della rete può variare in modo significativo in base a dove si trova il dispositivo consumer.

Infine, la console di gestione Kinesis Video Streams prende il tipo di media H.264 supportato, lo traspone per i vari browser e permette di riprodurre flussi a fini di sviluppo o test.

Pubblicazione di dati su flussi

D: Come posso pubblicare dati nel mio flusso video Kinesis?

Puoi pubblicare dati multimediali su un flusso video Kinesis tramite l'operazione PutMedia, oppure usare gli SDK Kinesis Video Streams Producer in Java, C++ o Android. Se scegli di usare direttamente l'operazione PutMedia, sarai responsabile del packaging del flusso multimediale secondo la specifica dati di Kinesis Video Streams, della gestione della creazione del flusso, della rotazione dei token e di altre azioni necessarie per uno streaming affidabile dei dati multimediali al cloud AWS. Consigliamo di utilizzare SDK Producer per rendere queste attività più semplici e iniziare più rapidamente.

D: In cosa consiste l'operazione Kinesis Video Streams PutMedia?

Kinesis Video Streams mette a disposizione un'API PutMedia per scrivere dati multimediali in un flusso video Kinesis. In una richiesta PutMedia, il producer invia un flusso di frammenti di media. Man mano che i frammenti arrivano, Kinesis Video Streams assegna loro un numero di frammento univoco, in ordine crescente. Inoltre memorizza i time stamp lato producer e lato server per ciascun frammento, come metadati specifici di Kinesis Video Streams.

D: Cos'è l'SDK Kinesis Video Streams Producer?

SDK Amazon Kinesis Video Streams Producer è un insieme di librerie facili da usare e altamente configurabili che puoi installare e personalizzare per i tuoi specifici producer. L'SDK semplifica la creazione di un'applicazione su dispositivo che si connette in modo sicuro a un flusso video e pubblica in modo affidabile video e altri dati multimediali su Kinesis Video Streams. Si occupa di tutte le attività sottostanti richieste per il packaging dei fotogrammi e dei frammenti generati dalla pipeline dei media del dispositivo. SDK gestisce anche la creazione del flusso, la rotazione dei token per lo streaming sicuro e ininterrotto, i riconoscimenti di elaborazione restituiti da Kinesis Video Streams, e altre attività.

D: In quali piattaforme di programmazione è disponibile SDK Kinesis Video Streams Producer?

Il core di SDK Kinesis Video Streams Producer è costruito in C, pertanto è efficiente e portabile su diverse piattaforme hardware. La maggior parte degli sviluppatori preferirà usare le versioni C++ o Java di SDK Kinesis Video Streams Producer. Esiste anche una versione Android dell'SDK Producer per sviluppatori di app mobili che desiderano trasmettere in streaming dati video da dispositivi Android.

D: Di cosa dovrei essere consapevole prima di utilizzare SDK Kinesis Video Streams Producer?

SDK Kinesis Video Streams Producer si occupa di tutto il pesante lavoro di packaging di fotogrammi e frammenti, di stabilire una connessione sicura e inviare in modo affidabile in stream video ad AWS. Tuttavia in essi sono in esecuzione molte diverse varietà di dispositivi hardware e pipeline di media. Per semplificare il processo di integrazione con la pipeline dei media, consigliamo una certa conoscenza di: 1) limiti del fotogramma, 2) tipo di fotogramma usato per i limiti, fotogramma I o non I, e 3) time stamp di codifica fotogrammi.

Lettura di dati da flussi

D: Cos'è l'API GetMedia?

Puoi usare l'API GetMedia per recuperare il contenuto multimediale da un flusso video Kinesis. Nella richiesta, identifichi il nome del flusso, o Amazon Resource Name (ARN) del flusso, e il blocco iniziale. Kinesis Video Streams restituisce quindi un flusso di blocchi in ordine per numero di frammento. 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 un "blocco". L'API GetMedia restituisce un flusso di questi blocchi, a partire da quello che hai specificato nella richiesta.

D: Cos'è l'API GetMediaForFragmentList?

Puoi usare l'API GetMediaForFragmentList per recuperare i dati multimediali per un elenco di frammenti (specificato per numero di frammento) dai dati archiviati in un flusso video Kinesis. In genere una chiamata a questa operazione API è preceduta da una chiamata all'API ListFragments.

D: Cos'è l'API ListFragments?

Puoi usare l'API ListFragments per restituire una lista di frammenti dal flusso video e dalla posizione iniziale specificati – utilizzando il numero di frammento o di time stamp – all'interno dei dati conservati.

D: Per quanto tempo posso memorizzare i dati in Kinesis Video Streams?

Puoi memorizzare i dati nei loro flussi per tutto il tempo che desideri. Kinesis Video Streams ti consente di configurare il periodo di conservazione dei dati in base alle tue esigenze di storage e memorizzazione.

D: Cos'è la libreria di parsing di Kinesis Video Streams?

La libreria di parsing di Kinesis Video Streams facilita agli sviluppatori l'uso e l'elaborazione dell'output dell'operazione GetMedia di Kinesis Video Streams. Gli sviluppatori di applicazioni includeranno la libreria nelle loro applicazioni di analisi ed elaborazione video che operano su flussi video. Le applicazioni stesse verranno eseguite sulle tue istanze EC2, sebbene possano essere eseguite altrove. La libreria ha caratteristiche che rendono facile ottenere un oggetto a livello di fotogramma e i relativi metadati, estrarre e raccogliere metadati specifici di Kinesis Video Streams associati ai frammenti e frammenti consecutivi. Puoi così creare applicazioni personalizzate che possono utilizzare più facilmente i dati video non elaborati per i tuoi casi d'uso.

D: Se ho un'applicazione di elaborazione personalizzata che deve utilizzare i fotogrammi (e i frammenti) trasportati dal flusso video Kinesis, come posso fare?

In generale, se desideri utilizzare flussi video e quindi manipolarli per adattarli alle esigenze della tua applicazione personalizzata, esistono due passaggi chiave da considerare. Innanzitutto, ottieni i byte in un fotogramma dal flusso formattato fornito dall'API GetMedia. Puoi utilizzare la libreria di parsing dei flussi per ottenere gli oggetti fotogramma. Successivamente, ottieni i metadati necessari per decodificare un fotogramma come l'altezza dei pixel, la larghezza, l'ID codec e i dati privati del codec. Tali metadati sono incorporati negli elementi di traccia. La libreria di parsing facilita l'estrazione di queste informazioni fornendo classi helper per raccogliere le informazioni di traccia per un frammento.

I passaggi successivi dipendono fortemente dall'applicazione. Potresti voler decodificare i fotogrammi, formattarli per un motore di riproduzione, transcodificarli per la distribuzione del contenuto o inviarli in un formato di applicazione di deep learning personalizzato. La libreria di parsing dei flussi di Kinesis Video Streams è open-sourced per cui puoi estenderla per i tuoi casi d'uso specifici.

Console

D: Cos'è la console di gestione di Kinesis Video Streams?

La console di gestione di Kinesis Video Streams ti consente di creare, aggiornare, gestire e monitorare i tuoi flussi video. La console può anche riprodurre i flussi multimediali in diretta o su richiesta, purché il loro contenuto sia del tipo di media supportato. Utilizzando i controlli del lettore, puoi visualizzare il flusso in tempo reale, saltare avanti o indietro di 10 secondi, usare il selettore di data e ora per tornare indietro a un punto nel passato quando hai impostato il periodo di conservazione corrispondente per il flusso video. Le funzionalità di riproduzione video della console di gestione di Kinesis Video Streams vengono offerte come strumento di diagnostica rapida per scenari di sviluppo e test per gli sviluppatori che realizzano soluzioni tramite Kinesis Video Streams.

D: Che tipi di media supporta la console?

L'unico tipo di media video supportato per la riproduzione nella console di gestione di Kinesis Video Streams è il diffuso formato H.264. Questo formato è ampiamente supportato su dispositivi, codificatori hardware e software e motori di riproduzione. Anche se puoi assimilare qualsiasi tipo di dati video, audio o altri tipi di dati personalizzati con codifica temporale per le tue applicazioni consumer e i tuoi casi d'uso, la console di gestione non eseguirà la riproduzione di questi altri tipi di dati.

D: Cos'è il ritardo nella riproduzione di video nella console di gestione di Kinesis Video Streams?

Per un producer che sta trasmettendo dati video nel flusso video, si avrà un ritardo di 2-10 secondi nell'esperienza di riproduzione in diretta nella console di gestione di Kinesis Video Streams. La maggior parte della latenza viene aggiunta dal dispositivo producer in quanto accumula fotogrammi in frammenti prima di trasmettere dati su Internet. Quando i dati entrano nell'endpoint Kinesis Video Streams e richiedi la riproduzione, la console riceverà frammenti del tipo di media H.264 dallo storage duraturo, traspone i frammenti in un formato di media idoneo per la riproduzione su diversi browser Internet. Il contenuto del media trasposto verrà quindi trasferito alla posizione da cui hai richiesto la riproduzione via Internet.

Crittografia

D: Cos'è la crittografia lato server per Kinesis Video Streams?

La crittografia lato server è una funzione di Kinesis Video Streams che crittografa automaticamente i dati prima che diventino inattivi utilizzando la chiave master del cliente (CMK) AWS da te specificata. I dati vengono crittografati prima di essere scritti nel layer di storage di Kinesis Video Streams e vengono decrittografati dopo essere stati recuperati dallo storage. Di conseguenza, i tuoi dati sono sempre crittografati quando sono inattivi nel servizio Kinesis Video Streams.

D: Come si inizia a usare la crittografia lato server?

La crittografia lato server è sempre abilitata sui flussi video Kinesis. Se al momento di creare il flusso non si specifica una chiave fornita dall'utente, viene usata quella predefinita (fornita da Kinesis Video Streams).

Quando si crea un flusso Kinesis Video Streams, occorre assegnargli una chiave master AWS KMS fornita dall'utente. Non puoi in seguito assegnare una chiave diversa a un flusso utilizzando l'API UpdateStream.

Puoi assegnare una chiave master AWS KMS fornita dall'utente a un flusso video Kinesis in due modi: al momento di creare un flusso video Kinesis nella console, specifica la chiave master AWS KMS nella sezione Encryption nella pagina Create new Kinesis Video stream. Oppure quando crei un flusso Kinesis Video Streams tramite l'API CreateStream, specifica l'ID della chiave nel parametro KmsKeyId.

D: Quanto costa usare la crittografia lato server?

Quando applichi la crittografia lato server, sei soggetto ai costi della chiave e dell'utilizzo dell'API AWS KMS. Diversamente dalle chiavi master AWS KMS personalizzate, la chiave master del cliente (CMK) (predefinita) di video aws/kinesis è gratuita. Paghi tuttavia per i costi d'uso dell'API che Kinesis Video Streams sostiene per conto tuo. I costi d'uso dell'API si applicano per ogni chiave CMK, incluse quelle personalizzate. Kinesis Video Streams richiama AWS KMS ogni 45 minuti circa, quando è impostata la rotazione delle chiavi dati. In un mese di 30 giorni, il costo totale delle chiamate API AWS KMS avviate da un flusso Kinesis Video Streams è di appena qualche dollaro. Questi costi ovviamente aumentano di pari passo con il numero di credenziali utente utilizzate per producer e consumer di dati, perché ogni singola credenziale utente richiede una chiamata API univoca ad AWS KMS.

Prezzi e fatturazione

D: Amazon Kinesis Video Streams è disponibile nel piano gratuito di AWS?

No. Amazon Kinesis Video Streams non è attualmente disponibile nel piano gratuito di AWS.

D: Quanto costa Kinesis Video Streams?

I prezzi di Kinesis Video Streams sono calcolati in base al consumo effettivo. Non sono previsti pagamenti anticipati né tariffe minime: paghi solo le risorse che usi. Il prezzo di Kinesis Video Streams si basa sul volume di dati acquisiti (GB), sul volume di dati consumati (GB) e sui dati memorizzati (GB-mese) in tutti i flussi video nel tuo account.

Inoltre, Kinesis Video Streams addebiterà un costo solo per i dati multimediali ricevuti correttamente, con una dimensione minima del blocco di 4 KB. Per un confronto, un campione audio di 64 kbps ha una dimensione di 8 KB, per cui la dimensione minima dei blocchi è impostata su un valore sufficientemente basso da accogliere il più piccolo dei flussi audio o video.

D: In che modo Kinesis Video Streams fattura i dati memorizzati nei flussi?

Kinesis Video Streams addebiterà per la quantità totale di dati memorizzati in modo durevole in un determinato flusso. La quantità totale di dati memorizzati per flusso video può essere controllata utilizzando le ore di conservazione.

Ulteriori informazioni sui prezzi di Amazon Kinesis Video Streams

Visita la pagina dei prezzi
Sei pronto per iniziare?
Registrati
Hai domande?
Contattaci