

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

# Exemplo: Plugin SDK do GStreamer produtor do Kinesis Video Streams - kvssink
<a name="examples-gstreamer-plugin"></a>

Este tópico descreve como criar o SDK do produtor do Amazon Kinesis Video Streams para usar como um plug-in. GStreamer 

**Topics**
+ [

## Baixe, crie e configure o GStreamer elemento
](#examples-gstreamer-plugin-download)
+ [

## Execute o GStreamer elemento
](#examples-gstreamer-plugin-run)
+ [

## Exemplos de comandos de GStreamer lançamento
](#examples-gstreamer-plugin-launch)
+ [

## Execute o GStreamer elemento em um contêiner Docker
](#examples-gstreamer-plugin-docker)
+ [

# GStreamer referência do parâmetro do elemento
](examples-gstreamer-plugin-parameters.md)

[GStreamer](https://gstreamer.freedesktop.org/)é uma estrutura de mídia popular usada por várias câmeras e fontes de vídeo para criar canais de mídia personalizados combinando plug-ins modulares. O plug-in Kinesis GStreamer Video Streams simplifica a integração do GStreamer seu pipeline de mídia existente com o Kinesis Video Streams. Após a integração GStreamer, você pode transmitir vídeo de uma webcam ou câmera Real Time Streaming Protocol (RTSP) para o Kinesis Video Streams para reprodução, armazenamento e análise adicional em tempo real ou posterior. 

O GStreamer plug-in gerencia automaticamente a transferência do seu stream de vídeo para o Kinesis Video Streams ao encapsular a funcionalidade fornecida pelo SDK do produtor do Kinesis Video Streams em um elemento coletor,. GStreamer `kvssink` A GStreamer estrutura fornece um ambiente gerenciado padrão para construir o fluxo de mídia de um dispositivo, como uma câmera ou outra fonte de vídeo, para processamento, renderização ou armazenamento adicionais. 

O GStreamer pipeline normalmente consiste no link entre uma fonte (câmera de vídeo) e o elemento coletor (um player para renderizar o vídeo ou um armazenamento para recuperação off-line). Neste exemplo, você usa o elemento Producer SDK como um *coletor*, ou mídia de destino, para sua fonte de vídeo (webcam ou câmera IP). O elemento de plug-in que encapsula o SDK então envia o stream de vídeo para o Kinesis Video Streams. 

Este tópico descreve como construir um canal de GStreamer mídia capaz de transmitir vídeo de uma fonte de vídeo, como uma webcam ou stream RTSP, normalmente conectado por meio de estágios intermediários de codificação (usando a codificação H.264) ao Kinesis Video Streams. Quando seu stream de vídeo está disponível como um stream de vídeo do Kinesis, você pode usá-lo [Veja a saída das câmeras usando a biblioteca de analisadores](parser-library.md) para processamento, reprodução, armazenamento ou análise adicional do seu stream de vídeo.

![\[Visão funcional do canal de GStreamer mídia para streaming de vídeo de uma câmera para o serviço.\]](http://docs.aws.amazon.com/pt_br/kinesisvideostreams/latest/dg/images/gstreamer-pipeline.png)


## Baixe, crie e configure o GStreamer elemento
<a name="examples-gstreamer-plugin-download"></a>

O exemplo do GStreamer plug-in está incluído no SDK do produtor de C\$1\$1 do Kinesis Video Streams. Para obter informações sobre os pré-requisitos e o download do SDK, consulte [Baixe e configure o código da biblioteca do produtor C\$1\$1](producersdk-cpp-download.md).

Você pode criar o GStreamer coletor do SDK do produtor como uma biblioteca dinâmica no macOS, Ubuntu, Raspberry Pi ou Windows. O GStreamer plug-in está localizado no seu `build` diretório. Para carregar este plugin, ele deve estar no seu`GST_PLUGIN_PATH`. Execute este comando: .

```
export GST_PLUGIN_PATH=`pwd`/build
```

**nota**  
No macOS, você só pode transmitir vídeo de uma câmera de rede quando executado GStreamer em um contêiner Docker. O streaming de vídeo de uma câmera USB no macOS em um contêiner do Docker não é suportado. 

## Execute o GStreamer elemento
<a name="examples-gstreamer-plugin-run"></a>

Para executar GStreamer com o elemento SDK do produtor do Kinesis Video Streams como coletor, use o comando. `gst-launch-1.0` Use elementos upstream que sejam apropriados para o uso do GStreamer plug-in. Por exemplo, [v4l2src](https://gstreamer.freedesktop.org/documentation/video4linux2/v4l2src.html?gi-language=c#v4l2src-page) para dispositivos v4l2 em sistemas Linux ou [rtspsrc](https://gstreamer.freedesktop.org/documentation/rtsp/rtspsrc.html#rtspsrc-page) para dispositivos RTSP. Especifique `kvssink` como o coletor (destino final do pipeline) para enviar vídeo ao Producer SDK. 

Além de [fornecer credenciais](https://docs.aws.amazon.com//kinesisvideostreams/latest/dg/examples-gstreamer-plugin-parameters.html#credentials-to-kvssink) e [fornecer uma região](https://docs.aws.amazon.com//kinesisvideostreams/latest/dg/examples-gstreamer-plugin-parameters.html#kvssink-region), o `kvssink` elemento tem o seguinte parâmetro obrigatório:
+ `stream-name`— O nome do destino Kinesis Video Streams.

Para obter informações sobre os parâmetros opcionais `kvssink`, consulte [GStreamer referência do parâmetro do elemento](examples-gstreamer-plugin-parameters.md).

Para obter as informações mais recentes sobre GStreamer plug-ins e parâmetros, consulte [GStreamer Plug-ins](https://gstreamer.freedesktop.org/documentation/plugins_doc.html?gi-language=c). Você também pode usar `gst-inspect-1.0` seguido pelo nome de um GStreamer elemento ou plug-in para imprimir suas informações e verificar se elas estão disponíveis em seu dispositivo:

```
gst-inspect-1.0 kvssink
```

Se a construção `kvssink` falhar ou o GST\$1PLUGIN\$1PATH não estiver configurado corretamente, sua saída será semelhante a esta:

```
No such element or plugin 'kvssink'
```

## Exemplos de comandos de GStreamer lançamento
<a name="examples-gstreamer-plugin-launch"></a>

Os exemplos a seguir demonstram como usar o `kvssink` GStreamer plug-in para transmitir vídeo de diferentes tipos de dispositivos.

### Exemplo 1: Transmita vídeo de uma câmera RTSP no Ubuntu
<a name="examples-gstreamer-plugin-launch-ex1"></a>

[O comando a seguir cria um GStreamer pipeline no Ubuntu que é transmitido a partir de uma câmera RTSP de rede, usando o plug-in rtspsrc:](https://gstreamer.freedesktop.org/documentation/rtsp/rtspsrc.html?gi-language=c) GStreamer 

```
gst-launch-1.0 -v rtspsrc location="rtsp://YourCameraRtspUrl" short-header=TRUE ! rtph264depay ! h264parse ! kvssink stream-name="YourStreamName" storage-size=128
```

### Exemplo 2: codifique e transmita vídeo de uma câmera USB no Ubuntu
<a name="examples-gstreamer-plugin-launch-ex2"></a>

O comando a seguir cria um GStreamer pipeline no Ubuntu que codifica o stream de uma câmera USB no formato H.264 e o transmite para o Kinesis Video Streams. Este exemplo usa o plug-in [ GStreamer v4l2src](https://gstreamer.freedesktop.org/documentation/video4linux2/v4l2src.html?gi-language=c#v4l2src-page).

```
gst-launch-1.0 v4l2src do-timestamp=TRUE device=/dev/video0 ! videoconvert ! video/x-raw,format=I420,width=640,height=480,framerate=30/1 ! x264enc  bframes=0 key-int-max=45 bitrate=500 ! video/x-h264,stream-format=avc,alignment=au,profile=baseline ! kvssink stream-name="YourStreamName" storage-size=512 access-key="YourAccessKey" secret-key="YourSecretKey" aws-region="YourAWSRegion"
```

### Exemplo 3: Transmita vídeo pré-codificado de uma câmera USB no Ubuntu
<a name="examples-gstreamer-plugin-launch-ex3"></a>

O comando a seguir cria um GStreamer pipeline no Ubuntu que transmite vídeo que a câmera já codificou no formato H.264 para o Kinesis Video Streams. Este exemplo usa o plug-in [ GStreamer v4l2src](https://gstreamer.freedesktop.org/documentation/video4linux2/v4l2src.html?gi-language=c#v4l2src-page).

```
gst-launch-1.0 v4l2src do-timestamp=TRUE device=/dev/video0 ! h264parse ! video/x-h264,stream-format=avc,alignment=au ! kvssink stream-name="plugin" storage-size=512 access-key="YourAccessKey" secret-key="YourSecretKey" aws-region="YourAWSRegion"
```

### Exemplo 4: Transmita vídeo de uma câmera de rede no macOS
<a name="examples-gstreamer-plugin-launch-ex4"></a>

O comando a seguir cria um GStreamer pipeline no macOS que transmite vídeo para o Kinesis Video Streams a partir de uma câmera de rede. Este exemplo usa o plug-in [rtspsrc](https://gstreamer.freedesktop.org/documentation/rtsp/rtspsrc.html#rtspsrc-page) GStreamer .

```
gst-launch-1.0 rtspsrc location="rtsp://YourCameraRtspUrl" short-header=TRUE ! rtph264depay ! h264parse ! video/x-h264, format=avc,alignment=au ! kvssink stream-name="YourStreamName" storage-size=512  access-key="YourAccessKey" secret-key="YourSecretKey" aws-region="YourAWSRegion"
```

### Exemplo 5: Transmita vídeo de uma câmera de rede no Windows
<a name="examples-gstreamer-plugin-launch-ex5"></a>

O comando a seguir cria um GStreamer pipeline no Windows que transmite vídeo para o Kinesis Video Streams a partir de uma câmera de rede. Este exemplo usa o plug-in [rtspsrc](https://gstreamer.freedesktop.org/documentation/rtsp/rtspsrc.html#rtspsrc-page) GStreamer .

```
gst-launch-1.0 rtspsrc location="rtsp://YourCameraRtspUrl" short-header=TRUE ! rtph264depay ! video/x-h264, format=avc,alignment=au ! kvssink stream-name="YourStreamName" storage-size=512  access-key="YourAccessKey" secret-key="YourSecretKey" aws-region="YourAWSRegion"
```

### Exemplo 6: Transmita vídeo de uma câmera no Raspberry Pi
<a name="examples-gstreamer-plugin-launch-ex6"></a>

O comando a seguir cria um GStreamer pipeline no Raspberry Pi que transmite vídeo para o Kinesis Video Streams. Este exemplo usa o plug-in [ GStreamer v4l2src](https://gstreamer.freedesktop.org/documentation/video4linux2/v4l2src.html?gi-language=c#v4l2src-page).

```
gst-launch-1.0 v4l2src do-timestamp=TRUE device=/dev/video0 ! videoconvert ! video/x-raw,format=I420,width=640,height=480,framerate=30/1 ! omxh264enc control-rate=1 target-bitrate=5120000 periodicity-idr=45 inline-header=FALSE ! h264parse ! video/x-h264,stream-format=avc,alignment=au,width=640,height=480,framerate=30/1,profile=baseline ! kvssink stream-name="YourStreamName" access-key="YourAccessKey" secret-key="YourSecretKey" aws-region="YourAWSRegion"
```

### Exemplo 7: Transmita áudio e vídeo no Raspberry Pi e no Ubuntu
<a name="examples-gstreamer-plugin-launch-ex7"></a>

Veja como [executar o comando gst-launch-1.0 para iniciar o streaming de áudio e vídeo no Raspberry-PI e Ubuntu](https://github.com/awslabs/amazon-kinesis-video-streams-producer-sdk-cpp/blob/master/docs/linux.md#running-the-gst-launch-10-command-to-start-streaming-both-audio-and-video-in-raspberry-pi-and-ubuntu).

### Exemplo 8: Transmita áudio e vídeo de fontes de dispositivos no macOS
<a name="examples-gstreamer-plugin-launch-ex8"></a>

Veja como [executar o comando gst-launch-1.0 para iniciar o streaming de áudio e vídeo no MacOS](https://github.com/awslabs/amazon-kinesis-video-streams-producer-sdk-cpp/blob/master/docs/macos.md#running-the-gst-launch-10-command-to-start-streaming-both-audio-and-raw-video-in-mac-os).

### Exemplo 9: Carregue o arquivo MKV que contém áudio e vídeo
<a name="examples-gstreamer-plugin-launch-ex9"></a>

Veja como [executar o comando gst-launch-1.0 para fazer upload do arquivo MKV que contém áudio e vídeo](https://github.com/awslabs/amazon-kinesis-video-streams-producer-sdk-cpp/blob/master/docs/windows.md#running-the-gst-launch-10-command-to-upload-mkv-file-that-contains-both-audio-and-video). Você precisará de um arquivo de teste MKV com mídia codificada em h.264 e AAC.

## Execute o GStreamer elemento em um contêiner Docker
<a name="examples-gstreamer-plugin-docker"></a>

O Docker é uma plataforma para desenvolvimento, implantação e execução de aplicativos usando contêineres. Usar o Docker para criar o GStreamer pipeline padroniza o ambiente operacional do Kinesis Video Streams, o que simplifica a criação e o uso do aplicativo.

Para instalar e configurar o Docker, consulte o seguinte:
+ [Instruções para download do Docker](https://docs.docker.com/engine/install/)
+ [Conceitos básicos do Docker](https://docs.docker.com/guides/getting-started/)

Depois de instalar o Docker, você pode baixar o SDK (e o GStreamer plug-in) do Kinesis Video Streams C\$1\$1 Producer do Amazon Elastic Container Registry usando um dos comandos fornecidos abaixo. `docker pull`

Para executar GStreamer com o elemento SDK do produtor do Kinesis Video Streams como um coletor em um contêiner do Docker, faça o seguinte:

**Topics**
+ [

### Autentique seu cliente Docker
](#examples-gstreamer-plugin-docker-authenticate)
+ [

### Fazer download da imagem de docker para Ubuntu, macOS, Windows ou Raspberry Pi
](#examples-gstreamer-plugin-docker-download)
+ [

### Execute a imagem do Docker
](#examples-gstreamer-plugin-docker-run)

### Autentique seu cliente Docker
<a name="examples-gstreamer-plugin-docker-authenticate"></a>

Autentique o cliente do Docker para o registro do Amazon ECR do qual você pretende extrair a imagem. Você deve obter tokens de autenticação para cada registro usado. Os tokens são válidos por 12 horas. Para obter mais informações, consulte [Autenticação de Registro](https://docs.aws.amazon.com/AmazonECR/latest/userguide/Registries.html#registry_auth) no campo do *Manual do Usuário do Amazon Elastic Container Registry*.

**Example : autenticar com o Amazon ECR**  
Para se autenticar com o Amazon ECR, copie e cole o seguinte comando conforme mostrado.  

```
sudo aws ecr get-login-password --region us-west-2 | docker login -u AWS --password-stdin https://546150905175.dkr.ecr.us-west-2.amazonaws.com
```
Se for bem-sucedido, a saída imprimirá `Login Succeeded`.

### Fazer download da imagem de docker para Ubuntu, macOS, Windows ou Raspberry Pi
<a name="examples-gstreamer-plugin-docker-download"></a>

Faça download da imagem do Docker no ambiente do Docker usando um dos comandos a seguir, dependendo do sistema operacional:

#### Fazer download da imagem do Docker para Ubuntu
<a name="examples-gstreamer-plugin-docker-download-ubuntu"></a>

```
sudo docker pull 546150905175.dkr.ecr.us-west-2.amazonaws.com/kinesis-video-producer-sdk-cpp-amazon-linux:latest
```

#### Fazer download da imagem do Docker para macOS
<a name="examples-gstreamer-plugin-docker-download-macos"></a>

```
docker pull 546150905175.dkr.ecr.us-west-2.amazonaws.com/kinesis-video-producer-sdk-cpp-amazon-linux:latest
```

#### Fazer download da imagem de docker para Windows
<a name="examples-gstreamer-plugin-docker-download-windows"></a>

```
docker pull 546150905175.dkr.ecr.us-west-2.amazonaws.com/kinesis-video-producer-sdk-cpp-amazon-windows:latest
```

#### Fazer download da imagem do Docker para Raspberry Pi
<a name="examples-gstreamer-plugin-docker-download-rpi"></a>

```
sudo docker pull 546150905175.dkr.ecr.us-west-2.amazonaws.com/kinesis-video-producer-sdk-cpp-raspberry-pi:latest
```

Para verificar se a imagem foi adicionada com êxito, execute o seguinte comando:

```
docker images
```

### Execute a imagem do Docker
<a name="examples-gstreamer-plugin-docker-run"></a>

Use um dos comandos a seguir para executar a imagem do Docker, dependendo do sistema operacional:

#### Execute a imagem do Docker no Ubuntu
<a name="examples-gstreamer-plugin-docker-run-ubuntu"></a>

```
sudo docker run -it --network="host" --device=/dev/video0 546150905175.dkr.ecr.us-west-2.amazonaws.com/kinesis-video-producer-sdk-cpp-amazon-linux /bin/bash
```

#### Execute a imagem do Docker no macOS
<a name="examples-gstreamer-plugin-docker-run-macos"></a>

```
sudo docker run -it --network="host" 546150905175.dkr.ecr.us-west-2.amazonaws.com/kinesis-video-producer-sdk-cpp-amazon-linux /bin/bash
```

#### Execute a imagem do Docker no Windows
<a name="examples-gstreamer-plugin-docker-run-windows"></a>

```
docker run -it 546150905175.dkr.ecr.us-west-2.amazonaws.com/kinesis-video-producer-sdk-cpp-windows AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY RTSP_URL STREAM_NAME
```

#### Execute a imagem do Docker no Raspberry Pi
<a name="examples-gstreamer-plugin-docker-run-rpi"></a>

```
sudo docker run -it --device=/dev/video0 --device=/dev/vchiq -v /opt/vc:/opt/vc 546150905175.dkr.ecr.us-west-2.amazonaws.com/kinesis-video-producer-sdk-cpp-raspberry-pi /bin/bash
```

O Docker inicia o contêiner e apresenta um prompt de comando para usar comandos dentro do contêiner.

No contêiner, defina as variáveis de ambiente usando o seguinte comando:

```
export LD_LIBRARY_PATH=/opt/awssdk/amazon-kinesis-video-streams-producer-sdk-cpp/kinesis-video-native-build/downloads/local/lib:$LD_LIBRARY_PATH
export PATH=/opt/awssdk/amazon-kinesis-video-streams-producer-sdk-cpp/kinesis-video-native-build/downloads/local/bin:$PATH
export GST_PLUGIN_PATH=/opt/awssdk/amazon-kinesis-video-streams-producer-sdk-cpp/kinesis-video-native-build/downloads/local/lib:$GST_PLUGIN_PATH
```

Comece a transmitir `kvssink` usando o `gst-launch-1.0` para executar um pipeline apropriado para seu dispositivo e fonte de vídeo. Por exemplo, oleodutos, consulte[Exemplos de comandos de GStreamer lançamento](#examples-gstreamer-plugin-launch).

# GStreamer referência do parâmetro do elemento
<a name="examples-gstreamer-plugin-parameters"></a>

Para enviar vídeo para o SDK C\$1\$1, produtor do Amazon Kinesis Video Streams, `kvssink` você especifica *como* coletor ou destino final do pipeline. Essa referência fornece informações sobre o `kvssink` obrigatório e os parâmetros opcionais. Para obter mais informações, consulte [Exemplo: Plugin SDK do GStreamer produtor do Kinesis Video Streams - kvssink](examples-gstreamer-plugin.md).

**Tópicos**
+ [Forneça credenciais para `kvssink`](#credentials-to-kvssink)
+ [Forneça uma região para `kvssink`](#kvssink-region)
+ [`kvssink`parâmetros opcionais](#kvssink-optional-parameters)

## Forneça credenciais para `kvssink`
<a name="credentials-to-kvssink"></a>

Para permitir que o `kvssink` GStreamer elemento faça solicitações AWS, forneça AWS credenciais para que ele use ao chamar o serviço Amazon Kinesis Video Streams. A cadeia de fornecedores de credenciais procura as credenciais na seguinte ordem:

### 1. AWS IoT credenciais
<a name="collapsible-section-1"></a>

Para configurar AWS IoT as credenciais, consulte[Controlando o acesso aos recursos do Kinesis Video Streams usando AWS IoT](how-iot.md).

O valor do `iot-credentials` parâmetro deve começar com `iot-certificate,` e ser seguido por uma lista separada por vírgulas dos seguintes *key* = *value* pares.


****  

| Chave | Obrigatório | Descrição | 
| --- | --- | --- | 
| ca-path | Sim | Caminho do arquivo para o certificado CA usado para estabelecer confiança com o serviço de back-end por meio do TLS. 

**Example**  
**Exemplo**: ` /file/path/to/certificate.pem` | 
| cert-path | Sim | Caminho do arquivo para o certificado X.509.  

**Example**  
**Exemplo**: `/file/path/to/certificateID-certificate.pem.crt` | 
| endpoint | Sim | O endpoint do provedor de endpoint de AWS IoT Core credenciais para sua conta. AWS Consulte o [Guia AWS IoT do desenvolvedor](https://docs.aws.amazon.com//iot/latest/developerguide/authorizing-direct-aws.html). 

**Example**  
**Exemplo**: `credential-account-specific-prefix.credentials.iot.aws-region.amazonaws.com` | 
| key-path | Sim | Caminho do arquivo para a chave privada usada no par de public/private chaves.  

**Example**  
**Exemplo**: `/file/path/to/certificateID-private.pem.key` | 
| role-aliases | Sim | O nome do alias da função que aponta para a função do AWS IAM a ser usada ao se conectar AWS IoT Core.  

**Example**  
**Exemplo**: `KvsCameraIoTRoleAlias` | 
| iot-thing-name | Não | A `iot-thing-name` é opcional. Se não `iot-thing-name` for fornecido, o valor do `stream-name` parâmetro será usado. 

**Example**  
**Exemplo**: `kvs_example_camera` | 

**Example**  
**Exemplo:**  

```
gst-launch-1.0 -v ... ! kvssink stream-name="YourStream" aws-region="YourRegion" iot-certificate="iot-certificate,endpoint=credential-account-specific-prefix.credentials.iot.aws-region.amazonaws.com,cert-path=certificateID-certificate.pem.crt,key-path=certificateID-private.pem.key,ca-path=certificate.pem,role-aliases=YourRoleAlias,iot-thing-name=YourThingName"
```

### 2. Variáveis de ambiente
<a name="collapsible-section-2"></a>

Para ter credenciais de `kvssink` uso do ambiente, defina as seguintes variáveis de ambiente:


****  

| Nome da variável de ambiente | Obrigatório | Descrição | 
| --- | --- | --- | 
| AWS\$1ACCESS\$1KEY\$1ID | Sim | A chave de AWS acesso usada para acessar o Amazon Kinesis Video Streams. | 
| AWS\$1SECRET\$1ACCESS\$1KEY | Sim | A chave AWS secreta associada à chave de acesso. | 
| AWS\$1SESSION\$1TOKEN | Não | Especifica o valor do token de sessão necessário se você usar credenciais de segurança temporárias diretamente das AWS STS operações. | 

Configurar a variável de ambiente altera o valor usado até o final da sua sessão de shell ou até que você defina a variável como um valor diferente. Para tornar as variáveis persistentes em futuras sessões, defina-as no script de inicialização do shell.

### 3. `access-key`, `secret-key` parâmetros
<a name="collapsible-section-3"></a>

Para especificar as credenciais diretamente como um `kvssink` parâmetro, defina os seguintes parâmetros:


****  

| `kvssink`Nome do parâmetro | Obrigatório | Descrição | 
| --- | --- | --- | 
| access-key | Sim | A chave de AWS acesso usada para acessar o Amazon Kinesis Video Streams. | 
| secret-key | Sim | A chave AWS secreta associada à chave de acesso. | 
| session-token | Não | Especifica o valor do token de sessão necessário se você usar credenciais de segurança temporárias diretamente das AWS STS operações. | 

**Example**  
**Usando credenciais estáticas:**  

```
gst-launch-1.0 -v ... ! kvssink stream-name="YourStream" aws-region="YourRegion" access-key="AKIDEXAMPLE" secret-key="SKEXAMPLE"
```

**Example**  
**Usando credenciais temporárias:**  

```
gst-launch-1.0 -v ... ! kvssink stream-name="YourStream" aws-region="YourRegion" access-key="AKIDEXAMPLE" secret-key="SKEXAMPLE" session-token="STEXAMPLE"
```

### 4. Arquivo de credenciais
<a name="collapsible-section-4"></a>

**Importante**  
Se você selecionou um dos métodos anteriores, não poderá usar o `credential-path` `kvssink` parâmetro.


****  

| `kvssink`Nome do parâmetro | Obrigatório | Descrição | 
| --- | --- | --- | 
| credential-path | Sim | Caminho para o arquivo de texto contendo credenciais em um formato específico. | 

O arquivo de texto deve conter credenciais em um dos seguintes formatos:
+ CREDENCIAIS *YourAccessKey* *YourSecretKey*
+ CREDENCIAIS *YourAccessKey* *Expiration* *YourSecretKey* *SessionToken*

**Example**  
**Exemplo:** Seu `credentials.txt` arquivo está localizado em `/home/ubuntu` e contém o seguinte:   
`CREDENTIALS AKIDEXAMPLE 2023-08-10T22:43:00Z SKEXAMPLE STEXAMPLE`  
Para usá-lo em`kvssink`, digite:   

```
gst-launch-1.0 -v ... ! kvssink stream-name="YourStream" aws-region="YourRegion" credential-path="/home/ubuntu/credentials.txt" 
```
O tempo de expiração deve ser de pelo menos 5 \$1 30 \$1 3 = **38** segundos no futuro. O período de carência é definido como a `IOT_CREDENTIAL_FETCH_GRACE_PERIOD` variável em [https://github.com/awslabs/amazon-kinesis-video-streams-producer-c/blob/master/src/source/Common/IotCredentialProvider.h](https://github.com/awslabs/amazon-kinesis-video-streams-producer-c/blob/master/src/source/Common/IotCredentialProvider.h). Se as credenciais estiverem muito próximas da expiração quando você começar`kvssink`, você receberá o código `0x52000049 - STATUS_INVALID_TOKEN_EXPIRATION` de erro.
`kvssink`não modifica o arquivo de credenciais. Se você estiver usando credenciais temporárias, o arquivo de credenciais deverá ser atualizado por uma fonte externa antes do prazo de expiração menos o período de carência. 

## Forneça uma região para `kvssink`
<a name="kvssink-region"></a>

A seguir está a ordem de pesquisa da região:

1. `AWS_DEFAULT_REGION`a variável de ambiente é revisada primeiro. Se estiver definida, essa região será usada para configurar o cliente.

1. `aws-region`o parâmetro é revisado a seguir. Se estiver definida, essa região será usada para configurar o cliente.

1. Se nenhum dos métodos anteriores foi usado, o `kvssink` padrão é. `us-west-2` 

## `kvssink`parâmetros opcionais
<a name="kvssink-optional-parameters"></a>

O elemento `kvssink` tem os seguintes parâmetros opcionais. Para mais informações sobre esses parâmetros, consulte [Estruturas de transmissão de vídeo do Kinesis](producer-reference-structures-stream.md).


****  

| Parâmetro | Description | Unidade/tipo | Padrão | 
| --- | --- | --- | --- | 
| stream-name  | O nome do stream de vídeo do Amazon Kinesis de destino.  Se nenhum nome de fluxo for especificado, o nome padrão do fluxo será usado: “DEFAULT\$1STREAM”. Se um stream com esse nome padrão ainda não existir, ele será criado.  |  |  | 
| absolute-fragment-times | Se devem ser usadas horas absolutas de fragmentos. | Booleano | true | 
| access-key | A chave de AWS acesso usada para acessar o Kinesis Video Streams.  Você deve ter AWS as credenciais definidas ou fornecer esse parâmetro. Para fornecer essas informações, digite o seguinte: <pre>export AWS_ACCESS_KEY_ID=</pre> |  |  | 
| avg-bandwidth-bps | A largura de banda média esperada para o stream.  | Bits por segundo | 4194304 | 
| aws-region | O Região da AWS para usar.  Você também pode fornecer à região a variável de `AWS_DEFAULT_REGION` ambiente. As variáveis de ambiente têm precedência se a variável de ambiente e os parâmetros kvssink estiverem definidos.   A região será usada como padrão, `us-west-2` se não for especificada de outra forma.   | String | "us-west-2" | 
| buffer-duration | A duração do buffer de streaming.  | Segundos | 120 | 
| codec-id | O ID do codec do streaming. | String | "V\$1MPEG4/ISO/AVC" | 
| connection-staleness | O tempo após o qual o retorno de chamada de inatividade do stream é chamado. | Segundos | 60 | 
| content-type | O tipo do conteúdo do streaming. | String | "video/h264" | 
| fragment-acks | Se deve usar o fragmento. ACKs | Booleano | true | 
| fragment-duration | A duração do fragmento desejada. | Milissegundos | 2000 | 
| framerate | A taxa de quadros esperada. | Quadros por segundo | 25 | 
| frame-timecodes | Determina se usará códigos de hora de quadros ou gerará carimbos de hora usando o retorno de hora atual.  | Booleano | true | 
| key-frame-fragmentation | Se fragmentos devem ser produzidos em um quadro chave. | Booleano | true | 
| log-config | O caminho da configuração do log. | String | "../kvs\$1log\$1configuration" | 
| max-latency | A latência máxima do streaming. | Segundos | 60 | 
| recalculate-metrics | Se as métricas devem ser recalculadas. | Booleano | true | 
| replay-duration | A duração para reverter o leitor atual para reprodução durante um erro se a reinicialização estiver habilitada. | Segundos | 40 | 
| restart-on-error | Se uma reinicialização deve ser executada quando ocorre um erro. | Booleano | true | 
| retention-period | A duração do streaming é preservada. | Horas | 2 | 
| rotation-period | O período de rotação de chaves. Para obter mais informações, consulte [AWS KMS Chaves rotativas](https://docs.aws.amazon.com/kms/latest/developerguide/rotate-keys.html). | Segundos | 3600 | 
| secret-key |  A chave AWS secreta usada para acessar o Kinesis Video Streams. Você deve ter AWS as credenciais definidas ou fornecer esse parâmetro. <pre>export AWS_SECRET_ACCESS_KEY=</pre>  |  |  | 
| session-token | Especifica o valor do token de sessão necessário se você usar credenciais de segurança temporárias diretamente das AWS STS operações. |  |  | 
| storage-size | O tamanho do armazenamento do dispositivo em mebibyte (MiB). Para obter informações sobre como configurar o armazenamento de dispositivos, consulte [StorageInfo](producer-reference-structures-producer.md#producer-reference-structures-producer-storageinfo). | Mebibyte (MiB) | 128 | 
| streaming-type | O tipo do streaming. Os valores válidos são: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/kinesisvideostreams/latest/dg/examples-gstreamer-plugin-parameters.html) | Enum GstKvsSinkStreamingType | 0: tempo real | 
| timecode-scale | A escala do timecode do MKV. | Milissegundos | 1 | 
| track-name | O nome da trilha do MKV. | String | "kinesis\$1video" | 
| iot-certificate | AWS IoT credenciais a serem usadas no `kvssink` elemento.  `iot-certificate`aceita as seguintes chaves e valores:   O `iot-thing-name` é **opcional**. Se não `iot-thing-name` for fornecido, o valor do `stream-name` parâmetro será usado.  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/kinesisvideostreams/latest/dg/examples-gstreamer-plugin-parameters.html) | String | Nenhum | 