

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
<a name="s3-image-troubleshooting"></a>

## Images non livrées dans le compartiment Amazon S3
<a name="s3-images-not-delivered"></a>

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

1. Missing permissions (Autorisations manquantes)

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

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

### Missing permissions (Autorisations manquantes)
<a name="s3-missing-permissions"></a>

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 ?](how-kms.md#getting-started-with-sse-akvs).

### Vérifiez la destination
<a name="s3-verify-destination"></a>

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
<a name="s3-verify-tag-added"></a>

1. Vérifiez que l'`putKinesisVideoEventMetadata`appel a réussi.

   La `putKinesisVideoEventMetadata` méthode renvoie un code d'état 0 en cas de succès. Nous vous 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](producer-sdk-errors.md) 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](s3-real-time-image-create.md#s3-adding-image-tags).

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

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

   1. Vérifiez le contenu pour vous assurer que la balise est présente à l'aide MKVToolNix d'un autre logiciel.

      1. Installation MKVToolNix : `brew install mkvtoolnix`

      1. Exécutez MKVToolNix avec l'un des `.mkv` fichiers du répertoire de sortie.

         ```
         mkvinfo -v ./path/to/video/file
         ```

      1. Passez en revue le MKVToolNix résultat. 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.

   1. 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_GENERATION`argument et qu'elle a renvoyé un code de réussite (0).