Mengatasi masalah video streaming - Amazon Rekognition

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

Mengatasi masalah video streaming

Topik ini memberikan informasi pemecahan masalah untuk menggunakan Amazon Rekognition Video dengan video streaming.

Saya tidak tahu apakah prosesor streaming saya berhasil dibuat

Gunakan AWS CLI perintah berikut untuk mendapatkan daftar prosesor aliran dan statusnya saat ini.

aws rekognition list-stream-processors

Anda bisa mendapatkan detail tambahan dengan menggunakan AWS CLI perintah berikut. Ganti stream-processor-name dengan nama pemroses aliran yang diperlukan.

aws rekognition describe-stream-processor --name stream-processor-name

Saya tidak tahu apakah saya telah mengonfigurasi pemroses aliran saya dengan benar

Jika kode Anda tidak mengeluarkan hasil analisis dari Amazon Rekognition Video, pemroses aliran Anda mungkin tidak dikonfigurasi dengan benar. Lakukan hal berikut untuk mengonfirmasi bahwa pemroses aliran Anda dikonfigurasi dengan benar dan dapat mengeluarkan hasil.

Untuk menentukan apakah solusi Anda dikonfigurasi dengan benar
  1. Jalankan perintah berikut untuk mengonfirmasi bahwa pemroses aliran Anda berada dalam keadaan berjalan. Ubah stream-processor-name ke nama pemroses aliran Anda. Pemroses aliran berjalan jika nilai Status adalah RUNNING. Jika statusnya adalah RUNNING dan Anda tidak mendapatkan hasil, lihat Pemroses aliran saya tidak memberikan hasil. Jika statusnya adalah FAILED, lihat Status pemroses aliran saya GAGAL.

    aws rekognition describe-stream-processor --name stream-processor-name
  2. Jika prosesor stream Anda berjalan, jalankan Bash berikut atau PowerShell perintah untuk membaca data dari output Kinesis data stream.

    Bash

    SHARD_ITERATOR=$(aws kinesis get-shard-iterator --shard-id shardId-000000000000 --shard-iterator-type TRIM_HORIZON --stream-name kinesis-data-stream-name --query 'ShardIterator') aws kinesis get-records --shard-iterator $SHARD_ITERATOR

    PowerShell

    aws kinesis get-records --shard-iterator ((aws kinesis get-shard-iterator --shard-id shardId-000000000000 --shard-iterator-type TRIM_HORIZON --stream-name kinesis-data-stream-name).split('"')[4])
  3. Gunakan Alat dekode pada situs web Base64 Decode untuk menerjemahkan kode output menjadi string yang dapat dibaca manusia. Untuk informasi selengkapnya, lihat Langkah 3: Dapatkan Catatan.

  4. Jika perintah berfungsi dan Anda melihat hasil deteksi wajah di aliran data Kinesis, berarti solusi Anda terkonfigurasi dengan benar. Jika perintah gagal, periksa saran pemecahan masalah lainnya dan lihat Memberikan Amazon Rekognition Video akses ke sumber daya Anda.

Atau, Anda dapat menggunakan AWS Lambda cetak biru kinesis-process-record "" untuk mencatat pesan dari aliran data Kinesis untuk visualisasi berkelanjutan. CloudWatch Ini menimbulkan biaya tambahan untuk AWS Lambda dan. CloudWatch

Pemroses aliran saya tidak memberikan hasil

Pemroses aliran Anda mungkin tidak memberikan hasil karena beberapa alasan.

Alasan 1: Prosesor streaming Anda tidak dikonfigurasi dengan benar

Pemroses aliran Anda mungkin tidak dikonfigurasi dengan benar. Untuk informasi selengkapnya, lihat Saya tidak tahu apakah saya telah mengonfigurasi pemroses aliran saya dengan benar.

Alasan 2: Pemroses aliran Anda tidak dalam status BERJALAN

Untuk memecahkan masalah status pemroses aliran
  1. Periksa status prosesor aliran dengan AWS CLI perintah berikut.

    aws rekognition describe-stream-processor --name stream-processor-name
  2. Jika nilai dari Status adalah STOPPED, mulai pemroses aliran Anda dengan perintah berikut:

    aws rekognition start-stream-processor --name stream-processor-name
  3. Jika nilai dari Status adalah FAILED, lihat Status pemroses aliran saya GAGAL.

  4. Jika nilai dari Status adalah STARTING, tunggu selama 2 menit dan periksa statusnya dengan mengulangi langkah 1. Jika nilai Status masih STARTING, lakukan hal berikut:

    1. Hapus pemroses aliran dengan perintah berikut.

      aws rekognition delete-stream-processor --name stream-processor-name
    2. Buat pemroses aliran baru dengan konfigurasi yang sama. Untuk informasi selengkapnya, lihat Bekerja dengan acara video streaming.

    3. Jika Anda masih mengalami masalah, hubungi AWS Support.

  5. Jika nilai dari Status adalah RUNNING, lihat Alasan 3: Tidak ada data aktif di aliran video Kinesis.

Alasan 3: Tidak ada data aktif di aliran video Kinesis

Untuk memeriksa apakah ada data aktif dalam aliran video Kinesis
  1. Masuk ke AWS Management Console, dan buka konsol Amazon Kinesis Video Streams di https://console.aws.amazon.com/kinesisvideo/.

  2. Pilih aliran video Kinesis yang merupakan input untuk pemroses aliran Amazon Rekognition.

  3. Jika pratinjau menyatakan Tidak ada data pada aliran, maka tidak ada data dalam input stream untuk Amazon Rekognition Video yang bisa diproses.

Untuk informasi tentang memproduksi video dengan Kinesis Video Streams, lihat Perpustakaan Produsen Kinesis Video Streams.

