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:
-
Bidang kontrol
Komponen bidang kontrol bertanggung jawab untuk membuat dan memelihara Kinesis Video Streams RTC dengan saluran pensinyalan Web. Untuk informasi selengkapnya, lihat Referensi Amazon Kinesis API Video Streams.
-
Pensinyalan
Komponen pensinyalan mengelola titik akhir RTC pensinyalan Web yang memungkinkan aplikasi terhubung dengan aman satu sama lain untuk peer-to-peer streaming media langsung. Komponen pensinyalan termasuk Amazon Kinesis Video REST APIs Signaling dan satu set Websocket. APIs
-
STUN
Komponen ini mengelola STUN endpoint yang memungkinkan aplikasi untuk menemukan alamat IP publik mereka ketika mereka berada di belakang firewall NAT atau firewall.
-
TURN
Komponen ini mengelola TURN titik akhir yang mengaktifkan relai media melalui cloud saat aplikasi tidak dapat melakukan streaming media peer-to-peer.
-
Web Kinesis Video Streams RTC SDKs
Ini adalah pustaka perangkat lunak yang dapat Anda unduh, instal, dan konfigurasikan pada perangkat dan klien aplikasi Anda untuk mengaktifkan perangkat IoT kamera Anda dengan kemampuan RTC Web untuk terlibat dalam streaming media peer-to-peer latensi rendah. Ini SDKs juga memungkinkan klien aplikasi Android, iOS, dan web untuk mengintegrasikan Kinesis Video Streams RTC dengan TURN pensinyalan Web,STUN, dan kemampuan dengan pemutar seluler atau web yang RTC sesuai dengan Web.