Kinesis API Video Streams dan dukungan pustaka produser - Amazon Kinesis Video Streams

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

Kinesis API Video Streams dan dukungan pustaka produser

Kinesis Video APIs Streams menyediakan bagi Anda untuk membuat dan mengelola aliran dan membaca atau menulis data media ke dan dari aliran. Konsol Kinesis Video Streams, selain fungsi administrasi, juga mendukung video-on-demand live dan playback. Kinesis Video Streams juga menyediakan serangkaian pustaka produser yang dapat Anda gunakan dalam kode aplikasi untuk mengekstrak data dari sumber media Anda dan mengunggah ke aliran video Kinesis Anda.

Kinesis Video Streams API

Kinesis Video APIs Streams menyediakan untuk membuat dan mengelola Kinesis Video Streams. Ini juga menyediakan APIs untuk membaca dan menulis data media ke aliran, sebagai berikut:

  • Produser API - Kinesis Video Streams PutMedia API menyediakan untuk menulis data media ke aliran video Kinesis. Dalam PutMedia permintaan, produsen mengirimkan aliran fragmen media. Fragmen adalah urutan bingkai mandiri. Bingkai milik fragmen seharusnya tidak memiliki ketergantungan pada frame apa pun dari fragmen lain. Untuk informasi selengkapnya, lihat PutMedia.

    Saat fragmen tiba, Kinesis Video Streams memberikan nomor fragmen unik, dalam urutan yang meningkat. Ini juga menyimpan stempel waktu sisi produsen dan sisi server untuk setiap fragmen, sebagai metadata khusus Kinesis Video Streams.

  • Konsumen APIs — Konsumen dapat menggunakan yang berikut ini APIs untuk mendapatkan data dari aliran:

    • GetMedia- Saat menggunakan iniAPI, konsumen harus mengidentifikasi fragmen awal. APIKemudian mengembalikan fragmen dalam urutan di mana mereka ditambahkan ke aliran (dalam urutan meningkat dengan nomor fragmen). Data media dalam fragmen dikemas ke dalam format terstruktur seperti Matroska () MKV. Untuk informasi selengkapnya, lihat GetMedia.

      catatan

      GetMediatahu di mana fragmen berada (diarsipkan di penyimpanan data atau tersedia secara real time). Misalnya, jika GetMedia menentukan bahwa fragmen awal diarsipkan, ia mulai mengembalikan fragmen dari penyimpanan data. Ketika harus mengembalikan fragmen baru yang belum diarsipkan, GetMedia beralih ke membaca fragmen dari buffer aliran dalam memori.

      Ini adalah contoh konsumen berkelanjutan, yang memproses fragmen dalam urutan yang dicerna oleh aliran.

      GetMediamemungkinkan aplikasi pemrosesan video gagal atau tertinggal, dan kemudian mengejar ketinggalan tanpa upaya tambahan. Dengan menggunakanGetMedia, aplikasi dapat memproses data yang diarsipkan di penyimpanan data, dan saat aplikasi menyusul, GetMedia terus memberi makan data media secara real time saat tiba.

    • GetMediaFromFragmentList(danListFragments) - Aplikasi pemrosesan batch dianggap konsumen offline. Konsumen offline dapat memilih untuk secara eksplisit mengambil fragmen media tertentu atau rentang video dengan menggabungkan dan. ListFragments GetMediaFromFragmentList APIs ListFragmentsdan GetMediaFromFragmentList memungkinkan aplikasi untuk mengidentifikasi segmen video untuk rentang waktu atau rentang fragmen tertentu, dan kemudian mengambil fragmen tersebut baik secara berurutan atau paralel untuk diproses. Pendekatan ini cocok untuk suite MapReduce aplikasi, yang harus dengan cepat memproses sejumlah besar data secara paralel.

      Misalnya, seorang konsumen ingin memproses fragmen video satu hari. Konsumen akan melakukan hal berikut:

      1. Dapatkan daftar fragmen dengan memanggil ListFragments API dan menentukan rentang waktu untuk memilih koleksi fragmen yang diinginkan.

        APIPengembalian metadata dari semua fragmen dalam rentang waktu yang ditentukan. Metadata menyediakan informasi seperti nomor fragmen, stempel waktu sisi produsen dan sisi server, dan sebagainya.

      2. Ambil daftar metadata fragmen dan ambil fragmen, dalam urutan apa pun. Misalnya, untuk memproses semua fragmen untuk hari itu, konsumen dapat memilih untuk membagi daftar menjadi subdaftar dan meminta pekerja (misalnya, beberapa EC2 instance Amazon) mengambil fragmen secara paralel menggunakanGetMediaFromFragmentList, dan memprosesnya secara paralel.

Diagram berikut menunjukkan aliran data untuk fragmen dan potongan selama panggilan iniAPI.

Diagram yang menunjukkan aliran data untuk fragmen dan chuck selama panggilan API

Ketika produser mengirim PutMedia permintaan, ia mengirimkan metadata media di payload, dan kemudian mengirimkan urutan fragmen data media. Setelah menerima data, Kinesis Video Streams menyimpan data media yang masuk sebagai potongan Kinesis Video Streams. Setiap potongan terdiri dari yang berikut:

  • Salinan metadata media

  • Sebuah fragmen

  • Metadata khusus Kinesis Video Streams; misalnya, nomor fragmen dan stempel waktu sisi server dan sisi produsen

Saat konsumen meminta metadata media, Kinesis Video Streams menampilkan aliran potongan, dimulai dengan nomor fragmen yang Anda tentukan dalam permintaan.

Jika Anda mengaktifkan persistensi data untuk aliran, setelah menerima fragmen di aliran, Kinesis Video Streams juga menyimpan salinan fragmen ke penyimpanan data.

Pola penemuan titik akhir

Pesawat Kontrol REST APIs

Untuk mengakses Bidang REST APIs Kontrol Aliran Video Kinesis, gunakan titik akhir layanan Kinesis Video Streams.

Pesawat Data REST APIs

Kinesis Video Streams dibangun menggunakan arsitektur seluler untuk memastikan properti penskalaan dan isolasi lalu lintas yang lebih baik. Karena setiap aliran dipetakan ke sel tertentu di suatu wilayah, aplikasi Anda harus menggunakan titik akhir spesifik sel yang benar tempat aliran Anda telah dipetakan. Saat mengakses Data Plane RESTAPIs, Anda harus mengelola dan memetakan titik akhir yang benar sendiri. Proses ini, pola penemuan titik akhir, dijelaskan di bawah ini:

  1. Pola penemuan titik akhir dimulai dengan panggilan ke salah satu GetEndpoints tindakan. Tindakan ini milik Control Plane.

  2. Cache dan gunakan kembali titik akhir.

  3. Jika titik akhir yang di-cache tidak lagi berfungsi, buat panggilan baru GetEndpoints untuk menyegarkan titik akhir.

Perpustakaan produser

Setelah Anda membuat aliran video Kinesis, Anda dapat mulai mengirim data ke aliran. Dalam kode aplikasi Anda, Anda dapat menggunakan pustaka ini untuk mengekstrak data dari sumber media Anda dan mengunggah ke aliran video Kinesis Anda. Untuk informasi selengkapnya tentang pustaka produser yang tersedia, lihatUnggah ke Kinesis Video Streams.