Geral

P: O que é o Amazon Kinesis Video Streams?

O Amazon Kinesis Video Streams facilita o streaming seguro de vídeos de dispositivos conectados para a AWS, onde podem ser usados para análises, aprendizado de máquina e outros processamentos. O Kinesis Video Streams provisiona e escala de maneira elástica e automática toda a infraestrutura necessária para consumir dados de streaming de vídeo de milhões de dispositivos. Além disso, o serviço oferece armazenamento resiliente, criptografa e indexa dados de vídeo de streams e permite acessar os dados por meio de APIs fáceis de usar. O Kinesis Video Streams permite criar rapidamente aplicativos de visão por computador e aprendizado de máquina por meio da integração com o Amazon Rekognition Video e com bibliotecas de estruturas de aprendizado de máquina como Apache MxNet, TensorFlow e OpenCV.

P: O que são dados de codificação temporal?

Dados de codificação temporal são aqueles cujos registros são realizados em uma sequência de tempo, e cada registro se relaciona com os registros anteriores e seguintes. O vídeo é um exemplo de dado de codificação temporal, pois cada quadro se relaciona com os quadros anteriores e seguintes através de transformações espaciais. Outros exemplos de dados de codificação temporal são os sinais de áudio, RADAR, e LIDAR. O Amazon Kinesis Video Streams foi criado especificamente para a ingestão e o armazenamento eficientes e econômicos de todos os tipos de dador de codificação temporal para casos de uso de análise e Machine Learning.

Q: O que são casos de uso comum do Kinesis Video Streams?

O Kinesis Video Streams é ideal para criar aplicativos de aprendizado de Machine Learning habilitados para visão computacional que estão se tornando predominantes em uma grande variedade de casos de uso, como os seguintes:

Residência inteligente

Com o Kinesis Video Streams, você pode fazer facilmente streaming de vídeo e áudio de dispositivos residenciais equipados com câmera como monitores de bebês, webcams e sistemas de vigilância residencial para a AWS. Esses streams podem ser usados para criar diversos aplicativos residenciais inteligentes, da simples reprodução de vídeo até iluminação inteligente, sistemas de controle climático e soluções de segurança.

Cidade inteligente

Muitas cidades instalaram grandes números de câmeras em semáforos, estacionamentos, shoppings e praticamente em todos os locais públicos. capturando vídeo 24 horas por dia, 7 dias por semana. Você pode usar o Kinesis Video Streams para consumir, armazenar e analisar com segurança e economia esse volume massivo de dados de vídeo a fim de ajudar a resolver problemas de trânsito, combater o crime, responder a emergências e muito mais.

Automação industrial

Você pode usar o Kinesis Video Streams para coletar diversos dados com codificação temporal como sinais de RADAR e LIDAR, perfis de temperatura e dados detalhados de equipamentos industriais. Esses dados podem ser analisados usando sua estrutura de aprendizado de máquina favorita, incluindo Apache MxNet, TensorFlow e OpenCV, em casos de uso de automação industrial como manutenção preditiva. Por exemplo, é possível prever a vida útil de gaxeta ou válvula e programar antecipadamente a substituição das peças para reduzir o tempo de inatividade e os defeitos em uma linha de fabricação.

P: O que o Amazon Kinesis Streams Video pode gerenciar por mim?

O Amazon Kinesis Video Streams é um serviço de ingestão e armazenamento de vídeo totalmente gerenciado. Ele permite que você faça a ingestão, o processamento e o armazenamento de vídeos em qualquer escala para aplicativos que acionam robôs, cidades inteligentes, automação industrial, monitoramento de seguranção, Machine Learning (ML) (ML) e muito mais. O Kinesis Video Streams também faz a ingestão de ourtos tipos de dados de codificação temporal, como sinais de áudio, RADAR e LIDAR. O Kinesis Video Streams fornece SDKs que podem ser instalados nos seus dispositivos para facilitar o streaming de vídeo seguro para a AWS. O Kinesis Video Streams provisiona e escala de maneira elástica e automática toda a infraestrutura necessária para consumir streaming de vídeo de milhões de dispositivos. Também armazena, criptografa e indexa os streamings de vídeo de forma durável, e fornece APIs fáceis de usar, de tal forma que os aplicativos podem acessar e recuperar fragmentos de vídeo indexados com base em tags e time stamps. O Kinesis Video Streams fornece uma biblioteca para integração de estruturas de ML, tais como Apache MxNet, Tensorflow e OpenCV com streamings de vídeo, para construir aplicativos de Machine Learning. O Kinesis Video Streams está integrado com o Amazon Rekognition Video, permitindo criar aplicativos de visão computadorizada que detectam objetos, eventos e pessoas.

