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. GetMedia
API 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-ErrorType
Header HTTP - berisi jenis kesalahan yang lebih spesifik selain apa yang disediakan kode status HTTP. -
x-amz-RequestId
Header 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 menentukan
streamARN
, 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 menentukan
streamName
, 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
denganAPIName
set kePUT_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: