

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Analisando um vídeo com o AWS Command Line Interface
<a name="video-cli-commands"></a>

Você pode usar o AWS Command Line Interface (AWS CLI) para chamar as operações do Amazon Rekognition Video. O padrão de design é o mesmo de usar a API Amazon Rekognition Video com a AWS ou outra. AWS SDK para Java SDKs Para obter mais informações, consulte [Visão geral da API Amazon Rekognition Video](video.md#video-api-overview). Os procedimentos a seguir mostram como usar o AWS CLI para detectar rótulos em um vídeo.

Comece a detectar rótulos em um vídeo chamando `start-label-detection`. Quando o Amazon Rekognition termina de analisar o vídeo, o status de conclusão é enviado para o tópico do Amazon SNS especificado no parâmetro `--notification-channel` de `start-label-detection`. Você pode obter o status de conclusão inscrevendo uma fila do Amazon Simple Queue Service (Amazon SQS) no tópico Amazon SNS. Em seguida, faça uma sondagem em [receive-message](https://docs.aws.amazon.com/cli/latest/reference/sqs/receive-message.html) para obter o status de conclusão da fila do Amazon SQS.

Ao chamar `StartLabelDetection`, você pode filtrar seus resultados fornecendo argumentos de filtragem para os argumentos `LabelsExclusionFilter` e/ou `LabelsInclusionFilter`. Para obter mais informações, consulte [Detectando rótulos em um vídeo](labels-detecting-labels-video.md).

A notificação do status de conclusão é uma estrutura JSON dentro da resposta `receive-message`. Você precisa extrair o JSON da resposta. Para obter informações sobre o JSON do status de conclusão, consulte [Referência: Notificação de resultados de análise de vídeo](video-notification-payload.md). Se o valor do campo `Status` do JSON do status de conclusão for `SUCCEEDED`, você poderá obter os resultados da solicitação de análise de vídeo ao chamar `get-label-detection`. Ao chamar `GetLabelDetection`, você pode classificar e agregar os resultados retornados usando os argumentos `AggregateBy` e `SortBy`.

Os procedimentos a seguir não incluem código para pesquisar a fila do Amazon SQS. Além disso, eles não incluem código para analisar o JSON retornado da fila do Amazon SQS. Para obter um exemplo em Java, consulte [Análise de um vídeo armazenado em um bucket do Amazon S3 com Java ou Python (SDK)](video-analyzing-with-sqs.md). 

## Pré-requisitos
<a name="video-prerequisites"></a>

Para executar esse procedimento, você precisa ter o AWS CLI instalado. Para obter mais informações, consulte [Comece a usar o Amazon Rekognition](getting-started.md). A conta da AWS que você usa deve ter permissões de acesso à API do Amazon Rekognition. Para obter mais informações, acesse [Ações definidas pelo Amazon Rekognition](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazonrekognition.html#amazonrekognition-actions-as-permissions). 

**Para configurar o Amazon Rekognition Video e fazer o upload de um vídeo**

1. Configure o acesso do usuário ao Amazon Rekognition Video e configure o acesso do Amazon Rekognition Video ao Amazon SNS. Para obter mais informações, consulte [Configuração do Amazon Rekognition Video](api-video-roles.md).

1. Faça upload de um arquivo de vídeo no formato MOV ou MPEG-4 no bucket do S3. Ao desenvolver e testar, sugerimos o uso de vídeos curtos com até 30 segundos de duração.

   Para obter instruções, consulte [Como fazer upload de objetos no Amazon S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UploadingObjectsintoAmazonS3.html) no *Guia do usuário do Amazon Simple Storage Service*.

**Para detectar rótulos em um vídeo**

1. Execute o AWS CLI comando a seguir para começar a detectar rótulos em um 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"]}}
   ```

   Atualize os seguintes valores:
   + Mude `amzn-s3-demo-bucket` e `videofile` para o nome do bucket do Amazon S3 e o nome do arquivo que você especificou na etapa 2.
   + Altere `us-east-1` para a região da AWS que você está usando.
   + Substitua o valor de `profile_name` na linha que cria a sessão do Rekognition pelo nome do seu perfil de desenvolvedor.
   + Mude `TopicARN` para o ARN do tópico do Amazon SNS que você criou na etapa 3 do [Configuração do Amazon Rekognition Video](api-video-roles.md).
   + Mude `RoleARN` para o ARN do perfil de serviço do IAM que você criou na etapa 7 do [Configuração do Amazon Rekognition Video](api-video-roles.md).
   + Se necessário, você pode especificar o `endpoint-url`. A CLI da AWS deve determinar automaticamente a URL correta do endpoint com base na região fornecida. No entanto, se você estiver usando um endpoint [da sua VPC privada](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html#what-is-privatelink), talvez seja necessário especificar o `endpoint-url`. O recurso [AWS Service Endpoints](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints) lista a sintaxe para especificar URLs de endpoints e os nomes e códigos de cada região.
   + Você também pode incluir critérios de filtragem no parâmetro de configurações. Por exemplo, você pode usar o `LabelsInclusionFilter` ou o `LabelsExclusionFilter` com uma lista de valores desejados.

    Se você estiver acessando a CLI em um dispositivo Windows, use aspas duplas em vez de aspas simples e escape das aspas duplas internas com barra invertida (ou seja, \\) para resolver quaisquer erros de analisador que você possa encontrar. Para ver um exemplo, veja abaixo: 

   ```
   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 o valor do `JobId` na resposta. A resposta é semelhante ao seguinte exemplo JSON.

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

1. Escreva um código para pesquisar na fila do Amazon SQS o status de conclusão JSON (usando [receive-message](https://docs.aws.amazon.com/cli/latest/reference/sqs/receive-message.html)).

1. Escreva o código para extrair o campo `Status` do JSON do status de conclusão.

1. Se o valor de `Status` for`SUCCEEDED`, execute o AWS CLI comando a seguir para mostrar os resultados da detecção do rótulo.

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

   Atualize os seguintes valores:
   + Altere o `JobId` para que corresponda ao identificador de trabalho que você anotou na etapa 2.
   + Altere `Endpoint` e `us-east-1` para o endpoint e a região da AWS que você está usando.

   Os resultados são semelhantes ao seguinte exemplo JSON:

   ```
   {
       "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"
               }
           }, .......
   ```