Principais conceitos

P: O que é um stream de vídeo?

O stream de vídeo é um recurso que permite que você capture vídeo ao vivo e outros dados de codificação temporal, armazene esses dados de forma opcional e disponibilize-os para consumo tanto em tempo real quanto por lotes ou por demanda. Quando você opta por armazenar dados no stream de vídeo, o Kinesis Video Streams criptografa os dados e gera um índice baseado em tempo nos dados armazenados. Em uma configuração típica, um stream de vídeo do Kinesis tem apenas um produtor que publica dados nesse local. O stream de vídeo do Kinesis pode ter vários aplicativos de consumo processando o conteúdo do stream de vídeo.

P: O que é um fragmento?

Um fragmento é uma sequência de quadros autônoma. Os quadros que pertencem a um fragmento não devem ter dependência alguma de qualquer um dos quadros de outros fragmentos. À medida que os fragmentos chegam, o Kinesis Video Streams atribui um número de fragmento único, em ordem crescente. Ele também armazena data e hora no produtor e no servidor para cada fragmento como metadados específicos do Kinesis Video Streams.

P: O que é um produtor?

Produtor é o termo genérico para se referir a um dispositivo ou origem que introduz os dados em um stream de vídeo do Kinesis. O produtor pode ser qualquer dispositivo de geração de vídeos, como câmeras de segurança, câmeras acopladas ao corpo, câmeras de smartphones ou câmeras para painéis de carros. O produtor também pode enviar dados de codificação temporal que não sejam de vídeo, como feeds de áudio, imagens ou dados de RADAR. Um produtor pode gerar um ou mais streams de vídeo. Por exemplo, uma câmera de vídeo pode lançar dados de vídeo em um stream de vídeo do Kinesis e dados de áudio em outro.

P: O que é um consumidor?

Os consumidores são os aplicativos personalizados que consomem e processam os dados nos streams de vídeo do Kinesis em tempo real ou após os dados estarem armazenados de forma durável e indexados em relação ao tempo quando o processamento de baixa latência não é exigido. Você pode criar esses aplicativos consumidores para serem executados nas instâncias do Amazon EC2. Também é possível usar outros serviços do Amazon AI, como Amazon Rekognition, ou provedores de análise de vídeo de terceiros, para processar seus streams de vídeo.

P: O que é uma porção?

Ao receber os dados de um produtor, o Kinesis Video Streams armazena os dados de mídia de entrada como porções. Cada porção consiste no fragmento de mídia real, uma cópia dos metadados de mídia enviados pelo produtor e os metatados específicos do Kinesis Video Streams, como por exemplo o número do fragmento, além das informações de data e hora vindas do servidor e do produtor. Quando um consumidor solicita dados de mídia por meio da operação da GetMedia API, o Kinesis Video Streams retorna um streaming de porções, começando com o número de fragmento que você especificou na solicitação.

P: Como é a latência no Amazon Kinesis Video Streams?

Há quatro principais contribuidores para a latência no fluxo de dados de mídia completo.

  • O tempo gasto na pipeline de mídia de hardware do dispositivo: essa pipeline pode conter o sensor de imagem e qualquer codificador de hardware, conforme necessário. Em tese, esse tempo pode ser tão breve quanto a duração de um único quadro. Na prática, raramente é. Todos os codificadores acumularão vários quadros para construir um fragmento e, assim, funcionarão de forma eficaz na codificação de mídia. Esse processo e qualquer algoritmo de compensação de movimento correspondente adicionarão um ponto de latência que pode variar de um segundo a vários segundos no dispositivo antes que os dados sejam empacotados para transmissão.
  • Latência que resultou na transmissão de dados real na internet: a qualidade do throughput e da latência da rede pode variar de maneira significativa com base no local em que o dispositivo de produção estiver localizado.
  • Latência adicionada pelo Kinesis Video Streams à medida que ele recebe os dados do dispositivo produtor: os dados de entrada são disponibilizados imediatmente na operação da GetMedia API para qualquer aplicativo consumidor. Se preferir reter dados, o Kinesis Video Streams assegurará que os dados sejam criptografados com o uso do AWS Key Management Service (AWS KMS) e gerem um índice baseado no tempo nos fragmentos individuais no stream de vídeo. Quando você acessar esses dados retidos usando a GetMediaforFragmentList API, o Kinesis Video Streams seleciona os fragmentos do armazenamento durável, decodifica os dados e os disponibiliza para o aplicativo consumidor.
  • Latência de tempo na transmissão de dados de volta para o consumidor: pode haver dispositivos na internet ou outras regiões da AWS que solicitem os dados de mídia. A qualidade da latência e do throughput da rede pode variar de maneira significativa dependendo de onde o dispositivo consumidor está localizado.

