GetMedia - Amazon Kinesis Video Streams

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

GetMedia

Gunakan API ini untuk mengambil konten media dari aliran video Kinesis. Dalam permintaan, Anda mengidentifikasi nama aliran atau streaming Amazon Resource Name (ARN), dan potongan awal. Kinesis Video Streams kemudian mengembalikan aliran potongan secara berurutan berdasarkan nomor fragmen.

catatan

Anda harus terlebih dahulu memanggil GetDataEndpoint API untuk mendapatkan titik akhir. Kemudian kirim GetMedia permintaan ke titik akhir ini menggunakan parameter --endpoint-url.

Saat Anda meletakkan data media (fragmen) di aliran, Kinesis Video Streams menyimpan setiap fragmen yang masuk dan metadata terkait dalam apa yang disebut “potongan”. Untuk informasi lebih lanjut, lihat PutMedia. GetMediaAPI mengembalikan aliran potongan ini mulai dari potongan yang Anda tentukan dalam permintaan.

Batasan berikut berlaku saat menggunakan GetMedia API:

  • Klien dapat menelepon GetMedia hingga lima kali per detik per aliran.

  • Kinesis Video Streams mengirimkan data media dengan kecepatan hingga 25 megabyte per detik (atau 200 megabit per detik) selama sesi. GetMedia

catatan

Kode status respons GetMedia HTTP akan segera dikembalikan, tetapi pembacaan payload respons HTTP akan habis waktu setelah 3 detik jika tidak ada fragmen yang tertelan yang tersedia untuk pemutaran.

catatan

Jika kesalahan muncul setelah menjalankan API media Kinesis Video Streams, selain kode status HTTP dan badan respons, itu mencakup potongan-potongan informasi berikut:

  • x-amz-ErrorTypeHeader HTTP - berisi jenis kesalahan yang lebih spesifik selain apa yang disediakan kode status HTTP.

  • x-amz-RequestIdHeader HTTP - jika Anda ingin melaporkan masalah AWS, tim dukungan dapat mendiagnosis masalah dengan lebih baik jika diberi ID Permintaan.

Baik kode status HTTP dan ErrorType header dapat digunakan untuk membuat keputusan terprogram tentang apakah kesalahan dapat dicoba ulang dan dalam kondisi apa, serta memberikan informasi tentang tindakan apa yang mungkin perlu dilakukan oleh programmer klien agar berhasil mencoba lagi.

Untuk informasi selengkapnya, lihat bagian Kesalahan di bagian bawah topik ini, serta Kesalahan Umum.

Minta Sintaks

POST /getMedia HTTP/1.1 Content-type: application/json { "StartSelector": { "AfterFragmentNumber": "string", "ContinuationToken": "string", "StartSelectorType": "string", "StartTimestamp": number }, "StreamARN": "string", "StreamName": "string" }

Parameter Permintaan URI

Permintaan tidak menggunakan parameter URI apa pun.

Isi Permintaan

Permintaan menerima data berikut dalam format JSON.

StartSelector

Mengidentifikasi potongan awal untuk mendapatkan dari aliran yang ditentukan.

Tipe: Objek StartSelector

Wajib: Ya

StreamARN

ARN aliran dari mana Anda ingin mendapatkan konten media. Jika Anda tidak menentukanstreamARN, Anda harus menentukanstreamName.

Jenis: String

Batasan Panjang: Panjang minimum 1. Panjang maksimum 1024.

Pola: arn:[a-z\d-]+:kinesisvideo:[a-z0-9-]+:[0-9]+:[a-z]+/[a-zA-Z0-9_.-]+/[0-9]+

Wajib: Tidak

StreamName

Nama aliran video Kinesis dari tempat Anda ingin mendapatkan konten media. Jika Anda tidak menentukanstreamName, Anda harus menentukanstreamARN.

Jenis: String

Batasan Panjang: Panjang minimum 1. Panjang maksimum 256.

Pola: [a-zA-Z0-9_.-]+

Diperlukan: Tidak

Sintaksis Respons

HTTP/1.1 200 Content-Type: ContentType Payload

Elemen Respons

Jika tindakan berhasil, layanan mengirimkan kembali respons HTTP 200.

