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
Imagens não entregues no bucket do Amazon S3
Para solucionar esse problema, há algumas coisas a serem observadas:
-
Permissões ausentes
-
A configuração de geração de imagem está incorreta
-
A tag não foi adicionada ao fragmento
Permissões ausentes
Se você estiver usando uma chave KMS gerenciada pelo cliente, certifique-se de que a função que executa as PutMedia chamadas (uploader) tenha as permissões apropriadas de criptografia e descriptografia e tenha acesso ao bucket do Amazon S3, da seguinte forma:
-
kms:Encrypt -
kms:GenerateDataKey -
kms:Decrypt -
s3:PutObject
Para obter mais informações, consulte Como começo a usar a criptografia no lado do servidor?.
Verifique o destino
Use o AWS CLI para chamar a DescribeImageGenerationConfiguration API do seu stream.
aws kinesisvideo describe-image-generation-configuration \ --stream-name "demo-stream"
Analise DestinationConfig a resposta e confirme se ela parece correta.
Verifique se a tag de geração de imagem foi adicionada ao fragmento
-
Verifique se a
putKinesisVideoEventMetadatachamada foi bem-sucedida.O
putKinesisVideoEventMetadatamétodo retorna um código de status 0 em caso de sucesso. Recomendamos verificar os valores de retorno das funções para 0. Se um código de status diferente de zero for retornado, converta-o em hexadecimal e verifique o Referência de código de erro para obter mais informações.Verifique se você tem os registros de erros ativados e analise-os para ver se há outros erros no aplicativo. Analise e compare o padrão de chamada de envio de quadros do seu aplicativo com a implementação recomendada:Adicionar tags de geração de imagens a fragmentos.
-
Verifique o arquivo MKV gerado localmente
Confirme se o Producer SDK ou o aplicativo de amostra anexou as tags corretamente.
-
Defina a variável de ambiente
KVS_DEBUG_DUMP_DATA_FILE_DIR. Se esse valor for definido, o Producer SDK grava os arquivos de mídia que ele teria enviado para o Kinesis Video Streams no local especificado.export KVS_DEBUG_DUMP_DATA_FILE_DIR=/path/to/output/directorynota
O SDK não criará um novo diretório se o caminho não existir. Crie a pasta, se necessário.
-
Execute o aplicativo novamente. Você deve ver
.mkvos arquivos sendo gravados no diretório de saída especificado. -
Verifique o conteúdo para garantir que a tag esteja presente usando o MKVTool Nix ou outro software.
-
Instale o MKVTool Nix:
brew install mkvtoolnix -
Execute o MKVTool Nix com um dos
.mkvarquivos no diretório de saída.mkvinfo -v ./path/to/video/file -
Revise a saída do MKVTool Nix. Se o método SDK do
KinesisVideoStream::PutFragmentMetadataprodutor foi invocado corretamente, você deverá ver a seguinte tag MKV.|+ Tags | + Tag | + Simple | + Name: AWS_KINESISVIDEO_IMAGE_GENERATIONnota
As tags pertencem ao cluster anterior.
-
-
Se a tag MKV não estiver presente, certifique-se de que o método SDK do
KinesisVideoStream::PutEventMetadataprodutor tenha sido chamado com oSTREAM_EVENT_TYPE_IMAGE_GENERATIONargumento e que tenha retornado um código de sucesso (0).
-