Finalmente, o console de gerenciamento do Kinesis Video Streams usa o tipo de mídia H.264 compatível, o transmite em pacotes para vários navegadores e permite que você reproduza os streams para fins de desenvolvimento ou teste.

Publicação de dados em streams

P: Como publico dados no meu stream de vídeo do Kinesis?

Você pode publicar dados de mídia em um stream de vídeo do Kinesis por meio da operação PutMedia ou usar os SDKs produtores do Kinesis Video Streams no Java, C++ ou Android. Caso você opte por usar a operação PutMedia diretamente, será responsável pelo empacotamento do stream de mídia de acordo com a especificação de dados do Kinesis Video Streams, pela criação do stream, pela rotação do token e por outras ações necessárias para um stream de dados de mídia confiável para a nuvem da AWS cloud. Recomendamos usar os SDKs produtores para realizar essas tarefas de forma mais simples e para começar a usar os recursos mais rápido.

P: O que é a operação de PutMedia no Kinesis Video Streams?

O Kinesis Video Streams fornece a PutMedia API, que grava dados de mídia em um stream de vídeo do Kinesis. Em uma solicitação do PutMedia, o produtor envia um stream de fragmentos de mídia. À medida que os fragmentos chegam, o Kinesis Video Streams atribui um número de fragmento único, em ordem crescente. Ele também armazena data e hora presentes no produtor e no servidor para cada fragmento como metadados específicos do Kinesis Video Streams.

P: O que é o SDK produtor do Kinesis Video Streams?

O SDK produtor do Amazon Kinesis Video Streams é um conjunto de bibliotecas altamente configuráveis e fáceis de usar que você pode instalar e personalizar de acordo com os seus produtores específicos. O SDK facilita a criação de um aplicativo no dispositivo que se conecte de forma segura com um stream de vídeo e publica vídeo e outros dados de mídia de maneira confiável no Kinesis Video Streams. Ele cuida de todas as tarefas subjacentes que são necessárias para empacotar os quadros e os fragmentos gerados pelo pipeline de mídia do dispositivo. O SDK também realiza a criação de streams, a rotação de tokens para um stream seguro e contínuo, o processamento de notificações de recebimento retornadas pelo Kinesis Video Streams e outras tarefas.

P: Em quais plataformas de programação o SDK produtor do Kinesis Video Streams encontra-se disponível?

O núcleo do SDK produtor do Kinesis Video Streams é criado em linguagem C, portanto é eficiente e portátil para uma variedade de plataformas de hardware. A maioria dos desenvolvedores preferirão usar as versões do SDK produtor do Kinesis Video Streams para C++ ou Java. Há também uma versão para Android do SDK produtor para desenvolvedores de aplicativos de dispositivos móveis que querem realizar o stream de dados de vídeo em dispositivos Android.

P: O que devo saber antes de começar a usar o SDK produtor do Kinesis Video Streams?

O SDK produtor do Kinesis Video Streams realiza todo o levantamento pesado de quadros e fragmentos de empacotamento, estabelece uma conexão segura e faz stream de vídeo para AWS de maneira confiável. Entretanto, há muitas variedades diferentes de dispositivos de hardware e pipelines de mídia em execução neles. Para facilitar o processo de integração com o pipeline de mídia, recomendamos adquirir alguns conhecimentos de 1) limites de quadros, 2) tipo de quadro usado para os limites, I-frame ou não I-frame e 3) data e hora da codificação do quadro.

Leitura de dados de streams

P: O que é a GetMedia API?

Você pode usar a GetMedia API para recuperar conteúdo de mídia de um stream de vídeo do Kinesis. Na solicitação, você identifica o nome do stream ou o Nome de Recurso da Amazon (ARN) do stream e a porção inicial. O Kinesis Video Streams então retorna um stream de porções em ordem, por número de fragmento. Quando você coloca os dados de mídia (fragmentos) em um stream, o Kinesis Video Streams armazena cada fragmento de entrada e os metadados relacionados no que chamamos de "porção". A GetMedia API retorna o stream dessas porções, começando pela porção que você especifica na solicitação.

P: O que é a GetMediaForFragmentList API?

