Mempersiapkan Amazon Rekognition Video Amazon dan sumber daya Amazon Kinesis - Amazon Rekognition

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

Mempersiapkan Amazon Rekognition Video Amazon dan sumber daya Amazon Kinesis

Prosedur berikut menjelaskan langkah-langkah yang Anda ambil untuk menyediakan aliran video Kinesis dan sumber daya lain yang digunakan untuk mendeteksi label dalam video streaming.

Prasyarat

Untuk menjalankan prosedur ini, AWS SDK untuk Java harus diinstal. Untuk informasi selengkapnya, lihat Memulai dengan Amazon Rekognition. AWS Akun yang Anda gunakan memerlukan izin akses ke Amazon Rekognition API. Untuk informasi selengkapnya, lihat Tindakan yang Ditetapkan oleh Amazon Rekognition di Panduan Pengguna IAM.

Untuk mendeteksi label dalam aliran video (AWS SDK)
  1. Buat bucket Amazon S3. Perhatikan nama bucket dan awalan kunci apa pun yang ingin Anda gunakan. Anda menggunakan informasi ini nanti.

  2. Buat topik Amazon SNS. Anda dapat menggunakannya untuk menerima pemberitahuan ketika objek yang menarik pertama kali terdeteksi dalam aliran video. Perhatikan Nama Sumber Daya Amazon (ARN) untuk topik tersebut. Untuk informasi selengkapnya, lihat Membuat topik Amazon SNS di panduan pengembang Amazon SNS.

  3. Berlangganan titik akhir ke topik Amazon SNS. Untuk informasi selengkapnya, lihat Berlangganan topik Amazon SNS di panduan pengembang Amazon SNS.

  4. Buat aliran video Kinesis dan catat Nama Sumber Daya Amazon (ARN) dari aliran tersebut.

  5. Jika Anda belum melakukannya, buat peran layanan IAM untuk memberikan akses Video Rekognition Amazon ke aliran video Kinesis, bucket S3, dan topik Amazon SNS Anda. Untuk informasi selengkapnya, lihat Memberikan akses untuk prosesor aliran deteksi label.

Anda kemudian dapat membuat prosesor aliran deteksi label dan memulai prosesor aliran menggunakan nama prosesor aliran yang Anda pilih.

catatan

Mulai prosesor streaming hanya setelah Anda memverifikasi bahwa Anda dapat menelan media ke dalam aliran video Kinesis.

Orientasi dan pengaturan kamera

Acara Video Streaming Video Amazon Rekognition dapat mendukung semua kamera yang didukung oleh Kinesis Video Streams. Untuk hasil terbaik, kami sarankan menempatkan kamera antara 0 hingga 45 derajat dari tanah. Kamera harus dalam posisi tegak kanonik. Misalnya, jika ada seseorang dalam bingkai, orang tersebut harus berorientasi vertikal, dan kepala orang tersebut harus lebih tinggi dalam bingkai daripada kaki.

Memberikan akses untuk prosesor aliran deteksi label

Anda menggunakan peran layanan AWS Identity and Access Management (IAM) untuk memberikan akses baca Video Rekognition Amazon ke aliran video Kinesis. Untuk melakukannya, gunakan peran IAM untuk memberikan akses Video Rekognition Amazon ke bucket Amazon S3 Anda dan ke topik Amazon SNS.

Anda dapat membuat kebijakan izin yang memungkinkan akses Video Rekognition Amazon ke topik Amazon SNS yang ada, bucket Amazon S3, dan aliran video Kinesis. Untuk step-by-step prosedur menggunakan AWS CLI, lihatAWS CLI perintah untuk mengatur peran IAM deteksi label.

