Résolution des problèmes - Amazon Kinesis Video Streams

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Résolution des problèmes

Images non livrées dans le compartiment Amazon S3

Pour résoudre ce problème, il y a quelques points à prendre en compte :

  1. Missing permissions (Autorisations manquantes)

  2. La configuration de génération d'image est incorrecte

  3. La balise n'a pas été ajoutée au fragment

Missing permissions (Autorisations manquantes)

Si vous utilisez une clé KMS gérée par le client, assurez-vous que le rôle effectuant les PutMedia appels (téléchargeur) dispose des autorisations de chiffrement et de déchiffrement appropriées et qu'il a accès au compartiment Amazon S3, comme suit :

  • kms:Encrypt

  • kms:GenerateDataKey

  • kms:Decrypt

  • s3:PutObject

Pour de plus amples informations, veuillez consulter Comment démarrer avec le chiffrement côté serveur ?.

Vérifiez la destination

Utilisez le AWS CLI pour appeler l' DescribeImageGenerationConfiguration API de votre flux.

aws kinesisvideo describe-image-generation-configuration \ --stream-name "demo-stream"

Vérifiez le contenu DestinationConfig de la réponse et confirmez qu'il semble correct.

Vérifiez que la balise de génération d'image a été ajoutée au fragment

  1. Vérifiez que l'putKinesisVideoEventMetadataappel a réussi.

    La putKinesisVideoEventMetadata méthode renvoie un code d'état 0 en cas de succès. Nous recommandons de vérifier les valeurs renvoyées par les fonctions pour 0. Si un code d'état différent de zéro est renvoyé, convertissez-le en hexadécimal et vérifiez le Référence du code d'erreur pour plus d'informations.

    Assurez-vous que les journaux d'erreurs sont activés et examinez-les pour détecter toute autre erreur dans l'application. Passez en revue et comparez le modèle d'appel de soumission de cadres de votre application par rapport à l'implémentation recommandée :Ajouter des balises de génération d'images aux fragments.

  2. Vérifiez le fichier MKV généré localement

    Vérifiez que le SDK du producteur ou l'exemple d'application ont correctement ajouté les balises.

    1. Définissez la variable d’environnement KVS_DEBUG_DUMP_DATA_FILE_DIR. Si cette valeur est définie, le SDK Producer écrit les fichiers multimédia qu'il aurait envoyés à Kinesis Video Streams à l'emplacement spécifié.

      export KVS_DEBUG_DUMP_DATA_FILE_DIR=/path/to/output/directory
      Note

      Le SDK ne créera pas de nouveau répertoire si le chemin n'existe pas. Créez le dossier si nécessaire.

    2. Lancez à nouveau l'application. Vous devriez voir .mkv des fichiers être écrits dans le répertoire de sortie spécifié.

    3. Vérifiez le contenu pour vous assurer que le tag est présent à l'aide de MKVTool Nix ou d'un autre logiciel.

      1. Installez MKVTool Nix : brew install mkvtoolnix

      2. Exécutez MKVTool Nix avec l'un des .mkv fichiers du répertoire de sortie.

        mkvinfo -v ./path/to/video/file
      3. Vérifiez la sortie MKVTool Nix. Si la méthode du SDK du KinesisVideoStream::PutFragmentMetadata producteur a été invoquée correctement, vous devriez voir la balise MKV suivante.

        |+ Tags | + Tag | + Simple | + Name: AWS_KINESISVIDEO_IMAGE_GENERATION
        Note

        Les balises appartiennent au cluster qui le précède.

    4. Si la balise MKV n'est pas présente, assurez-vous que la méthode SDK du KinesisVideoStream::PutEventMetadata producteur a été appelée avec l'STREAM_EVENT_TYPE_IMAGE_GENERATIONargument et qu'elle a renvoyé un code de réussite (0).