GetMedia - Amazon Kinesis Video Streams

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

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.

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. A GetMedia API retorna um fluxo desses fragmentos a partir do fragmento que você especifica na solicitação.

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

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-ErrorTypeCabeçalho HTTP — contém um tipo de erro mais específico, além do que o código de status HTTP fornece.

  • x-amz-RequestIdCabeç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.

Sintaxe da Solicitação

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 solicitação não usa nenhum parâmetro de URI.

Corpo da Solicitação

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

StartSelector

Identifica a parte inicial a ser obtida do fluxo especificado.

Tipo: objeto StartSelector

Obrigatório: Sim

StreamARN

O ARN do stream de onde você deseja obter o conteúdo de mídia. Se você não especificar ostreamARN, deverá especificar streamName o.

Tipo: string

Restrições de tamanho: tamanho mínimo 1. Tamanho máximo de 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

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 ostreamName, deverá especificar streamARN o.

Tipo: string

Restrições de tamanho: tamanho mínimo 1. Comprimento máximo de 256.

Padrão: [a-zA-Z0-9_.-]+

Obrigatório: Não

Sintaxe da Resposta

HTTP/1.1 200 Content-Type: ContentType Payload

Elementos de Resposta

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

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

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

  • AWS_KINESISVIDEO_SERVER_TIMESTAMP - Timestamp do servidor do fragmento.

  • AWS_KINESISVIDEO_PRODUCER_TIMESTAMP - Carimbo de data/hora do produtor do fragmento.

As seguintes tags estarão presentes se ocorrer um erro:

  • AWS_KINESISVIDEO_ERROR_CODE - Descrição da string de um erro que causou a interrupção. GetMedia

  • 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

Para obter informações sobre os erros comuns a todas as ações, consulte Erros comuns.

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

Para obter mais informações sobre como usar essa API em um dos AWS SDKs específicos da linguagem, consulte o seguinte: