Cara kerjanya - Kinesis Video Streams

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

Cara kerjanya

Amazon Kinesis Video Streams RTC dengan Web memungkinkan komunikasi video real-time antara browser web, perangkat seluler, dan aplikasi berkemampuan Web RTC lainnya. Ini menyediakan infrastruktur yang aman dan terukur untuk membangun aplikasi streaming video, menangani tugas-tugas seperti pensinyalan, streaming media, dan integrasi dengan layanan lain AWS . Bagian ini menjelaskan arsitektur, komponen, dan alur kerja layanan yang mendasari, membantu menjelaskan prinsip dan mekanisme desainnya.

Konsep utama

Berikut ini adalah istilah dan konsep kunci khusus untuk Amazon Kinesis Video RTC Streams dengan Web.

Saluran pensinyalan

Sumber daya yang memungkinkan aplikasi menemukan, mengatur, mengontrol, dan mengakhiri peer-to-peer koneksi dengan bertukar pesan sinyal. Pesan sinyal adalah metadata yang dipertukarkan dua aplikasi satu sama lain untuk membangun konektivitas. peer-to-peer Metadata ini mencakup informasi media lokal, seperti codec media dan parameter codec, dan kemungkinan jalur kandidat jaringan untuk kedua aplikasi untuk terhubung satu sama lain untuk streaming langsung.

Aplikasi streaming dapat mempertahankan konektivitas persisten dengan saluran pensinyalan dan menunggu aplikasi lain terhubung dengannya. Atau, mereka dapat terhubung ke saluran pensinyalan hanya ketika mereka perlu melakukan streaming langsung media. Saluran pensinyalan memungkinkan aplikasi untuk terhubung satu sama lain dalam sebuah one-to-few model, menggunakan konsep satu master yang terhubung ke beberapa pemirsa. Aplikasi yang memulai koneksi memikul tanggung jawab master menggunakan ConnectAsMaster API dan menunggu pemirsa. Hingga 10 aplikasi kemudian dapat terhubung ke saluran pensinyalan itu dengan memikul tanggung jawab pemirsa dengan memanggil. ConnectAsViewer API Setelah terhubung ke saluran pensinyalan, aplikasi master dan penampil dapat saling mengirim pesan sinyal untuk membangun peer-to-peer konektivitas untuk streaming media langsung.

Sebaya

Perangkat atau aplikasi apa pun (misalnya, aplikasi seluler atau web, kamera web, kamera keamanan rumah, monitor bayi, dll.) yang dikonfigurasi untuk streaming dua arah real-time melalui Kinesis Video Streams dengan Web. RTC

Tuan

Rekan yang memulai koneksi dan terhubung ke saluran pensinyalan dengan kemampuan untuk menemukan dan bertukar media dengan pemirsa terhubung saluran sinyal mana pun.

penting

Saat ini, saluran pensinyalan hanya dapat memiliki satu master.

Pemirsa

Rekan yang terhubung ke saluran pensinyalan dengan kemampuan untuk menemukan dan bertukar media hanya dengan master saluran pensinyalan. Penampil tidak dapat menemukan atau berinteraksi dengan pemirsa lain melalui saluran pensinyalan tertentu. Saluran pensinyalan dapat memiliki hingga 10 pemirsa yang terhubung.

Konsep teknologi

Saat Anda memulai Kinesis Video Streams RTC dengan Web, Anda juga dapat memperoleh manfaat dari mempelajari beberapa APIs protokol yang saling terkait dan yang terdiri dari teknologi Web. RTC

Utilitas Penjelajahan Sesi untuk NAT () STUN

Protokol yang digunakan untuk menemukan alamat publik Anda dan menentukan batasan apa pun di router Anda yang akan mencegah koneksi langsung dengan rekan.

Traversal Menggunakan Relay around NAT () TURN

Server yang digunakan untuk melewati NAT pembatasan Symmetric dengan membuka koneksi dengan TURN server dan menyampaikan semua informasi melalui server itu.

Protokol Deskripsi Sesi (SDP)