Status pemroses aliran saya GAGAL

Anda dapat memeriksa status prosesor aliran dengan menggunakan AWS CLI perintah berikut.

aws rekognition describe-stream-processor --name stream-processor-name

Jika nilai Status GAGAL, periksa informasi pemecahan masalah untuk pesan kesalahan berikut.

Kesalahan: "Akses ditolak ke Peran”

IAM role yang digunakan oleh pemroses aliran tidak ada atau Amazon Rekognition Video tidak memiliki izin untuk mengambil peran.

Memecahkan masalah akses ke IAM role
  1. Masuk ke AWS Management Console dan buka konsol IAM di https://console.aws.amazon.com/iam/.

  2. Dari panel navigasi kiri, pilih Perandan Konfirmasikan bahwa peran itu ada.

  3. Jika peran ada, periksa apakah peran tersebut memiliki kebijakan AmazonRekognitionServiceRoleizin.

  4. Jika peran tidak ada atau tidak memiliki izin yang benar, lihat Memberikan Amazon Rekognition Video akses ke sumber daya Anda.

  5. Mulai prosesor aliran dengan AWS CLI perintah berikut.

    aws rekognition start-stream-processor --name stream-processor-name

Kesalahan: “Akses ditolak ke Video Kinesis atau Akses ditolak ke Data Kinesis”

Peran tersebut tidak memiliki akses ke operasi API Kinesis Video Streams GetMedia dan GetDataEndpoint. Ini juga mungkin tidak memiliki akses ke operasi API Kinesis Data Streams PutRecord dan PutRecords.

Untuk memecahkan izin API
  1. Masuk ke AWS Management Console dan buka konsol IAM di https://console.aws.amazon.com/iam/.

  2. Buka peran dan pastikan kebijakan izin berikut terlampir.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "kinesis:PutRecord", "kinesis:PutRecords" ], "Resource": "data-arn" }, { "Effect": "Allow", "Action": [ "kinesisvideo:GetDataEndpoint", "kinesisvideo:GetMedia" ], "Resource": "video-arn" } ] }
  3. Jika salah satu izin hilang, perbarui kebijakan. Untuk informasi selengkapnya, lihat Memberikan Amazon Rekognition Video akses ke sumber daya Anda.

Kesalahan: “Stream input-video-stream-nametidak ada”

Input aliran video Kinesis ke pemroses aliran tidak ada atau tidak dikonfigurasi dengan benar.

Memecahkan masalah aliran video Kinesis
  1. Gunakan perintah berikut untuk mengonfirmasi bahwa aliran ada:

    aws kinesisvideo list-streams
  2. Jika aliran ada, periksa berikut ini.

    • Amazon Resource Name (ARN) sama dengan ARN dari aliran input untuk pemroses aliran.

    • Aliran video Kinesis berada di Wilayah yang sama dengan pemroses aliran.

    Jika prosesor stream tidak dikonfigurasi dengan benar, hapus dengan AWS CLI perintah berikut.

    aws rekognition delete-stream-processor --name stream-processor-name
  3. Buat pemroses aliran baru dengan aliran video Kinesis yang diinginkan. Untuk informasi selengkapnya, lihat Membuat prosesor aliran pencarian wajah Amazon Rekognition Video.

Kesalahan: “Koleksi tidak ditemukan”

Koleksi Amazon Rekognition yang digunakan oleh pemroses aliran untuk mencocokkan wajah tidak ada, atau koleksi yang salah yang sedang digunakan.

Untuk mengonfirmasi koleksi
  1. Gunakan AWS CLI perintah berikut untuk menentukan apakah koleksi yang diperlukan ada. Ubah region ke AWS Wilayah tempat Anda menjalankan prosesor streaming.

    aws rekognition list-collections --region region

    Jika koleksi yang diperlukan tidak ada, buat koleksi baru dan tambahkan informasi wajah. Untuk informasi selengkapnya, lihat Mencari wajah dalam koleksi.

  2. Dalam panggilan Anda ke CreateStreamProcessor, periksa apakah nilai parameter CollectionId input sudah benar.

  3. Mulai prosesor aliran dengan AWS CLI perintah berikut.

    aws rekognition start-stream-processor --name stream-processor-name

Kesalahan: “Streaming output-kinesis-data-stream-name di bawah akun-id akun tidak ditemukan

Aliran data Kinesis keluaran yang digunakan oleh prosesor aliran tidak ada di Wilayah Anda Akun AWS atau tidak di AWS Wilayah yang sama dengan prosesor aliran Anda.

Memecahkan masalah aliran data Kinesis
  1. Gunakan AWS CLI perintah berikut untuk menentukan apakah aliran data Kinesis ada. Ubah region ke AWS Wilayah tempat Anda menggunakan prosesor streaming.

    aws kinesis list-streams --region region
  2. Jika aliran data Kinesis ada, periksa apakah nama aliran data Kinesis tersebut sama dengan nama aliran output yang digunakan oleh pemroses aliran.

  3. Jika aliran data Kinesis tidak ada, mungkin ada di Wilayah lain AWS . Aliran data Kinesis harus berada di Wilayah yang sama dengan pemroses aliran.

  4. Jika perlu, buat aliran data Kinesis.

    1. Buat aliran data Kinesis dengan nama yang sama dengan nama yang digunakan oleh pemroses aliran. Untuk informasi selengkapnya, lihat Langkah 1: Buat aliran data.

    2. Mulai prosesor aliran dengan AWS CLI perintah berikut.

      aws rekognition start-stream-processor --name stream-processor-name

Pemroses aliran saya tidak memberikan hasil yang diharapkan

Jika pemroses aliran Anda tidak menampilkan kecocokan wajah yang diharapkan, gunakan informasi berikut.