Solução de problemas de streaming de vídeo - Amazon Rekognition

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

Solução de problemas de streaming de vídeo

Este tópico fornece informações sobre solução de problemas para usar o Amazon Rekognition Video com streaming de vídeos.

Não sei se meu processador de fluxo foi criado com êxito

Use o AWS CLI comando a seguir para obter uma lista dos processadores de stream e seu status atual.

aws rekognition list-stream-processors

Você pode obter detalhes adicionais usando o AWS CLI comando a seguir. Substitua stream-processor-name pelo nome do processador de fluxos necessário.

aws rekognition describe-stream-processor --name stream-processor-name

Eu não sei se configurei corretamente o meu processador de fluxos

Se seu código não estiver gerando os resultados da análise do Amazon Rekognition Video, seu processador de stream pode não estar configurado corretamente. Faça o seguinte para confirmar se o processador de fluxos está configurado corretamente e pode produzir resultados.

Para determinar se sua solução está configurada corretamente
  1. Execute o comando a seguir para confirmar se o processador de fluxos está no estado de execução. Altere stream-processor-name para o nome do processador de fluxos. O processador de fluxos estará em execução se o valor de Status for RUNNING. Se o status for RUNNING e você não estiver obtendo resultados, consulte Meu processador de fluxos não está retornando resultados. Se o status for FAILED, consulte O estado do meu processador de fluxos é FAILED.

    aws rekognition describe-stream-processor --name stream-processor-name
  2. Se seu processador de stream estiver em execução, execute o seguinte PowerShell comando ou Bash para ler dados do stream de dados de saída do Kinesis.

    Bash

    SHARD_ITERATOR=$(aws kinesis get-shard-iterator --shard-id shardId-000000000000 --shard-iterator-type TRIM_HORIZON --stream-name kinesis-data-stream-name --query 'ShardIterator') aws kinesis get-records --shard-iterator $SHARD_ITERATOR

    PowerShell

    aws kinesis get-records --shard-iterator ((aws kinesis get-shard-iterator --shard-id shardId-000000000000 --shard-iterator-type TRIM_HORIZON --stream-name kinesis-data-stream-name).split('"')[4])
  3. Use a ferramenta Decode no site Base64 Decode para decodificar a saída em uma string legível. Para obter mais informações, consulte Etapa 3: Obter o registro.

  4. Se os comandos funcionarem e você vir os resultados da detecção de face no fluxo de dados do Kinesis, sua solução estará configurada corretamente. Se ocorrer uma falha no comando, verifique as outras sugestões de solução de problemas e consulte Conceder ao Amazon Rekognition Video acesso aos seus recursos.

Como alternativa, você pode usar o AWS Lambda blueprint kinesis-process-record "" para registrar mensagens do stream de dados do Kinesis CloudWatch para visualização contínua. Isso acarreta custos adicionais para AWS Lambda e. CloudWatch

Meu processador de fluxos não está retornando resultados

O processador de fluxos pode não retornar resultados por vários motivos.

Motivo 1: seu processador de fluxo não está configurado corretamente

Seu processador de fluxos pode não estar configurado corretamente. Para ter mais informações, consulte Eu não sei se configurei corretamente o meu processador de fluxos.

Motivo 2: Seu processador de fluxos não está no estado RUNNING

Para solucionar o status de um processador de fluxos
  1. Verifique o status do processador de stream com o AWS CLI comando a seguir.

    aws rekognition describe-stream-processor --name stream-processor-name
  2. Se o valor de Status for STOPPED, inicie o processador de fluxos com o seguinte comando:

    aws rekognition start-stream-processor --name stream-processor-name
  3. Se o valor de Status for FAILED, consulte O estado do meu processador de fluxos é FAILED.

  4. Se o valor de Status for STARTING, aguarde 2 minutos e verifique o status repetindo a etapa 1. Se o valor de Status ainda for STARTING, faça o seguinte:

    1. Exclua o processador de fluxos com o seguinte comando.

      aws rekognition delete-stream-processor --name stream-processor-name
    2. Crie um novo processador de fluxos com a mesma configuração. Para ter mais informações, consulte Trabalhando com eventos de streaming de vídeo.

    3. Se você ainda estiver tendo problemas, entre em contato com o AWS Support.

  5. Se o valor de Status for RUNNING, consulte Motivo 3: Não há dados ativos no stream de vídeo do Kinesis.

Motivo 3: Não há dados ativos no stream de vídeo do Kinesis

Para verificar se há dados ativos no stream de vídeo do Kinesis
  1. Faça login no e abra o AWS Management Console console do Amazon Kinesis Video Streams em https://console.aws.amazon.com/kinesisvideo/.

  2. Selecione o stream de vídeo Kinesis que é a entrada para o processador de stream Amazon Rekognition.

  3. Se a pré-visualização indicar Sem dados no stream, então não há dados no stream de entrada para o Amazon Rekognition Video processar.

Para obter informações sobre a produção de vídeo com o Kinesis Video Streams, consulte Bibliotecas do Kinesis Video StreamsProducer.

O estado do meu processador de fluxos é FAILED

Você pode verificar o estado de um processador de stream usando o AWS CLI comando a seguir.

aws rekognition describe-stream-processor --name stream-processor-name

Se o valor de Status for FAILED, verifique as informações de solução de problemas para as seguintes mensagens de erro.

Erro: "Acesso negado à função"

O perfil do IAM usado pelo processador de stream não existe ou o Amazon Rekognition Video não tem permissão para assumir a função.

Para solucionar problemas de acesso ao perfil do IAM
  1. Faça login AWS Management Console e abra o console do IAM em https://console.aws.amazon.com/iam/.

  2. No painel de navegação à esquerda, selecione Roles (Funções) e confirme se a função existe.

  3. Se a função existir, verifique se a função tem a política de AmazonRekognitionServiceRolepermissões.

  4. Se a função não existir ou não tiver as permissões corretas, consulte Conceder ao Amazon Rekognition Video acesso aos seus recursos.

  5. Inicie o processador de stream com o AWS CLI comando a seguir.

    aws rekognition start-stream-processor --name stream-processor-name

Erro: "Access denied to Kinesis Video (Acesso negado ao vídeo do Kinesis) ou Access denied to Kinesis Data (Acesso negado aos dados do Kinesis)"

A função não tem acesso às operações GetMedia e GetDataEndpoint da API do Kinesis Video Streams. Também pode não ter acesso às operações PutRecord e PutRecords da API Kinesis Data Streams

Para solucionar problemas de permissões da API
  1. Faça login AWS Management Console e abra o console do IAM em https://console.aws.amazon.com/iam/.

  2. Abra a função e verifique se ela tem a seguinte política de permissões associada.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kinesis:PutRecord", "kinesis:PutRecords" ], "Resource": "data-arn" }, { "Effect": "Allow", "Action": [ "kinesisvideo:GetDataEndpoint", "kinesisvideo:GetMedia" ], "Resource": "video-arn" } ] }
  3. Se qualquer uma das permissões estiver ausente, atualize a política. Para ter mais informações, consulte Conceder ao Amazon Rekognition Video acesso aos seus recursos.

Erro: “input-video-stream-nameO stream não existe”

A entrada de stream de vídeo do Kinesis para o processador de stream não existe ou não está configurada corretamente.

Para solucionar problemas do stream de vídeo do Kinesis
  1. Use o seguinte comando para confirmar se o stream existe.

    aws kinesisvideo list-streams
  2. Se o stream existir, verifique o seguinte.

    • O nome de recurso da Amazon (ARN) é igual ao ARN do stream de entrada para o processador de fluxos.

    • O stream de vídeo do Kinesis está na mesma região do processador de stream.

    Se o processador de stream não estiver configurado corretamente, exclua-o com o AWS CLI comando a seguir.

    aws rekognition delete-stream-processor --name stream-processor-name
  3. Crie um novo processador de fluxos com o stream de vídeo desejado do Kinesis. Para ter mais informações, consulte Criação do processador de stream de pesquisa facial Amazon Rekognition Video.

Erro: "Coleção não encontrada"

A coleção Amazon Rekognition usada pelo processador de stream para combinar faces não existe ou a coleção errada está sendo usada.

Para confirmar a coleção
  1. Use o AWS CLI comando a seguir para determinar se a coleção necessária existe. regionMude para a AWS região na qual você está executando seu processador de stream.

    aws rekognition list-collections --region region

    Se a coleção necessária não existir, crie uma nova coleção e adicione informações de faces. Para ter mais informações, consulte Pesquisa de faces em uma coleção.

  2. Em sua chamada para CreateStreamProcessor, verifique se o valor do parâmetro CollectionId de entrada está correto.

  3. Inicie o processador de stream com o AWS CLI comando a seguir.

    aws rekognition start-stream-processor --name stream-processor-name

Erro: “output-kinesis-data-streamNome do stream em ID da conta não encontrado

O stream de dados de saída do Kinesis usado pelo processador de stream não existe na sua região Conta da AWS ou não está na mesma AWS região do seu processador de stream.

Para solucionar problemas no fluxo de dados do Kinesis
  1. Use o AWS CLI comando a seguir para determinar se o stream de dados do Kinesis existe. regionMude para a AWS região na qual você está usando seu processador de stream.

    aws kinesis list-streams --region region
  2. Se o fluxo de dados do Kinesis existir, verifique se o nome do stream é igual ao nome do stream de saída usado pelo processador de fluxos.

  3. Se o stream de dados do Kinesis não existir, ele poderá existir em outra AWS região. O fluxo de dados do Kinesis deve estar na mesma região que o processador de fluxos.

  4. Se necessário, crie um novo fluxo de dados do Kinesis.

    1. Crie um fluxo de dados do Kinesis com o mesmo nome que o usado pelo processador de fluxos. Para obter mais informações, consulte Etapa 1: Criar um fluxo de dados.

    2. Inicie o processador de stream com o AWS CLI comando a seguir.

      aws rekognition start-stream-processor --name stream-processor-name

Meu processador de fluxos não está retornando os resultados esperados

Se o processador de fluxos não estiver retornando as correspondências de face esperadas, use as informações a seguir.