

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Resolución de problemas
<a name="s3-image-troubleshooting"></a>

## Las imágenes no se enviaron al bucket de Amazon S3
<a name="s3-images-not-delivered"></a>

Para solucionar este problema, hay algunas cosas que debes tener en cuenta:

1. Faltan permisos

1. La configuración de generación de imágenes es incorrecta

1. La etiqueta no se agregó al fragmento

### Faltan permisos
<a name="s3-missing-permissions"></a>

Si utiliza una clave de KMS administrada por el cliente, asegúrese de que la función que realiza las `PutMedia` llamadas (persona que carga) tenga los permisos de cifrado y descifrado adecuados y que tenga acceso al bucket de Amazon S3, de la siguiente manera:
+ `kms:Encrypt`
+ `kms:GenerateDataKey`
+ `kms:Decrypt`
+ `s3:PutObject`

Para obtener más información, consulte [¿Cómo puedo comenzar a usar el cifrado en el servidor?](how-kms.md#getting-started-with-sse-akvs).

### Compruebe el destino
<a name="s3-verify-destination"></a>

 AWS CLI Utilízala para llamar a la DescribeImageGenerationConfiguration API de tu transmisión.

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

Revisa `DestinationConfig` la respuesta y confirma que es correcta.

### Compruebe que la etiqueta de generación de imágenes se haya añadido al fragmento
<a name="s3-verify-tag-added"></a>

1. Compruebe que la `putKinesisVideoEventMetadata` llamada se ha realizado correctamente.

   El `putKinesisVideoEventMetadata` método devuelve un código de estado 0 en caso de éxito. Se recomienda comprobar si los valores devueltos por las funciones son 0. Si se devuelve un código de estado distinto de cero, conviértalo en hexadecimal y compruebe si desea más información. [Referencia de códigos de error](producer-sdk-errors.md)

   Asegúrese de tener activados los registros de errores y revise los registros para ver si hay otros errores en la aplicación. Revise y compare el patrón de llamadas de presentación de marcos de su solicitud con la implementación recomendada:[Añadir etiquetas de generación de imágenes a los fragmentos](s3-real-time-image-create.md#s3-adding-image-tags).

1. Verifique el archivo MKV generado localmente

   Confirme que el SDK del productor o la aplicación de muestra adjuntaron las etiquetas correctamente.

   1. Establezca la variable de entorno `KVS_DEBUG_DUMP_DATA_FILE_DIR`. Si se establece este valor, el SDK del productor escribe los archivos multimedia que habría enviado a Kinesis Video Streams en la ubicación especificada.

      ```
      export KVS_DEBUG_DUMP_DATA_FILE_DIR=/path/to/output/directory
      ```
**nota**  
El SDK no creará un directorio nuevo si la ruta no existe. Cree la carpeta si es necesario.

   1. Vuelva a ejecutar la aplicación. Debería ver cómo se escriben `.mkv` los archivos en el directorio de salida especificado.

   1. Compruebe el contenido para asegurarse de que la etiqueta esté presente utilizando MKVToolNix, u otro software.

      1. Instale MKVToolNix: `brew install mkvtoolnix`

      1. Ejecute MKVToolNix con uno de los `.mkv` archivos del directorio de salida.

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

      1. Revise el MKVToolNix resultado. Si el método SDK del `KinesisVideoStream::PutFragmentMetadata` productor se ha invocado correctamente, deberías ver la siguiente etiqueta MKV.

         ```
         |+ Tags
         | + Tag
         |  + Simple
         |   + Name: AWS_KINESISVIDEO_IMAGE_GENERATION
         ```
**nota**  
Las etiquetas pertenecen al clúster anterior.

   1. Si la etiqueta MKV no está presente, asegúrese de que se haya llamado al método SDK del `KinesisVideoStream::PutEventMetadata` productor con el `STREAM_EVENT_TYPE_IMAGE_GENERATION` argumento y de que haya devuelto un código de éxito (0).