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 GetMedia
API, 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 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 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-ErrorType
HTTPcabeçalho — contém um tipo de erro mais específico, além do que o código de HTTP status fornece. -
x-amz-RequestId
HTTPcabeç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 o
streamARN
, deverá especificarstreamName
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 o
streamName
, deverá especificarstreamARN
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
comAPIName
set toPUT_MEDIA
e usar o endpoint from response para invocar a próximaPutMedia
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: