

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.

# Analizar un vídeo con el AWS Command Line Interface
<a name="video-cli-commands"></a>

Puede usar AWS Command Line Interface (AWS CLI) para llamar a las operaciones de Amazon Rekognition Video. El patrón de diseño es el mismo que cuando se utiliza la API Amazon Rekognition Video con AWS u otro dispositivo. AWS SDK para Java SDKs Para obtener más información, consulte [Descripción general de la API de Amazon Rekognition Video](video.md#video-api-overview). Los siguientes procedimientos muestran cómo utilizarlos AWS CLI para detectar etiquetas en un vídeo.

Comienza la detección de etiquetas en un vídeo llamando a `start-label-detection`. Cuando Amazon Rekognition termina de analizar el vídeo, el estado de realización se envía al tema de Amazon SNS que se ha especificado en el parámetro `--notification-channel` de `start-label-detection`. Puede obtener el estado de realización suscribiendo una cola de Amazon Simple Queue Service (Amazon SQS) al tema de Amazon SNS. A continuación, sondee [receive-message](https://docs.aws.amazon.com/cli/latest/reference/sqs/receive-message.html) para obtener el estado de realización de la cola de Amazon SQS.

Al llamar a `StartLabelDetection`, puede filtrar los resultados proporcionando argumentos de filtrado a los argumentos `LabelsInclusionFilter` y/o `LabelsExclusionFilter`. Para obtener más información, consulte [Detección de etiquetas en un vídeo](labels-detecting-labels-video.md) .

La notificación del estado de realización es una estructura de JSON dentro de la respuesta `receive-message`. Tiene que extraer el JSON de la respuesta. Para obtener más información acerca del JSON del estado de realización, consulte [Referencia: notificación de resultados de análisis de vídeo](video-notification-payload.md). Si el valor del campo `Status` del JSON de estado completado es `SUCCEEDED`, puede obtener los resultados de la solicitud de análisis llamando a `get-label-detection`. Al llamar a `GetLabelDetection`, puede ordenar y agregar los resultados devueltos utilizando los argumentos `SortBy` y `AggregateBy`.

Los siguientes procedimientos no incluyen código para sondear la cola de Amazon SQS. Además, no incluyen código para analizar el JSON que se devuelve desde la cola de Amazon SQS. Para ver un ejemplo en Java, consulte [Análisis de un vídeo almacenado en un bucket de Amazon S3 con Java o Python (SDK)](video-analyzing-with-sqs.md). 

## Requisitos previos
<a name="video-prerequisites"></a>

Para ejecutar este procedimiento, debe tener el AWS CLI instalado. Para obtener más información, consulte [Introducción a Amazon Rekognition](getting-started.md). La cuenta de AWS que utilice debe tener permisos de acceso a la API de Amazon Rekognition. Para obtener más información, [Acciones definidas por Amazon Rekognition](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazonrekognition.html#amazonrekognition-actions-as-permissions). 

**Para configurar Amazon Rekognition Video y subir un vídeo**

1. Configure el acceso de los usuarios a Amazon Rekognition Video y configure el acceso de Amazon Rekognition Video a Amazon SNS. Para obtener más información, consulte [Configuración de Amazon Rekognition Video](api-video-roles.md).

1. Cargue un archivo de vídeo con formato MOV o MPEG-4 en el bucket de S3. Para desarrollo y pruebas, le aconsejamos que utilice vídeos cortos con una duración inferior a 30 segundos.

   Para ver las instrucciones, consulte [Carga de objetos en Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UploadingObjectsintoAmazonS3.html) en la *Guía del usuario de Amazon Simple Storage Service*.

**Para detectar etiquetas en un vídeo**

1. Ejecute el siguiente AWS CLI comando para empezar a detectar etiquetas en un vídeo.

   ```
   aws rekognition start-label-detection --video '{"S3Object":{"Bucket":"amzn-s3-demo-bucket","Name":"video-name"}}' \
    --notification-channel '{"SNSTopicArn":"TopicARN","RoleArn":"RoleARN"}' \
   --region region-name  \ 
   --features GENERAL_LABELS \
   --profile profile-name \
   --settings "{"GeneralLabels":{"LabelInclusionFilters":["Car"]}}
   ```

   Actualice los siguientes valores:
   + Cambie `amzn-s3-demo-bucket` y `videofile` por el nombre del bucket de Amazon S3 y el nombre de archivo que especificó en el paso 2.
   + Cambie `us-east-1` por la región de AWS que está utilizando.
   + Sustituya el valor de `profile_name` en la línea que crea la sesión de Rekognition por el nombre de su perfil de desarrollador.
   + Reemplace `TopicARN` por el ARN del tema de Amazon SNS que creó en el paso 3 de [Configuración de Amazon Rekognition Video](api-video-roles.md).
   + Cambie `RoleARN` por el ARN del rol de servicio de IAM que creó en el paso 7 de [Configuración de Amazon Rekognition Video](api-video-roles.md).
   + Si es necesario, puede especificar la `endpoint-url`. La CLI de AWS debe determinar automáticamente la URL del punto de conexión adecuada en función de la región proporcionada. Sin embargo, si utiliza un punto de conexión [de su VPC privada](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html#what-is-privatelink), es posible que deba especificar la `endpoint-url`. El recurso [AWS Service Endpoints](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints) incluye la sintaxis para especificar las direcciones URL de los puntos de conexión y los nombres y códigos de cada región.
   + También puede incluir criterios de filtrado en el parámetro de configuración. Por ejemplo, puede utilizar un `LabelsInclusionFilter` o un `LabelsExclusionFilter` junto a una lista de los valores deseados.

    Si accede a la CLI en un dispositivo Windows, utilice comillas dobles en lugar de comillas simples y evite las comillas dobles internas con una barra invertida (es decir, \\) para corregir cualquier error del analizador que pueda encontrar. Consulte a continuación un ejemplo: 

   ```
   aws rekognition start-label-detection --video "{\"S3Object\":{\"Bucket\":\"amzn-s3-demo-bucket",\"Name\":\"video-name\"}}" --notification-channel "{\"SNSTopicArn\":\"TopicARN\",\"RoleArn\":\"RoleARN\"}" \
   --region us-east-1 --features GENERAL_LABELS --settings "{\"GeneralLabels\":{\"LabelInclusionFilters\":[\"Car\"]}}" --profile profile-name
   ```

1. Anote el valor de `JobId` en la respuesta. La respuesta tiene un aspecto similar a la del siguiente ejemplo JSON.

   ```
   {
       "JobId": "547089ce5b9a8a0e7831afa655f42e5d7b5c838553f1a584bf350ennnnnnnnnn"
   }
   ```

1. Escriba código para sondear la cola de Amazon SQS para ver el JSON del estado de realización (mediante la utilización de [receive-message](https://docs.aws.amazon.com/cli/latest/reference/sqs/receive-message.html)).

1. Escriba código para extraer el campo `Status` del JSON de estado de realización.

1. Si el valor `Status` es`SUCCEEDED`, ejecute el siguiente AWS CLI comando para mostrar los resultados de la detección de etiquetas.

   ```
   aws rekognition get-label-detection  --job-id {{JobId}} \
   --region {{us-east-1}} --sort-by TIMESTAMP aggregate-by TIMESTAMPS
   ```

   Actualice los siguientes valores:
   + Cambie `JobId` para que coincida con el identificador de trabajo que ha anotado en el paso 2.
   + Cambie `Endpoint` y `us-east-1` al punto de conexión y la región de AWS que está utilizando.

   Los resultados tienen un aspecto similar al JSON del siguiente ejemplo:

   ```
   {
       "Labels": [
           {
               "Timestamp": 0,
               "Label": {
                   "Confidence": 99.03720092773438,
                   "Name": "Speech"
               }
           },
           {
               "Timestamp": 0,
               "Label": {
                   "Confidence": 71.6698989868164,
                   "Name": "Pumpkin"
               }
           },
           {
               "Timestamp": 0,
               "Label": {
                   "Confidence": 71.6698989868164,
                   "Name": "Squash"
               }
           },
           {
               "Timestamp": 0,
               "Label": {
                   "Confidence": 71.6698989868164,
                   "Name": "Vegetable"
               }
           }, .......
   ```