Respons mengembalikan header HTTP berikut.

ContentType

Jenis konten media yang diminta.

Batasan Panjang: Panjang minimum 1. Panjang maksimum 128.

Pola: ^[a-zA-Z0-9_\.\-]+$

Respons mengembalikan yang berikut sebagai isi HTTP.

Payload

Pengembalian Kinesis Video Streams payload adalah urutan potongan dari aliran yang ditentukan. Untuk informasi lebih lanjut tentang potongan, lihat. PutMedia Potongan yang ditampilkan Kinesis Video Streams dalam panggilan juga menyertakan tag Matroska GetMedia (MKV) tambahan berikut:

  • AWS_KINESISVIDEO_CONTINUATION_TOKEN (string UTF-8) - Jika GetMedia panggilan Anda berakhir, Anda dapat menggunakan token kelanjutan ini dalam permintaan berikutnya untuk mendapatkan potongan berikutnya di mana permintaan terakhir dihentikan.

  • AWS_KINESISVIDEO_MILLIS_BEHIND_NOW (string UTF-8) - Aplikasi klien dapat menggunakan nilai tag ini untuk menentukan seberapa jauh di belakang potongan yang dikembalikan dalam respons dari potongan terbaru di aliran.

  • AWS_KINESISVIDEO_FRAGMENT_NUMBER - Nomor fragmen dikembalikan dalam potongan.

  • AWS_KINESISVIDEO_SERVER_TIMESTAMP - Stempel waktu server dari fragmen.

  • AWS_KINESISVIDEO_PRODUCER_TIMESTAMP - Stempel waktu produsen fragmen.

Tag berikut akan hadir jika terjadi kesalahan:

  • AWS_KINESISVIDEO_ERROR_CODE - Deskripsi string dari kesalahan yang menyebabkan berhenti. GetMedia

  • AWS_KINESISVIDEO_ERROR_ID: Kode bilangan bulat dari kesalahan.

Kode kesalahan adalah sebagai berikut:

  • 3002 - Kesalahan menulis ke aliran

  • 4000 - Fragmen yang diminta tidak ditemukan

  • 4500 - Akses ditolak untuk kunci KMS stream

  • 4501 - Kunci KMS Stream dinonaktifkan

  • 4502 - Kesalahan validasi pada kunci KMS aliran

  • 4503 - Kunci KMS yang ditentukan dalam aliran tidak tersedia

  • 4504 - Penggunaan kunci KMS tidak valid yang ditentukan dalam aliran

  • 4505 - Status kunci KMS tidak valid yang ditentukan dalam aliran

  • 4506 - Tidak dapat menemukan kunci KMS yang ditentukan dalam aliran

  • 5000 - Kesalahan internal

Kesalahan

Untuk informasi tentang kesalahan yang umum untuk semua tindakan, lihat Kesalahan Umum.

ClientLimitExceededException

Kinesis Video Streams telah membatasi permintaan karena Anda telah melampaui batas panggilan klien yang diizinkan. Coba buat panggilan nanti.

Kode Status HTTP: 400

ConnectionLimitExceededException

Kinesis Video Streams telah membatasi permintaan karena Anda telah melampaui batas koneksi klien yang diizinkan.

Kode Status HTTP: 400

InvalidArgumentException

Nilai untuk parameter input ini tidak valid.

Kode Status HTTP: 400

InvalidEndpointException

Penelepon menggunakan titik akhir yang salah untuk menulis data ke aliran. Saat menerima pengecualian seperti itu, pengguna harus memanggil GetDataEndpoint dengan APIName set ke PUT_MEDIA dan menggunakan titik akhir dari respons untuk memanggil panggilan berikutnyaPutMedia.

Kode Status HTTP: 400

NotAuthorizedException

Penelepon tidak berwenang untuk melakukan operasi pada aliran yang diberikan, atau token telah kedaluwarsa.

Kode Status HTTP: 401

ResourceNotFoundException

Kode Status: 404, Aliran dengan nama yang diberikan tidak ada.

Kode Status HTTP: 404

Lihat Juga

Untuk informasi selengkapnya tentang penggunaan API ini di salah satu AWS SDK khusus bahasa, lihat berikut ini: