Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
GetMedia
Gunakan ini API untuk mengambil konten media dari aliran video Kinesis. Dalam permintaan, Anda mengidentifikasi nama streaming 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 selengkapnya, lihat PutMedia. GetMedia
APIMengembalikan aliran potongan ini mulai dari potongan yang Anda tentukan dalam permintaan.
GetMedia
APIIni dirancang untuk beroperasi sebagai streaming API melalui koneksi yang berjalan lama. Ini tidak dimaksudkan untuk digunakan RESTful dengan cara tradisional, di mana HTTP koneksi baru dibuat dan ditutup untuk setiap fragmen. Saat menggunakan GetMedia
API, gunakan pengkodean transfer HTTP chunked untuk mengirim fragmen terus menerus melalui koneksi persisten.
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 GetMedia
HTTP respons akan segera dikembalikan, tetapi pembacaan payload HTTP respons akan habis 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 dan badan respons, itu mencakup potongan-potongan informasi berikut: HTTP
-
x-amz-ErrorType
HTTPheader - berisi jenis kesalahan yang lebih spesifik selain apa yang disediakan kode HTTP status. -
x-amz-RequestId
HTTPheader — jika Anda ingin melaporkan masalah AWS, tim dukungan dapat mendiagnosis masalah dengan lebih baik jika diberi ID Permintaan.
Baik kode HTTP status 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.
Sintaks Permintaan
POST /getMedia HTTP/1.1
Content-type: application/json
{
"StartSelector": {
"AfterFragmentNumber": "string
",
"ContinuationToken": "string
",
"StartSelectorType": "string
",
"StartTimestamp": number
},
"StreamARN": "string
",
"StreamName": "string
"
}
URIParameter Permintaan
Permintaan tidak menggunakan URI parameter apa pun.
Isi Permintaan
Permintaan menerima data berikut dalam JSON format.
- StartSelector
-
Mengidentifikasi potongan awal untuk mendapatkan dari aliran yang ditentukan.
Tipe: Objek StartSelector
Wajib: Ya
- StreamARN
-
Aliran ARN dari tempat Anda ingin mendapatkan konten media. Jika Anda tidak menentukan
streamARN
, Anda harus menentukanstreamName
.Tipe: 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
.Tipe: 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 HTTP header 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 HTTP tubuh.
- 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
GetMedia
Matroska () tambahan berikut: MKV-
AWS_KINESISVIDEO_CONTINUATION_TOKEN (UTF-8 string) - 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 (UTF-8 string) - 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 GetMedia menyebabkan berhenti.
-
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 streaming KMS
-
4501 - KMS Kunci Stream dinonaktifkan
-
4502 - Kesalahan validasi pada kunci aliran KMS
-
4503 - KMS kunci yang ditentukan dalam aliran tidak tersedia
-
4504 - Penggunaan KMS kunci yang ditentukan dalam aliran tidak valid
-
4505 - Status KMS kunci yang ditentukan dalam aliran tidak valid
-
4506 - Tidak dapat menemukan KMS kunci 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.
HTTPKode Status: 400
- ConnectionLimitExceededException
-
Kinesis Video Streams telah membatasi permintaan karena Anda telah melampaui batas koneksi klien yang diizinkan.
HTTPKode Status: 400
- InvalidArgumentException
-
Nilai untuk parameter input ini tidak valid.
HTTPKode Status: 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
.HTTPKode Status: 400
- NotAuthorizedException
-
Penelepon tidak berwenang untuk melakukan operasi pada aliran yang diberikan, atau token telah kedaluwarsa.
HTTPKode Status: 401
- ResourceNotFoundException
-
Kode Status: 404, Aliran dengan nama yang diberikan tidak ada.
HTTPKode Status: 404
Lihat Juga
Untuk informasi selengkapnya tentang penggunaan ini API di salah satu bahasa khusus AWS SDKs, lihat berikut ini: