Menganalisis video dengan AWS Command Line Interface - Amazon Rekognition

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

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 SDK atau AWS AWS SDK for Java lainnya. Untuk informasi selengkapnya, lihat Gambaran umum Amazon Rekognition Video API. 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 untuk mendapatkan status penyelesaian dari antrean Amazon SQS.

Saat meneleponStartLabelDetection, Anda dapat memfilter hasil dengan memberikan argumen filtrasi ke LabelsInclusionFilter dan/atau LabelsExclusionFilter argumen. Untuk informasi selengkapnya, lihat Mendeteksi label dalam video.

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. Jika nilai dari bidang Status dari status penyelesaian JSON adalah SUCCEEDED, Anda bisa mendapatkan hasil permintaan analisis video dengan memanggil get-label-detection. Saat memanggilGetLabelDetection, 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).

Prasyarat

Untuk menjalankan prosedur ini, Anda harus AWS CLI menginstal. Untuk informasi selengkapnya, lihat Memulai dengan Amazon Rekognition. Akun AWS yang Anda gunakan harus memiliki izin akses ke Amazon Rekognition API. Untuk informasi selengkapnya, Tindakan yang Ditetapkan oleh Amazon Rekognition.

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.

  2. 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 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":"bucket-name","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 bucketname 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.

    • Perubahan RoleARN ke ARN dari peran layanan IAM yang Anda buat di langkah 7 Mengonfigurasi Amazon Rekognition Video.

    • 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, Anda mungkin perlu menentukan endpoint-url. Parameter daftar sumber daya sintaksis Titik Akhir Layanan AWS 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\) untuk mengatasi kesalahan parser yang mungkin Anda temui. Sebagai contoh, lihat di bawah:

    aws rekognition start-label-detection --video "{\"S3Object\":{\"Bucket\":\"bucket-name\",\"Name\":\"video-name\"}}" --notification-channel "{\"SNSTopicArn\":\"TopicARN\",\"RoleArn\":\"RoleARN\"}" \ --region us-east-1 --features GENERAL_LABELS --settings "{\"GeneralLabels\":{\"LabelInclusionFilters\":[\"Car\"]}}" --profile profile-name
  2. Perhatikan nilai dari JobId dalam respons. Respons tersebut serupa dengan contoh JSON berikut ini.

    { "JobId": "547089ce5b9a8a0e7831afa655f42e5d7b5c838553f1a584bf350ennnnnnnnnn" }
  3. Tulis kode untuk membuat polling antrean Amazon SQS untuk status penyelesaian JSON (dengan menggunakan menerima-pesan).

  4. Tulis kode untuk mengekstraksi bidang Status dari status penyelesaian JSON.

  5. Jika nilai Status adalahSUCCEEDED, 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" } }, .......