

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

# GetMedia
<a name="API_dataplane_GetMedia"></a>

 Use essa 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 Amazon Resource Name (ARN) do stream e a parte inicial. Em seguida, o Kinesis Video Streams retorna um stream de partes em ordem por número de fragmentos.

**nota**  
Você deve primeiro chamar a `GetDataEndpoint` API para obter um endpoint. Em seguida, envie as `GetMedia` solicitações para esse endpoint usando o parâmetro [--endpoint-url](https://docs.aws.amazon.com/cli/latest/reference/). 

Quando você coloca dados de mídia (fragmentos) em um stream, o Kinesis Video Streams armazena cada fragmento de entrada e metadados relacionados no que é chamado de “fragmento”. Para obter mais informações, consulte [PutMedia](https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/API_dataplane_PutMedia.html). A `GetMedia` API retorna um fluxo desses fragmentos a partir do fragmento que você especifica na solicitação. 

A `GetMedia` API foi projetada para operar como uma API de streaming em uma conexão de longa duração. Não se destina ao uso tradicional RESTful , em que uma nova conexão HTTP é estabelecida e fechada para cada fragmento. Quando você invoca a `GetMedia` API, o Kinesis Video Streams entrega fragmentos continuamente por meio de uma conexão persistente de longa duração usando a codificação de transferência fragmentada HTTP.

Os seguintes limites se aplicam ao usar a `GetMedia` API:
+ Um cliente pode ligar `GetMedia` até cinco vezes por segundo por stream. 
+ O Kinesis Video Streams envia dados de mídia a uma taxa de até 25 megabytes por segundo (ou 200 megabits por segundo) durante uma sessão. `GetMedia` 
**nota**  
Use `GetMedia` como uma conexão de streaming de longa duração para recuperar vários fragmentos em uma única conexão persistente. Não use a `GetMedia` API da RESTful maneira tradicional em que você estabelece e fecha uma nova conexão HTTP para cada fragmento. Se você tentar mais de três `GetMedia` conexões simultâneas, o Kinesis Video Streams limitará as conexões mais recentes com um erro. `ConnectionLimitExceededException`

**nota**  
O código de status da resposta `GetMedia` HTTP será retornado imediatamente, mas a leitura da carga útil da resposta HTTP atingirá o tempo limite após 3 segundos se não houver fragmentos ingeridos disponíveis para reprodução.

**nota**  
Se um erro for gerado após a invocação de uma API de mídia do Kinesis Video Streams, além do código de status HTTP e do corpo da resposta, ele incluirá as seguintes informações:   
 `x-amz-ErrorType`Cabeçalho HTTP — contém um tipo de erro mais específico, além do que o código de status HTTP fornece. 
 `x-amz-RequestId`Cabeçalho HTTP — se você quiser relatar um problema AWS, a equipe de suporte poderá diagnosticar melhor o problema se receber o ID da solicitação.
Tanto o código de status HTTP quanto o ErrorType cabeçalho podem ser utilizados para tomar decisões programáticas sobre se os erros podem ser repetidos e sob quais condições, além de fornecer informações sobre quais ações o programador cliente pode precisar realizar para tentar novamente com sucesso.  
Para obter mais informações, consulte a seção **Erros** na parte inferior deste tópico, bem como [Erros comuns](https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/CommonErrors.html). 

## Sintaxe da Solicitação
<a name="API_dataplane_GetMedia_RequestSyntax"></a>

```
POST /getMedia HTTP/1.1
Content-type: application/json

{
   "StartSelector": { 
      "AfterFragmentNumber": "{{string}}",
      "ContinuationToken": "{{string}}",
      "StartSelectorType": "{{string}}",
      "StartTimestamp": {{number}}
   },
   "StreamARN": "{{string}}",
   "StreamName": "{{string}}"
}
```

## Parâmetros da solicitação de URI
<a name="API_dataplane_GetMedia_RequestParameters"></a>

A solicitação não usa nenhum parâmetro de URI.

## Corpo da Solicitação
<a name="API_dataplane_GetMedia_RequestBody"></a>

A solicitação aceita os dados a seguir no formato JSON.

 ** [StartSelector](#API_dataplane_GetMedia_RequestSyntax) **   <a name="KinesisVideo-dataplane_GetMedia-request-StartSelector"></a>
Identifica a parte inicial a ser obtida do fluxo especificado.   
Tipo: objeto [StartSelector](API_dataplane_StartSelector.md)  
Obrigatório: Sim

 ** [StreamARN](#API_dataplane_GetMedia_RequestSyntax) **   <a name="KinesisVideo-dataplane_GetMedia-request-StreamARN"></a>
O ARN do stream de onde você deseja obter o conteúdo de mídia. Se você não especificar o`streamARN`, deverá especificar `streamName` o.  
Tipo: string  
Restrições de tamanho: tamanho mínimo 1. O comprimento máximo é 1.024.  
Padrão: `arn:[a-z\d-]+:kinesisvideo:[a-z0-9-]+:[0-9]+:[a-z]+/[a-zA-Z0-9_.-]+/[0-9]+`   
Obrigatório: não

 ** [StreamName](#API_dataplane_GetMedia_RequestSyntax) **   <a name="KinesisVideo-dataplane_GetMedia-request-StreamName"></a>
O nome do stream de vídeo do Kinesis de onde você deseja obter o conteúdo de mídia. Se você não especificar o`streamName`, deverá especificar `streamARN` o.  
Tipo: string  
Restrições de tamanho: tamanho mínimo 1. Tamanho máximo de 256.  
Padrão: `[a-zA-Z0-9_.-]+`   
Obrigatório: Não

## Sintaxe da resposta
<a name="API_dataplane_GetMedia_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-Type: {{ContentType}}

{{Payload}}
```

## Elementos de resposta
<a name="API_dataplane_GetMedia_ResponseElements"></a>

Se a ação for bem-sucedida, o serviço retornará uma resposta HTTP 200.

A resposta retorna os cabeçalhos HTTP a seguir.

 ** [ContentType](#API_dataplane_GetMedia_ResponseSyntax) **   <a name="KinesisVideo-dataplane_GetMedia-response-ContentType"></a>
O tipo de conteúdo da mídia solicitada.  
Restrições de Tamanho: Tamanho mínimo 1. O tamanho máximo é 128.  
Padrão: `^[a-zA-Z0-9_\.\-]+$` 

A resposta retorna as informações a seguir como corpo HTTP.

 ** [Payload](#API_dataplane_GetMedia_ResponseSyntax) **   <a name="KinesisVideo-dataplane_GetMedia-response-Payload"></a>
 A carga que o Kinesis Video Streams retorna é uma sequência de partes do stream especificado. Para obter mais informações sobre os fragmentos, consulte. [PutMedia](https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/API_dataplane_PutMedia.html) Os trechos que o Kinesis Video Streams retorna na chamada também incluem as seguintes tags adicionais de `GetMedia` Matroska (MKV):   
+ AWS\_KINESISVIDEO\_CONTINUATION\_TOKEN (string UTF-8) - Caso sua `GetMedia` chamada seja encerrada, você pode usar esse token de continuação em sua próxima solicitação para obter a próxima parte em que a última solicitação foi encerrada.
+ AWS\_KINESISVIDEO\_MILLIS\_BEHIND\_NOW (string UTF-8) - Os aplicativos clientes podem usar esse valor de tag para determinar a distância entre o fragmento retornado na resposta e o fragmento mais recente no stream. 
+ AWS\_KINESISVIDEO\_FRAGMENT\_NUMBER - Número do fragmento retornado no pedaço.
+ AWS\_KINESISVIDEO\_SERVER\_TIMESTAMP - Registro de data e hora do fragmento no servidor.
+ AWS\_KINESISVIDEO\_PRODUCER\_TIMESTAMP - Registro de data e hora do fragmento do produtor.
As seguintes tags estarão presentes se ocorrer um erro:  
+ AWS\_KINESISVIDEO\_ERROR\_CODE - Descrição em cadeia de caracteres de um erro que causou GetMedia a parada.
+ AWS\_KINESISVIDEO\_ERROR\_ID: código inteiro do erro.
Os códigos de erro são os seguintes:  
+ 3002 - Erro ao gravar no stream
+ 4000 - O fragmento solicitado não foi encontrado
+ 4500 - Acesso negado para a chave KMS do stream
+ 4501 - A chave KMS do stream está desativada
+ 4502 - Erro de validação na chave KMS do stream
+ 4503 - A chave KMS especificada no fluxo não está disponível
+ 4504 - Uso inválido da chave KMS especificada no fluxo
+ 4505 - Estado inválido da chave KMS especificada no fluxo
+ 4506 - Não é possível encontrar a chave KMS especificada no fluxo
+ 5000 - Erro interno

## Erros
<a name="API_dataplane_GetMedia_Errors"></a>

Para informações sobre os erros comuns retornados pelas ações, consulte [Tipos de erro comuns](CommonErrors.md).

 ** ClientLimitExceededException **   
O Kinesis Video Streams limitou a solicitação porque você excedeu o limite permitido de chamadas de clientes. Tente fazer a ligação mais tarde.  
Código de status HTTP: 400

 ** ConnectionLimitExceededException **   
O Kinesis Video Streams limitou a solicitação porque você excedeu o limite permitido de conexões de clientes.  
Código de status HTTP: 400

 ** InvalidArgumentException **   
O valor desse parâmetro de entrada é inválido.  
Código de status HTTP: 400

 ** InvalidEndpointException **   
O chamador usou o endpoint errado para gravar dados em um stream. Ao receber essa exceção, o usuário deve chamar `GetDataEndpoint` com `APIName` set to `PUT_MEDIA` e usar o endpoint from response para invocar a próxima `PutMedia` chamada.   
Código de status HTTP: 400

 ** NotAuthorizedException **   
O chamador não está autorizado a realizar uma operação em determinado stream ou o token expirou.  
Código de status HTTP: 401

 ** ResourceNotFoundException **   
Código de status: 404, O fluxo com o nome fornecido não existe.  
Código de status HTTP: 404

## Consulte Também
<a name="API_dataplane_GetMedia_SeeAlso"></a>

Para obter mais informações sobre como usar essa API em uma das linguagens específicas AWS SDKs, consulte o seguinte:
+  [AWS Interface de linha de comando V2](https://docs.aws.amazon.com/goto/cli2/kinesis-video-data-2017-09-30/GetMedia) 
+  [AWS SDK para .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/kinesis-video-data-2017-09-30/GetMedia) 
+  [AWS SDK para C\+\+](https://docs.aws.amazon.com/goto/SdkForCpp/kinesis-video-data-2017-09-30/GetMedia) 
+  [AWS SDK para Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/kinesis-video-data-2017-09-30/GetMedia) 
+  [AWS SDK para Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/kinesis-video-data-2017-09-30/GetMedia) 
+  [AWS SDK para JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/kinesis-video-data-2017-09-30/GetMedia) 
+  [AWS SDK para Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/kinesis-video-data-2017-09-30/GetMedia) 
+  [AWS SDK para PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/kinesis-video-data-2017-09-30/GetMedia) 
+  [AWS SDK para Python](https://docs.aws.amazon.com/goto/boto3/kinesis-video-data-2017-09-30/GetMedia) 
+  [AWS SDK para Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/kinesis-video-data-2017-09-30/GetMedia) 