

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Menganalisis video dengan AWS Command Line Interface
<a name="video-cli-commands"></a>

Anda dapat menggunakan AWS Command Line Interface (AWS CLI) untuk memanggil operasi Amazon Rekognition Video. Pola desainnya sama dengan menggunakan Amazon Rekognition Video API dengan AWS atau AWS SDK untuk Java AWS lainnya. SDKs Untuk informasi selengkapnya, lihat [Gambaran umum Amazon Rekognition Video API](video.md#video-api-overview). Prosedur berikut menunjukkan cara menggunakan AWS CLI untuk mendeteksi label dalam video.

Anda mulai mendeteksi label dalam video dengan menelepon `start-label-detection`. Setelah Amazon Rekognition selesai menganalisis video, status penyelesaian dikirim ke topik Amazon SNS yang ditentukan dalam `--notification-channel` parameter `start-label-detection`. Anda dapat mendapatkan status penyelesaian dengan berlangganan antrean Amazon Simple Queue Service (Amazon SQS) ke topik Amazon SNS. Anda kemudian melakukan polling [Penerimaan-pesan](https://docs.aws.amazon.com/cli/latest/reference/sqs/receive-message.html) untuk mendapatkan status penyelesaian dari antrean Amazon SQS.

Saat menelepon`StartLabelDetection`, Anda dapat memfilter hasil dengan memberikan argumen filtrasi ke `LabelsInclusionFilter` dan/atau `LabelsExclusionFilter` argumen. Untuk informasi selengkapnya, lihat [Mendeteksi label dalam video](labels-detecting-labels-video.md).

Notifikasi status penyelesaian merupakan struktur JSON dalam tanggapan `receive-message`. Anda perlu untuk mengekstraksi JSON dari respons. Untuk informasi tentang status penyelesaian JSON, lihat [Referensi: Notifikasi hasil analisis video](video-notification-payload.md). Jika nilai dari bidang `Status` dari status penyelesaian JSON adalah `SUCCEEDED`, Anda bisa mendapatkan hasil permintaan analisis video dengan memanggil `get-label-detection`. Saat memanggil`GetLabelDetection`, Anda dapat mengurutkan dan menggabungkan hasil yang dikembalikan menggunakan `AggregateBy` argumen `SortBy` dan.

Prosedur berikut tidak melibatkan kode untuk polling antrean Amazon SQS. Juga, mereka tidak melibatkan kode untuk mengurai JSON yang kembali dari antrean Amazon SQS. Sebagai contoh di Java, lihat [Menganalisis video yang disimpan di bucket Amazon S3 dengan Java atau Python (SDK)](video-analyzing-with-sqs.md). 

## Prasyarat
<a name="video-prerequisites"></a>

Untuk menjalankan prosedur ini, Anda harus AWS CLI menginstal. Untuk informasi selengkapnya, lihat [Memulai dengan Amazon Rekognition](getting-started.md). Akun AWS yang Anda gunakan harus memiliki izin akses ke Amazon Rekognition API. Untuk informasi selengkapnya, [Tindakan yang Ditetapkan oleh Amazon Rekognition](https://docs.aws.amazon.com/IAM/latest/UserGuide/list_amazonrekognition.html#amazonrekognition-actions-as-permissions). 

**Untuk mengonfigurasi Amazon Rekognition Video dan mengunggah video**

1. Konfigurasikan akses pengguna ke Amazon Rekognition Video dan konfigurasikan akses Amazon Rekognition Video ke Amazon SNS. Untuk informasi selengkapnya, lihat [Mengonfigurasi Amazon Rekognition Video](api-video-roles.md).

1. Unggah file video format MOV atau MPEG-4 ke bucket S3 Anda. Saat pengembangan dan pengujian, kami menyarankan untuk menggunakan video pendek dengan durasi tidak lebih dari 30 detik.

   Untuk petunjuk, lihat [Mengunggah Objek ke Amazon](https://docs.aws.amazon.com/AmazonS3/latest/userguide/UploadingObjectsintoAmazonS3.html) S3 di Panduan Pengguna *Layanan Penyimpanan Sederhana Amazon*.

**Mendeteksi label dalam video**

1. Jalankan AWS CLI perintah berikut untuk mulai mendeteksi label dalam video.

   ```
   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"]}}
   ```

   Perbarui nilai berikut:
   + Ubah `amzn-s3-demo-bucket` dan `videofile` ke nama bucket Amazon S3 dan nama file yang Anda tentukan pada langkah 2.
   + Ubah `us-east-1` ke wilayah AWS yang Anda gunakan.
   + Ganti nilai `profile_name` di baris yang membuat sesi Rekognition dengan nama profil pengembang Anda.
   + Ubah `TopicARN` ke ARN dari topik Amazon SNS yang Anda buat pada langkah 3 [Mengonfigurasi Amazon Rekognition Video](api-video-roles.md).
   + Perubahan `RoleARN` ke ARN dari peran layanan IAM yang Anda buat di langkah 7 [Mengonfigurasi Amazon Rekognition Video](api-video-roles.md).
   + Jika diperlukan, Anda dapat menentukan `endpoint-url`. AWS CLI harus secara otomatis menentukan titik akhir URL yang tepat berdasarkan wilayah yang disediakan. Namun, jika Anda menggunakan titik akhir [dari VPC privat Anda](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html#what-is-privatelink), Anda mungkin perlu menentukan `endpoint-url`. Parameter daftar sumber daya sintaksis [Titik Akhir Layanan AWS](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints) untuk menentukan titik akhir url, nama dan kode untuk masing-masing wilayah.
   + Anda juga dapat memasukkan kriteria filtrasi dalam parameter pengaturan. Misalnya, Anda dapat menggunakan `LabelsInclusionFilter` atau `LabelsExclusionFilter` bersama daftar nilai yang diinginkan.

    Jika Anda mengakses CLI pada perangkat Windows, gunakan tanda kutip ganda alih-alih tanda kutip tunggal dan hindari tanda kutip ganda bagian dalam dengan garis miring terbalik (yaitu\$1) untuk mengatasi kesalahan parser yang mungkin Anda temui. Sebagai contoh, lihat di bawah: 

   ```
   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. Perhatikan nilai dari `JobId` dalam respons. Respons tersebut serupa dengan contoh JSON berikut ini.

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

1. Tulis kode untuk membuat polling antrean Amazon SQS untuk status penyelesaian JSON (dengan menggunakan [menerima-pesan](https://docs.aws.amazon.com/cli/latest/reference/sqs/receive-message.html)).

1. Tulis kode untuk mengekstraksi bidang `Status` dari status penyelesaian JSON.

1. Jika nilai `Status` adalah`SUCCEEDED`, jalankan AWS CLI perintah berikut untuk menunjukkan hasil deteksi label.

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

   Perbarui nilai berikut:
   + Ubah `JobId` untuk mencocokkan pengidentifikasi tugas yang Anda catat di langkah 2.
   + Ubah `Endpoint` dan `us-east-1` ke titik akhir AWS dan wilayah yang Anda gunakan.

   Hasil terlihat serupa dengan contoh JSON berikut:

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