Você pode usar a GetMediaForFragmentList API para recuperar dados de mídia (especificados por número de fragmento) para uma lista de fragmentos de dados arquivados em um stream de vídeo do Kinesis. Normalmente, uma chamada para essa operação de API é precedida por uma chamada para a ListFragments API.

P: O que é a ListFragments API?

Você pode usar a ListFragments API para retornar uma lista de fragmentos do stream de vídeo especificado e do local de início (usando o número do fragmento ou a data e a hora associadas) contida nos dados retidos.

P: Por quanto tempo posso armazenar dados no Kinesis Video Streams?

Você pode armazenar dados em seus streams por quanto tempo desejar. O Kinesis Video Streams permite configurar o período de retenção dos dados que atenda às suas necessidades de arquivamento e armazenamento.

P: O que é a biblioteca do analisador do Kinesis Video Streams?

A biblioteca do analisador do Kinesis Video Streams torna fácil para os desenvolvedores o consumo e o processamento da saída da operação GetMedia do Kinesis Video Streams. Os desenvolvedores de aplicativos incluirão a biblioteca em seus aplicativos de análise e processamento de vídeo que operam nos streams de vídeo. Esses aplicativos serão executados em instâncias EC2 ou em qualquer outro local. A biblioteca possui recursos que facilitam obter um objeto de quadro e seus dados associados, bem como extrair e coletar metadados específicos do Kinesis Video Streams que são anexados a fragmentos e fragmentos consecutivos. Então, você pode criar aplicativos personalizados que podem usar mais facilmente os dados de vídeo brutos para seus casos de uso.

P: Se eu tiver um aplicativo de processamento personalizado que precise usar os quadros (e fragmentos) transportados pelo stream de vídeo do Kinesis, como devo fazer?

Em geral, se vcoê deseja consumir streams de vídeo e depois manipulá-los para que atendam às suas necessidades personalizadas, há duas etapas a serem consideradas. Primeiro, obtenha os bytes em um quadro no stream formatado fornecido pela GetMedia API. Você pode usar a biblioteca do analisador de stream para obter os objetos do quadro. Em seguida, obtenha os metadados necessários para decodificar um quadro, como altura do pixel, sua largura, codec id e dados de privacidade do codec. Tais metadados são incorporados aos elementos de rastreamento. A biblioteca do analisador facilita a extração dessas informações, pois fornece classes do assistente para coletar as informações de rastreamento de um fragmento.

As etapas seguintes são altamente dependentes do aplicativo. Você pode querer decodificar quadros, formatá-los para um mecanismo de reprodução, transcodificá-los para distribuição de conteúdo ou alimentá-los em um formato de aplicativo de aprendizado profundo. A biblioteca do analisador de stream do Kinesis Video Streams tem base de código aberto, por isso, você pode ampliá-la para seus casos de uso específicos.

Console

P: O que é o console de gerenciamento do Kinesis Video Streams?

O console de gerenciamento do Kinesis Video Streams permite criar, atualizar, gerenciar e monitorar os seus streams de vídeo. O console pode também reproduzir os seus streams de mídia ao vivo ou sob demanda, contanto que o conteúdo dos streams esteja em um tipo de mídia compatível. Com o uso dos controles do player, você pode assistir a streams ao vivo, avançar ou retroceder 10 segundos, usar o coletor de data e hora para voltar a um ponto no passado, quando foi feita a configuração do período de retenção correspondente para o stream de vídeo. Os recursos de reprodução de vídeo do console de gerenciamento do Kinesis Video Streams são oferecidos como uma ferramenta de diagnóstico rápido para cenários de desenvolvimento e teste para desenvolvedores durante sua criação de soluções com o uso do Kinesis Video Streams.

P: Com que tipo de mídia o console é compatível?

O único tipo de mídia de vídeo compatível para reprodução no console de gerenciamento do Kinesis Video Streams é o formato popular H.264. Esse formato de mídia tem ampla compatibilidade com dispositivos, decodificadores de hardware e software, bem como mecanismos de reprodução. Apesar de você poder consumir qualquer variedade de vídeo, áudio ou outros tipo de dados personalizados e codificados por tempo para seus próprios aplicativos e casos de uso, o console de gerenciamento não realizará a reprodução desses outros tipos de dados.

P: Qual é o atraso na reprodução de vídeo no console de gerenciamento do Kinesis Video Streams?

Para um produtor que esteja transmitindo dados de vídeo no stream de vídeo, você perceberá um atraso de 2 a 10 segundos na reprodução ao vivo com o console de gerenciamento do Kinesis Video Streams. A maior parte da latência é adicionada pelo dispositivo do produtor à medida que este acumula quadros em fragmentos antes de transmitir dados pela internet. Uma vez que os dados são introduzidos no endpoint do Kinesis Video Streams e você solicita a reprodução, o console obtém fragmentos de tipo de mídia H.264 do armazenamento durável, empacota e transforma os fragmentos em um formato de mídia adequado para reprodução em diferentes navegadores da internet. O conteúdo de mídia empacotado e transformado é então transferido para o seu local onde a reprodução foi solicitada pela internet.

Criptografia

P: O que é a criptografia no servidor para o Kinesis Video Streams?

A criptografia no servidor é um recurso do Kinesis Video Streams que criptografa automaticamente os dados antes que entrem em repouso usando uma chave mestra do KMS (CMK) da AWS especificada por você. Os dados são criptografados antes de serem gravados na camada de armazenamento do Kinesis Video Streams e são descriptografados depois de recuperados do armazenamento. Em consequência disso, os dados estão sempre criptografados quando em repouso dentro do serviço do Kinesis Video Streams.

P: Como faço para começar a usar a criptografia no servidor?

A criptografia no servidor está sempre ativada nos streams de vídeo do Kinesis. Se uma chave fornecida pelo usuário não for especificada quando o stream for criado, a chave padrão (fornecida pelo Kinesis Video Streams) será usada.

Uma chave mestra do KMS da AWS fornecida pelo usuário deve ser atribuída no stream do Kinesis Video Streams quando for criada. Você não pode atribuir mais tarde uma chave diferente a um stream usando a UpdateStream API.

Há duas maneiras de atribuir uma chave mestra do KMS da AWS fornecida pelo usuário: quando criar um stream de vídeo do Kinesis no console, especifique a chave mestra do KMS da AWS na seção Encryption da página Create new Kinesis Video stream. Ou então, quando criar um stream do Kinesis Video Streams com a CreateStream API, especifique o ID da chave no parâmetro KmsKeyId.

P: Quanto custa usar a criptografia no servidor?

Quando você aplica a criptografia no servidor, está sujeito ao uso da KMS API da AWS e aos custos da chave. Diferentemente das chaves mestras do KMS da AWS, a chave mestra do cliente (CMK) (padrão) aws/kinesis-video é oferecida gratuitamente. Entretanto, você ainda precisa pagar pelo uso da API, e esses custos são direcionados a você pelo Kinesis Video Streams. Os custos de uso de APIs se aplicam a cada CMK, inclusive os personalizados. O Kinesis Video Streams chama o AWS KMS aproximadamente a cada 45 minutos quando está mudando a chave de dados. Em um período de 30 dias, o custo total de chamadas de API da AWS KMS iniciadas pelo Kinesis Video Streams deve ser inferior a alguns dólares. Esse custo aumenta com o número de credenciais de usuários usados pelos produtores e consumidores de dados, pois cada credencial de usuário exige uma chamada de API única ao AWS KMS.

Definição de preço e faturamento

P: O Amazon Kinesis Video Streams está disponível no nível gratuito da AWS?

Não. No momento, o Amazon Kinesis Video Streams não está disponível no nível gratuito da AWS.

P: Quanto custa o Kinesis Video Streams?

O Kinesis Video Streams usa uma definição de preço simples, no modelo de pagamento conforme o uso. Não há custos iniciais nem taxas mínimas, e você paga apenas pelos recursos que usa. A definição de preço do Kinesis Video Streams se baseia no volume de dados (GB) ingerido, no volume de dados consumido (GB) e no armazenamento de dados armazenado (GB por mês) por todos os streams de vídeo da sua conta.

Além disso, o Kinesis Video Streams só cobrará por dados de mídia que conseguir receber, com tamanho mínimo de porção de 4 KB. Em termos de comparação, uma amostra de áudio de 64 kbps tem tamanho de 8 KB, então o tamanho mínimo da porção é definido como o menor necessário para acomodar os mais reduzidos streams de áudio ou vídeo.

P: Como os Kinesis Video Streams cobram por dados armazenados nos streams?

O Kinesis Video Streams cobrará você o valor total de dados armazenados de forma durável em qualquer stream fornecido. A quantidade total de dados armazenados por stream de vídeo pode ser controlada usando-se horas de retenção.

Saiba mais sobre a definição de preço do Amazon Kinesis Video Streams

Acesse a página de definição de preço
Pronto para começar?
Cadastrar-se
Mais dúvidas?
Entre em contato conosco