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.
Solución de problemas de streaming de vídeo
Este tema ofrece información sobre cómo solucionar problemas en el uso de Amazon Rekognition Video con vídeos en streaming.
Temas
- No sé si mi procesador de streaming se ha creado correctamente
- No sé si he configurado correctamente mi procesador de streaming
- Mi procesador de streaming no está devolviendo resultados
- El estado de mi procesador de streaming es FAILED
- Mi procesador de streaming no está devolviendo los resultados esperados
No sé si mi procesador de streaming se ha creado correctamente
Utilice el siguiente comando de AWS CLI para obtener una lista de los procesadores de streaming y su estado actual.
aws rekognition list-stream-processors
Puede obtener detalles adicionales utilizando el siguiente comando de AWS CLI. Reemplace stream-processor-name
por el nombre del procesador de streaming necesario.
aws rekognition describe-stream-processor --name
stream-processor-name
No sé si he configurado correctamente mi procesador de streaming
Si el código no está devolviendo los resultados de análisis de Amazon Rekognition Video, es posible que el procesador de streaming no esté configurado correctamente. Realice lo siguiente para confirmar que su procesador de streaming se ha configurado correctamente y que puede producir resultados.
Para determinar si su solución está configurada correctamente
Ejecute el siguiente comando para confirmar que el procesador de streaming se encuentra en estado de ejecución. Cambie
stream-processor-name
por el nombre de su procesador de streaming. El procesador de streaming está en ejecución si el valor deStatus
esRUNNING
. Si el estado esRUNNING
y no está obteniendo resultados, consulte Mi procesador de streaming no está devolviendo resultados. Si el estado esFAILED
, consulte El estado de mi procesador de streaming es FAILED.aws rekognition describe-stream-processor --name
stream-processor-name
Si el procesador de streaming está en ejecución, ejecute el siguiente comando Bash o PowerShell para leer los datos de la secuencia de datos de Kinesis de salida.
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_ITERATORPowerShell
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])Utilice la herramienta Decode
en el sitio web de Base64 Decode para decodificar el resultado en una cadena legible para las personas. Para obtener más información, consultePaso 3: Obtenga el récord. Si los comandos funcionan y ve resultados de detección de rostros en la secuencia de datos de Kinesis, la solución está configurada correctamente. Si el comando da error, compruebe las otras sugerencias de solución de problemas y consulte Dar acceso a Amazon Rekognition Video a sus transmisiones de Kinesis.
También puede utilizar el «kinesis-process-record»AWS Lambdablueprint para registrar mensajes desde el flujo de datos de Kinesis en CloudWatch paracontinuovisualización. Esto incurre en costos adicionales paraAWS Lambday CloudWatch.
Mi procesador de streaming no está devolviendo resultados
Su procesador de streaming podría no devolver resultados por varios motivos.
Motivo1: Su procesador de streaming no está configurado correctamente
Su procesador de streaming podría no estar configurado correctamente. Para obtener más información, consulte No sé si he configurado correctamente mi procesador de streaming.
Motivo 2: Su procesador de streaming no está en el estado RUNNING
Para solucionar el estado de un procesador de streaming
Compruebe el estado del procesador de streaming con el siguiente comando de AWS CLI.
aws rekognition describe-stream-processor --name
stream-processor-name
Si el valor de
Status
esSTOPPED
, inicie el procesador de streaming con el siguiente comando:aws rekognition start-stream-processor --name
stream-processor-name
Si el valor de
Status
esFAILED
, consulte El estado de mi procesador de streaming es FAILED.Si el valor de
Status
esSTARTING
, espere 2 minutos y compruebe el estado repitiendo el paso 1. Si el valor de Status sigue siendoSTARTING
, realice lo siguiente:Elimine el procesador de streaming con el siguiente comando.
aws rekognition delete-stream-processor --name
stream-processor-name
Cree un nuevo procesador de streaming con la misma configuración. Para obtener más información, consulte Uso de vídeos en streaming.
Si sigue teniendo problemas, póngase en contacto con AWS Support.
Si el valor de
Status
esRUNNING
, consulte Motivo 3: No hay datos activos inla secuencia de vídeo de Kinesis.
Motivo 3: No hay datos activos inla secuencia de vídeo de Kinesis
Para comprobar si hay datos activos en la transmisión de vídeo de Kinesis
Inicie sesión en laAWS Management Consoley abra la consola de Amazon Kinesis Video Streams enhttps://console.aws.amazon.com/kinesisvideo/
. Seleccione la transmisión de vídeo de Kinesis que es la entrada para el procesador de streaming Amazon Rekognition.
Si la vista previa indicaSin datos en la transmisión, a continuación, no hay ningún dato en la secuencia de entrada para que Amazon Rekognition Video lo procese.
Para obtener información acerca de la producción de vídeo con Kinesis Video Streams, consulteBibliotecas de productores de Kinesis Video Streams.
El estado de mi procesador de streaming es FAILED
Puede comprobar el estado de un procesador de streaming mediante el siguiente comando de AWS CLI.
aws rekognition describe-stream-processor --name
stream-processor-name
Si el valor de Status es FAILED, compruebe la información de solución de problemas de los siguientes mensajes de error.
Error: "Acceso denegado al rol"
El rol de IAM que utiliza el procesador de streaming no existe o Amazon Rekognition Video no tiene permiso para asumir el rol.
Para solucionar problemas de acceso con el rol de IAM
Inicie sesión en la AWS Management Console y abra la consola de IAM en https://console.aws.amazon.com/iam/
. En el panel de navegación izquierdo, elija Roles y confirme que el rol existe.
Si el rol existe, compruebe que el rol tiene la política de permisos AmazonRekognitionServiceRole.
Si el rol no existe o no tiene los permiso adecuados, consulte Dar acceso a Amazon Rekognition Video a sus transmisiones de Kinesis.
Inicie el procesador de streaming con el siguiente comando de AWS CLI.
aws rekognition start-stream-processor --name
stream-processor-name
Error: «Acceso denegado a Kinesis VideooAcceso denegado a Kinesis Data»
La función no tiene acceso a las operaciones de API de Kinesis Video StreamsGetMedia
yGetDataEndpoint
. Es posible que tampoco tenga acceso a las operaciones de API de Kinesis Data StreamsPutRecord
yPutRecords
.
Solución de problemas de permisos de API
Inicie sesión en la AWS Management Console y abra la consola de IAM en https://console.aws.amazon.com/iam/
. Abra el rol y asegúrese de que tiene la siguiente política de permisos asociada.
{ "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
" } ] }Si falta alguno de los permisos, actualice la política. Para obtener más información, consulte Dar acceso a Amazon Rekognition Video a sus transmisiones de Kinesis.
Error: "Streaminput-video-stream-name
no existe»
La entrada de streaming de vídeo de Kinesis en el procesador de streaming no existe o no está configurada correctamente.
Para solucionar problemas de la transmisión de vídeo de Kinesis
Utilice el siguiente comando para confirmar que la secuencia existe.
aws kinesisvideo list-streams
Si la secuencia existe, compruebe lo siguiente.
El nombre de recurso de Amazon (ARN) es el mismo que el ARN de la secuencia de entrada del procesador de streaming.
La transmisión de vídeo de Kinesis está en la misma Región que el procesador de streaming.
Si el procesador de streaming no está configurado correctamente, elimínelo con el siguiente comando de AWS CLI.
aws rekognition delete-stream-processor --name
stream-processor-name
Cree un nuevo procesador de streaming con la secuencia de vídeo de Kinesis prevista. Para obtener más información, consulte Creación del procesador de secuencias de Amazon Rekognition Video.
Error: «Colección no encontrada»
La colección Amazon Rekognition que utiliza el procesador de streaming de para comparar rostros no existe o se está utilizando una colección equivocada.
Para confirmar la colección
Utilice el siguiente comando de AWS CLI para determinar si la colección necesaria existe. Cambie
region
a la región de AWS en la que está ejecutando el procesador de streaming.aws rekognition list-collections --region
region
Si la colección necesaria no existe, cree una nueva colección y añada información de rostros. Para obtener más información, consulte Búsqueda de rostros en una colección.
En la llamada a CreateStreamProcessor, compruebe que el valor del parámetro de entrada de
CollectionId
es correcto.Inicie el procesador de streaming con el siguiente comando de AWS CLI.
aws rekognition start-stream-processor --name
stream-processor-name
Error: «Streamoutput-kinesis-data-stream-name
en cuentaaccount-id
no se encuentra»
La secuencia de datos de Kinesis de salida que utiliza el procesador de streaming no existe en su cuenta de AWS o no se encuentra en la misma Región de AWS que el procesador de streaming.
Para solucionar problemas de la secuencia de datos de Kinesis
Utilice el siguiente comando de AWS CLI para determinar si existe la secuencia de datos de Kinesis. Cambie
region
a la Región de AWS en la que está utilizando el procesador de streaming.aws kinesis list-streams --region
region
Si la secuencia de datos de Kinesis existe, compruebe que el nombre de la secuencia de datos de Kinesis es el mismo que el nombre de la secuencia de salida que utiliza el procesador de streaming.
Si la secuencia de datos de Kinesis no existe, podría existir en otra Región de AWS. La secuencia de datos de Kinesis debe encontrarse en la misma Región que el procesador de streaming.
Si es necesario, cree una nueva secuencia de datos de Kinesis.
Cree una secuencia de datos de Kinesis con el mismo nombre que el usado por el procesador de streaming. Para obtener más información, consultePaso 1: Creación de una secuencia de datos.
Inicie el procesador de streaming con el siguiente comando de AWS CLI.
aws rekognition start-stream-processor --name
stream-processor-name
Mi procesador de streaming no está devolviendo los resultados esperados
Si el procesador de streaming no está devolviendo los rostros coincidentes esperados, utilice la siguiente información.