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

O foi GetMedia API projetado para operar como um streaming em API uma conexão de longa duração. Não se destina ao uso tradicional, RESTful onde uma nova HTTP conexão é estabelecida e fechada para cada fragmento. Ao usar o GetMediaAPI, use a codificação HTTP de transferência em partes para enviar fragmentos continuamente por uma conexão persistente.

Os seguintes limites se aplicam ao usar o GetMediaAPI:

  • 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 GetMedia HTTP resposta será retornado imediatamente, mas a leitura da carga útil da HTTP resposta 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 invocar uma API mídia do Kinesis Video Streams, além do código de status e HTTP do corpo da resposta, ele incluirá as seguintes informações:

  • x-amz-ErrorTypeHTTPcabeçalho — contém um tipo de erro mais específico, além do que o código de HTTP status fornece.

  • x-amz-RequestIdHTTPcabeçalho — 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 HTTP status 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" }

URIParâmetros de solicitação

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

Corpo da Solicitação

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

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. Tamanho 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 de 200.

A resposta retorna os seguintes HTTP cabeçalhos.

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 o seguinte como HTTP corpo.

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 GetMedia as seguintes tags Matroska () adicionais: MKV

  • AWS_KINESISVIDEO_CONTINUATION_TOKEN (UTF-8 string) - 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 (UTF-8 string) - 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 do KMS stream

  • 4501 - A KMS chave do stream está desativada

  • 4502 - Erro de validação na chave do stream KMS

  • 4503 - a KMS chave especificada no fluxo não está disponível

  • 4504 - Uso inválido da KMS chave especificada no fluxo

  • 4505 - Estado inválido da KMS chave especificada no fluxo

  • 4506 - Não foi possível encontrar a KMS chave especificada no fluxo

  • 5000 - Erro interno

Erros

Para obter informações sobre os erros comuns retornados pelas 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.

HTTPCódigo de status: 400

ConnectionLimitExceededException

O Kinesis Video Streams limitou a solicitação porque você excedeu o limite permitido de conexões de clientes.

HTTPCódigo de status: 400

InvalidArgumentException

O valor desse parâmetro de entrada é inválido.

HTTPCódigo de status: 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.

HTTPCódigo de status: 400

NotAuthorizedException

O chamador não está autorizado a realizar uma operação em determinado stream ou o token expirou.

HTTPCódigo de status: 401

ResourceNotFoundException

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

HTTPCódigo de status: 404

Consulte também

Para obter mais informações sobre como usar isso API em um idioma específico AWS SDKs, consulte o seguinte: