

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Use a biblioteca do produtor C
<a name="producer-sdk-c-api"></a>

Você pode usar a biblioteca de produtores C fornecida pelo Amazon Kinesis Video Streams para escrever código de aplicativo para enviar dados de mídia de um dispositivo para um stream de vídeo do Kinesis. 

## Modelo de objeto
<a name="producer-sdk-c-objectmodel"></a>

[A biblioteca de produtores do Kinesis Video Streams C é baseada em um componente comum chamado Platform Independent Codebase (PIC), que está disponível em -pic/. GitHub https://github.com/awslabs/ amazon-kinesis-video-streams](https://github.com/awslabs/amazon-kinesis-video-streams-pic/) O PIC contém lógica de negócios independente de plataforma para os componentes fundamentais. A biblioteca de produtores do Kinesis Video Streams C envolve o PIC com uma camada adicional de API que permite retornos de chamada e eventos específicos do cenário e da plataforma. A biblioteca de produtores do Kinesis Video Streams C tem os seguintes componentes criados com base no PIC:
+ **Provedores de informações do dispositivo** — expõe a `DeviceInfo` estrutura que pode ser fornecida diretamente à API PIC. Você pode configurar um conjunto de provedores, incluindo um provedor otimizado para cenários de aplicativos que pode otimizar o armazenamento de conteúdo com base no número e nos tipos de fluxos que seu aplicativo manipula e na quantidade de buffer necessária configurada com base na quantidade de RAM disponível.
+ **Provedor de informações de streaming** — expõe a `StreamInfo` estrutura que pode ser fornecida diretamente à API PIC. Há um conjunto de provedores que são específicos para os tipos de aplicativos e os tipos comuns de cenários de streaming. Isso inclui provedores como vídeo, áudio e multifaixas de áudio e vídeo. Cada um desses cenários tem padrões que você pode personalizar de acordo com os requisitos do seu aplicativo. 
+ **Provedor de retorno** de chamada — expõe a `ClientCallbacks` estrutura que pode ser fornecida diretamente à API PIC. Isso inclui um conjunto de provedores de retorno de chamada para rede (retornos de chamada de API baseados em CURL), autorização (API de AWS credenciais) e repetição de streaming em retornos de chamada com erros. A API do Callback Provider usa vários argumentos para ser configurada, como as informações de autorização Região da AWS e de autorização. Isso é feito usando certificados de IoT ou usando AWS AccessKeyId, SecretKey, ou. SessionToken Você pode aprimorar o provedor de retorno de chamada com retornos de chamada personalizados se o seu aplicativo precisar de processamento adicional de um determinado retorno de chamada para obter alguma lógica específica do aplicativo.
+ **FrameOrderCoordinator**— Ajuda a gerenciar a sincronização de áudio e vídeo para cenários com várias faixas. Ele tem um comportamento padrão, que você pode personalizar para lidar com a lógica específica do seu aplicativo. Ele também simplifica o empacotamento de metadados do quadro na estrutura do PIC Frame antes de enviá-lo para a API PIC de camada inferior. Para cenários que não são de várias trilhas, esse componente é uma passagem para a API putFrame do PIC.

A biblioteca C fornece os seguintes objetos para gerenciar o envio de dados para um streaming de vídeo do Kinesis:
+ **KinesisVideoClient**— Contém informações sobre seu dispositivo e mantém retornos de chamada para relatar eventos do Kinesis Video Streams.
+ **KinesisVideoStream**— representa informações sobre os parâmetros do stream de vídeo, como nome, período de retenção de dados e tipo de conteúdo de mídia.

## Coloque mídia no stream
<a name="producer-sdk-c-putframe"></a>

Você pode usar os métodos fornecidos pela biblioteca C (por exemplo,`PutKinesisVideoFrame`) para colocar dados no `KinesisVideoStream` objeto. Em seguida, ela gerencia o estado interno dos dados, o que pode incluir as seguintes tarefas: 
+ Realizar autenticação.
+ Verificar se há latência de rede. Se a latência for muito alta, a biblioteca poderá reduzir quadros.
+ Controlar status do streaming em andamento.

## Procedimento: usar o SDK do produtor C
<a name="producer-sdk-c-using"></a>

Esse procedimento demonstra como usar o cliente e as fontes de mídia do Kinesis Video Streams em um aplicativo C para enviar quadros de vídeo codificados em H.264 para o stream de vídeo do Kinesis.

Este procedimento inclui as seguintes etapas:
+ [Baixe o código da biblioteca do produtor C](producersdk-c-download.md)
+ [Escreva e examine o código](producersdk-c-write.md)
+ [Execute e verifique o código](producersdk-c-test.md)