Selecione suas preferências de cookies

Usamos cookies essenciais e ferramentas semelhantes que são necessárias para fornecer nosso site e serviços. Usamos cookies de desempenho para coletar estatísticas anônimas, para que possamos entender como os clientes usam nosso site e fazer as devidas melhorias. Cookies essenciais não podem ser desativados, mas você pode clicar em “Personalizar” ou “Recusar” para recusar cookies de desempenho.

Se você concordar, a AWS e terceiros aprovados também usarão cookies para fornecer recursos úteis do site, lembrar suas preferências e exibir conteúdo relevante, incluindo publicidade relevante. Para aceitar ou recusar todos os cookies não essenciais, clique em “Aceitar” ou “Recusar”. Para fazer escolhas mais detalhadas, clique em “Personalizar”.

Extraia imagens de streams de vídeo

Modo de foco
Extraia imagens de streams de vídeo - 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á.

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

Você pode usar o Amazon Kinesis APIs Video SDKs Streams para ajudá-lo a extrair imagens dos seus streams de vídeo. Você pode usar essas imagens para aplicativos de reprodução aprimorados, como miniaturas ou depuração aprimorada, ou para uso em pipelines de aprendizado de máquina. O Kinesis Video Streams oferece extração de imagens sob demanda API por meio de uma extração automática de imagens a partir de tags de metadados em um vídeo ingerido.

Para obter informações sobre como usar o suporte gerenciado do Kinesis Video Streams para imagens, consulte:

Geração automatizada de imagens (entrega do Amazon S3)

Atualmente, os clientes executam e gerenciam seu próprio pipeline de transcodificação de imagens para criar imagens para várias finalidades, como depuração, visualização de imagens, execução de modelos de ML em imagens e muito mais. O Kinesis Video Streams oferece a capacidade de transcodificar e entregar as imagens. O Kinesis Video Streams extrairá automaticamente imagens dos dados de vídeo em tempo real com base em uma tag e entregará as imagens a um bucket S3 especificado pelo cliente.

UpdateImageGenerationConfiguration

Para configurar um stream de vídeo do Kinesis para permitir a geração de imagens para o Amazon S3:
  1. Crie um bucket S3 para geração de imagens com base nas tags adicionadas SDK usando o novoAPI. Observe o S3 URI, que é necessário na próxima etapa, ao atualizar as configurações de geração de imagem para os fluxos.

  2. Crie um JSON arquivo chamado update-image-generation-input.json com o conteúdo a seguir como entrada.

{ "StreamName": "TestStream", "ImageGenerationConfiguration": { "Status": "ENABLED", "DestinationConfig": { "DestinationRegion": "us-east-1", "Uri": "s3://bucket-name" }, "SamplingInterval": 200, "ImageSelectorType": "PRODUCER_TIMESTAMP", "Format": "JPEG", "FormatConfig": { "JPEGQuality": "80" }, "WidthPixels": 320, "HeightPixels": 240 } }

Você pode usar o AWS CLI para invocar a UpdateImageGenerationConfigurationAPIoperação para adicionar o Amazon ARN S3 criado anteriormente e alterar o status para. ENABLED

aws kinesisvideo update-image-generation-configuration \ --cli-input-json file://./update-image-generation-input.json \

Solicitação:

UpdateImageGenerationConfiguration HTTP/1.1 Method: 'POST' Path: '/updateImageGenerationConfiguration' Body: { StreamName: 'String', // Optional. Either stream name or arn should be passed StreamArn: 'String', // Optional. Either stream name or arn should be passed ImageGenerationConfiguration : { // required Status: 'Enum', // ENABLED | DISABLED, ImageSelectorType: 'Enum', // SERVER_TIMESTAMP | PRODUCER_TIMESTAMP.. DestinationConfig: { DestinationRegion: 'String', Uri: string, }, SamplingInterval: 'Number'// Format: 'Enum', // JPEG | PNG // Optional parameters FormatConfig: { 'String': 'String', }, WidthPixels: 'Number', // 1 - 3840 (4k). HeightPixels: 'Number' // 1 - 2160 (4k). } }

Resposta:

HTTP/1.1 200 Content-type: application/json Body: { }
nota

É necessário pelo menos 1 minuto para iniciar o fluxo de trabalho de geração de imagem depois de atualizar a configuração de geração de imagem. Aguarde pelo menos 1 minuto antes de invocar PutMedia após a chamada de atualização.

DescribeImageGenerationConfiguration

Para visualizar as configurações de geração de imagens que já estão definidas para um stream, os clientes podem fazer uma DescribeImageGenerationConfiguration solicitação da seguinte maneira.

Solicitação:

DescribeImageGenerationConfiguration HTTP/1.1 Method: 'POST' Path: '/describeImageGenerationConfiguration' Body: { StreamName: 'String', // Optional. Either stream name or arn should be passed StreamArn: 'String', // Optional. Either stream name or arn should be passed }

Resposta:

HTTP/1.1 200 Content-type: application/json Body: { ImageGenerationConfiguration : { Status: 'Enum', ImageSelectorType: 'Enum', // SERVER_TIMESTAMP | PRODUCER_TIMESTAMP DestinationConfig: { DestinationRegion: 'String' Uri: 'string', }, SamplingInterval: 'Number', Format: 'Enum', FormatConfig: { 'String': 'String', }, WidthPixels: 'Number', HeightPixels: 'Number' } }

Para saber mais sobre o DescribeImageGenerationConfiguration recurso, consulte DescribeImageGenerationConfiguration o Guia do desenvolvedor do Amazon Kinesis Video Streams.

MKVEtiquetas do produtor

Você pode usar o produtor do Kinesis Video SDK Streams para marcar fragmentos específicos de interesse API expondo uma operação no. SDK Para ver um exemplo de tag, consulte esse código. Ao chamar issoAPI, eles SDK adicionarão um conjunto de MKV tags predefinidas junto com os dados do fragmento. O Kinesis Video Streams reconhecerá MKV essas tags especiais e iniciará o fluxo de trabalho de geração de imagens com base na configuração de processamento de imagem desse stream.

Todos os metadados de fragmentos fornecidos junto com as tags de geração de imagem do Amazon S3 serão salvos como metadados do Amazon S3.

Sintaxe para etiquetas de produtores MKV

|+ Tags | + Tag | // MANDATORY: Predefined MKV tag to trigger image generation for the fragment | + Simple | + Name: AWS_KINESISVIDEO_IMAGE_GENERATION | // OPTIONAL: S3 prefix which will be set as prefix for generated image. | + Simple | + Name: AWS_KINESISVIDEO_IMAGE_PREFIX | + String: image_prefix_in_s3 // 256 bytes max m | // OPTIONAL: Key value pairs that will be persisted as S3 Image object metadata. | + Simple | + Name: CUSTOM_KEY_1 // Max 128 bytes | + String:CUSTOM_VALUE_1 // Max 256 bytes | + Simple | + Name: CUSTOM_KEY_2 // Max 128 bytes | + String: CUSTOM_VALUE_2 // Max 256 bytes

Adicione tags de metadados no produtor usando SDK PutEventMetaData

A PutEventMetaData função anexa um MKV arquivo associado a um evento. PutEventMetaDatausa dois parâmetros. O primeiro parâmetro é um evento cujo valor vem do STREAM_EVENT_TYPE enum. O segundo parâmetro, pStreamEventMetadata, é opcional e pode ser usado para incluir metadados adicionais como pares de valores-chave. Há um limite de cinco pares de metadados de valores-chave que podem ser adicionados.

Limites

A tabela a seguir lista as limitações associadas às tags de metadados. Se o limite da tag de metadados for ajustável, você poderá solicitar um aumento por meio do seu gerente de conta.

Limite Valor máximo Ajustável

Comprimento do prefixo da imagem

256

não

Tamanho opcional da chave de metadados

128

não

Tamanho opcional do valor dos metadados

256

não

Número máximo de metadados opcionais

10

yes

Metadados do objeto S3

Por padrão, o Kinesis Video Streams definirá o número do fragmento, o produtor e a data e hora do servidor da imagem gerada como metadados do objeto Amazon S3. Se algum dado de fragmento adicional for especificado nas MKV tags, essas tags também serão adicionadas aos metadados do objeto Amazon S3. O exemplo a seguir mostra a sintaxe correta para os metadados do objeto Amazon S3.

{ // KVS S3 object metadata x-amz-meta-aws_kinesisvideo_fragment_number : 'string', x-amz-meta-aws_kinesisvideo_producer_timestamp: 'number', x-amz-meta-aws_kinesisvideo_server_timestamp: 'number', // Optional key value pair sent as part of the MKV tags custom_key_1: custom_value_1, custom_key_2: custom_value_2, }

Caminho do objeto Amazon S3 (imagem)

A lista a seguir mostra o formato correto do caminho do objeto e descreve cada elemento dentro do caminho.

Formato:

ImagePrefix_AccountID_StreamName_ImageTimecode_RandomID.file-extension

1. ImagePrefix - Valor deAWS_KINESISVIDEO_IMAGE_PREFIX.

2.AccountID - ID da conta sob a qual o stream é criado.

3. StreamName - Nome do fluxo para o qual a imagem é gerada.

4. ImageTimecode - Timecode de época no fragmento no qual a imagem é gerada.

5. RandomID - AleatórioGUID.

6. file-extension- JPG ou PNG com base no formato de imagem solicitado.

URIRecomendações do Amazon S3 para proteção contra limitação

Se você gravar milhares de imagens no Amazon S3, há o risco de limitação. Para obter mais informações, consulte S3 Prefix Put Request Limits.

Um prefixo do Amazon S3 começa com um PUT limite de 3.500 PUT solicitações por segundo e aumentará gradualmente com o tempo para prefixos exclusivos. Evite usar datas e horários como prefixos do Amazon S3. Os dados codificados por tempo afetarão um prefixo por vez e também mudarão regularmente, invalidando os aumentos de prefixo anteriores. Para permitir uma escalabilidade mais rápida e consistente do Amazon S3, recomendamos adicionar um prefixo aleatório, como um código hexadecimal ou ao destino do UUID Amazon S3. URI Por exemplo, prefixos de código hexadecimal naturalmente dividirão suas solicitações aleatoriamente entre 16 prefixos diferentes (um prefixo para cada caractere hexadecimal exclusivo), o que permitirá 56.000 solicitações por PUT segundo após a escalabilidade automática do Amazon S3.

PrivacidadeTermos do sitePreferências de cookies
© 2025, Amazon Web Services, Inc. ou suas afiliadas. Todos os direitos reservados.