Untuk memberikan Amazon Rekognition Video akses ke sumber daya untuk deteksi label
  1. Buat kebijakan izin baru dengan editor kebijakan IAM JSON, dan gunakan kebijakan berikut. Ganti kvs-stream-name dengan nama aliran video Kinesis, topicarn dengan Nama Sumber Daya Amazon (ARN) dari topik Amazon SNS yang ingin Anda gunakan, dan bucket-name dengan nama bucket Amazon S3.

    { "Version": "2012-10-17", "Statement": [ { "Sid": "KinesisVideoPermissions", "Effect": "Allow", "Action": [ "kinesisvideo:GetDataEndpoint", "kinesisvideo:GetMedia" ], "Resource": [ "arn:aws:kinesisvideo:::stream/kvs-stream-name/*" ] }, { "Sid": "SNSPermissions", "Effect": "Allow", "Action": [ "sns:Publish" ], "Resource": [ "arn:aws:sns:::sns-topic-name" ] }, { "Sid": "S3Permissions", "Effect": "Allow", "Action": [ "s3:PutObject" ], "Resource": [ "arn:aws:s3:::bucket-name/*" ] } ] }
  2. Buat peran layanan IAM, atau perbarui peran layanan IAM yang ada. Gunakan informasi berikut ini untuk membuat peran layanan IAM:

    1. Pilih Rekognition untuk nama layanan.

    2. Pilih Rekognition untuk kasus penggunaan peran layanan.

    3. Lampirkan kebijakan izin yang Anda buat pada langkah 1.

  3. Catat ARN peran layanan. Anda membutuhkannya untuk membuat prosesor streaming sebelum Anda melakukan operasi analisis video.

  4. (Opsional) Jika Anda menggunakan AWS KMS kunci Anda sendiri untuk mengenkripsi data yang dikirim ke bucket S3, Anda harus menambahkan pernyataan berikut dengan peran IAM. (Ini adalah peran IAM yang Anda buat untuk kebijakan kunci, yang sesuai dengan kunci terkelola pelanggan yang ingin Anda gunakan.)

    { "Sid": "Allow use of the key by label detection Role", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam:::role/REPLACE_WITH_LABEL_DETECTION_ROLE_CREATED" }, "Action": [ "kms:Decrypt", "kms:GenerateDataKey*" ], "Resource": "*" }

AWS CLI perintah untuk mengatur peran IAM deteksi label

Jika Anda belum melakukannya, atur dan konfigurasikan AWS CLI dengan kredensil Anda.

Masukkan perintah berikut ke dalam AWS CLI untuk mengatur peran IAM dengan izin yang diperlukan untuk deteksi label.

  1. export IAM_ROLE_NAME=labels-test-role

  2. export AWS_REGION=us-east-1

  3. Buat file kebijakan hubungan kepercayaan (misalnya, assume-role-rekognition .json) dengan konten berikut.

    { "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": "rekognition.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
  4. aws iam create-role --role-name $IAM_ROLE_NAME --assume-role-policy-document file://path-to-assume-role-rekognition.json --region $AWS_REGION

  5. aws iam attach-role-policy --role-name $IAM_ROLE_NAME --policy-arn "arn:aws:iam::aws:policy/service-role/AmazonRekognitionServiceRole" --region $AWS_REGION

  6. Jika nama topik SNS Anda yang ingin Anda terima notifikasi tidak dimulai dengan awalan "AmazonRekognition", tambahkan kebijakan berikut:

    aws iam attach-role-policy --role-name $IAM_ROLE_NAME --policy-arn "arn:aws:iam::aws:policy/AmazonSNSFullAccess" --region $AWS_REGION

  7. Jika Anda menggunakan kunci AWS KMS Anda sendiri untuk mengenkripsi data yang dikirim ke bucket Amazon S3, perbarui kebijakan kunci kunci terkelola pelanggan yang ingin Anda gunakan.

    1. Buat file kms_key_policy.json yang berisi konten berikut:

      { "Sid": "Allow use of the key by label detection Role", "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam:::role/REPLACE_WITH_IAM_ROLE_NAME_CREATED" }, "Action": [ "kms:Encrypt", "kms:GenerateDataKey*" ], "Resource": "*" }
    2. export KMS_KEY_ID=labels-kms-key-id. Ganti KMS_KEY_ID dengan ID kunci KMS yang Anda buat.

    3. aws kms put-key-policy --policy-name default --key-id $KMS_KEY_ID --policy file://path-to-kms-key-policy.json