View a markdown version of this page

Pemecahan masalah - Amazon Kinesis Video Streams

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

Pemecahan masalah

Gambar tidak dikirim ke bucket Amazon S3

Untuk mengatasi masalah ini, ada beberapa hal yang harus diwaspadai:

  1. Izin tidak ada

  2. Konfigurasi pembuatan gambar tidak benar

  3. Tag tidak ditambahkan ke fragmen

Izin tidak ada

Jika Anda menggunakan kunci KMS yang dikelola pelanggan, pastikan peran yang melakukan PutMedia panggilan (pengunggah) memiliki izin enkripsi dan dekripsi yang sesuai, serta memiliki akses ke bucket Amazon S3, sebagai berikut:

  • kms:Encrypt

  • kms:GenerateDataKey

  • kms:Decrypt

  • s3:PutObject

Untuk informasi selengkapnya, lihat Bagaimana cara memulai dengan enkripsi sisi server?.

Verifikasi tujuan

Gunakan AWS CLI untuk memanggil DescribeImageGenerationConfiguration API untuk streaming Anda.

aws kinesisvideo describe-image-generation-configuration \ --stream-name "demo-stream"

Tinjau DestinationConfig dalam respons dan konfirmasikan itu terlihat benar.

Verifikasi bahwa tag pembuatan gambar telah ditambahkan ke fragmen

  1. Periksa apakah putKinesisVideoEventMetadata panggilan berhasil.

    putKinesisVideoEventMetadataMetode mengembalikan kode status 0 setelah berhasil. Kami merekomendasikan untuk memeriksa nilai pengembalian fungsi untuk 0. Jika kode status bukan nol dikembalikan, ubah menjadi hex dan periksa Referensi kode kesalahan untuk informasi lebih lanjut.

    Pastikan Anda mengaktifkan log kesalahan dan tinjau log untuk kesalahan lain dalam aplikasi. Tinjau dan bandingkan pola panggilan pengiriman bingkai aplikasi Anda dengan implementasi yang disarankan:Menambahkan tag pembuatan gambar ke fragmen.

  2. Verifikasi file MKV yang dihasilkan secara lokal

    Konfirmasikan bahwa Producer SDK atau Contoh Aplikasi menambahkan tag dengan benar.

    1. Mengatur variabel KVS_DEBUG_DUMP_DATA_FILE_DIR lingkungan. Jika nilai ini disetel, Producer SDK akan menulis file media yang akan dikirim ke Kinesis Video Streams ke lokasi yang ditentukan.

      export KVS_DEBUG_DUMP_DATA_FILE_DIR=/path/to/output/directory
      catatan

      SDK tidak akan membuat direktori baru jika jalur tidak ada. Buat folder jika perlu.

    2. Jalankan aplikasi lagi. Anda akan melihat .mkv file yang ditulis ke direktori output yang ditentukan.

    3. Verifikasi konten untuk memastikan tag hadir menggunakan MKVToolNix, atau perangkat lunak lain.

      1. Instal MKVToolNix: brew install mkvtoolnix

      2. Jalankan MKVToolNix dengan salah satu .mkv file di direktori output.

        mkvinfo -v ./path/to/video/file
      3. Tinjau MKVToolNix outputnya. Jika metode SDK KinesisVideoStream::PutFragmentMetadata produsen dipanggil dengan benar, Anda akan melihat tag MKV berikut.

        |+ Tags | + Tag | + Simple | + Name: AWS_KINESISVIDEO_IMAGE_GENERATION
        catatan

        Tag milik Cluster sebelumnya.

    4. Jika tag MKV tidak ada, pastikan bahwa metode SDK KinesisVideoStream::PutEventMetadata produsen telah dipanggil dengan STREAM_EVENT_TYPE_IMAGE_GENERATION argumen, dan bahwa itu mengembalikan kode sukses (0).