Standar untuk menggambarkan konten multimedia dari koneksi seperti resolusi, format, codec, enkripsi, dll. Sehingga kedua rekan dapat saling memahami setelah data ditransfer.

SDPPenawaran

SDPPesan yang dikirim oleh agen yang menghasilkan deskripsi sesi untuk membuat atau memodifikasi sesi. Ini menggambarkan aspek komunikasi media yang diinginkan.

SDPMenjawab

SDPPesan yang dikirim oleh penjawab sebagai tanggapan atas tawaran yang diterima dari penawaran. Jawabannya menunjukkan aspek-aspek yang diterima. Misalnya, jika semua aliran audio dan video dalam penawaran diterima.

Pembentukan Konektivitas Interaktif (ICE)

Kerangka kerja yang memungkinkan browser web Anda terhubung dengan rekan-rekan.

ICEKandidat

Metode yang dapat digunakan rekan pengirim untuk berkomunikasi.

BagaimanaSTUN, TURN dan ICE bekerja sama

Mari kita ambil skenario dua rekan, A dan B, yang keduanya menggunakan streaming media dua arah RTC peer to peer Web (misalnya, aplikasi obrolan video). Apa yang terjadi ketika A ingin memanggil B?

Untuk terhubung ke aplikasi B, aplikasi A harus menghasilkan SDP penawaran. SDPPenawaran berisi informasi tentang sesi A yang ingin dibuat oleh aplikasi, termasuk codec apa yang akan digunakan, apakah ini sesi audio atau video, dll. Ini juga berisi daftar ICE kandidat, yang merupakan pasangan IP dan port yang aplikasi B dapat coba gunakan untuk terhubung ke A.

Untuk membangun daftar ICE kandidat, aplikasi A membuat serangkaian permintaan ke STUN server. Server mengembalikan alamat IP publik dan pasangan port yang berasal dari permintaan. Aplikasi A menambahkan setiap pasangan ke daftar ICE kandidat, dengan kata lain, ia mengumpulkan ICE kandidat. Setelah aplikasi A selesai mengumpulkan ICE kandidat, itu dapat mengembalikan fileSDP.

Selanjutnya, aplikasi A harus meneruskan aplikasi SDP to B melalui saluran pensinyalan di mana aplikasi ini berkomunikasi. Protokol transport untuk pertukaran ini tidak ditentukan dalam RTC standar Web. Hal ini dapat dilakukan melaluiHTTPS, aman WebSocket, atau protokol komunikasi lainnya.

Sekarang, aplikasi B harus menghasilkan SDP jawaban. Aplikasi B mengikuti langkah yang sama A yang digunakan pada langkah sebelumnya: mengumpulkan ICE kandidat, dll. Aplikasi B kemudian perlu mengembalikan SDP jawaban ini ke aplikasi A.

Setelah A dan B bertukarSDPs, mereka kemudian melakukan serangkaian pemeriksaan konektivitas. ICEAlgoritma dalam setiap aplikasi mengambil IP/port pair from the list it received in the other party's SDP, and sends it a STUN request. If a response comes back from the other application, the originating application considers the check successful and marks that IP/port pasangan kandidat sebagai ICE kandidat yang valid.

Setelah pemeriksaan konektivitas selesai pada semua pasangan IP/port, aplikasi bernegosiasi dan memutuskan untuk menggunakan salah satu pasangan yang tersisa dan valid. Ketika pasangan dipilih, media mulai mengalir di antara aplikasi.

Jika salah satu aplikasi tidak dapat menemukan pasangan IP/port yang melewati pemeriksaan konektivitas, mereka akan membuat STUN permintaan ke TURN server untuk mendapatkan alamat relay media. Alamat relay adalah alamat IP publik dan port yang meneruskan paket yang diterima ke dan dari aplikasi untuk mengatur alamat relay. Alamat relay ini kemudian ditambahkan ke daftar kandidat dan dipertukarkan melalui saluran pensinyalan.

Komponen-komponen

Kinesis Video Streams RTC dengan Web mencakup komponen-komponen berikut: