Persyaratan • Penerbitan • Berlangganan
Red5 Pro HTML Streaming Testbed
Repositori ini berisi proyek sederhana dengan sejumlah contoh yang dapat digunakan untuk pengujian dan referensi untuk Red5 Pro WebRTC SDK.
Persyaratan
Anda akan memerlukan fungsional, menjalankan Red5 Pro Server Web- (atau lokal-) yang dapat diakses untuk browser klien (seluler & desktop) untuk terhubung.
Untuk informasi lebih lanjut, kunjungi https://www.red5.net/.
KEBAITAN BROWSER
Red5 Pro WebRTC SDK bertujuan untuk memanfaatkan WebRTC untuk solusi streamingnya (baik penerbitan dan berlangganan), tetapi juga menyediakan dukungan HLS untuk browser yang mendukungnya secara asli (misalnya, seluler dan desktop safari).
Informasi lebih lanjut tentang kepatuhan browser dapat dilihat di WebRTC Peer Connnection Information di caniuse.com.
Penerbit
Istilah penerbit dalam konteks Red5 Pro mengacu pada klien yang menghasilkan aliran siaran. Ada dua jenis contoh dari SDK yang dapat digunakan untuk memulai penerbit :
-
WHIPClient - WHIPClient bergantung pada protocl konsumsi WebRTC -HTTP untuk membuat koneksi melalui serangkaian permintaan HTTP/S. -
RTCPublisher - RTCPublisher bergantung pada koneksi WebSocket untuk membuat sesi siaran.
Urutan koneksi WHEPClient sangat cepat - ~ 1 detik - sedangkan RTCPublisher , karena ketergantungannya pada WebSocket dapat memakan waktu sekitar 3 - 5 detik untuk koneksi ke streaming.
Pelanggan
Istilah pelanggan dalam konteks Red5 Pro mengacu pada klien yang mengkonsumsi dan memutar kembali aliran siaran langsung. Ada tiga jenis contoh dari SDK yang dapat digunakan untuk memulai pelanggan :
-
WHEPClient - WHEPClient bergantung pada protokol Egress WebRTC -HTTP untuk membuat koneksi melalui serangkaian permintaan HTTP/S. -
RTCSubscriber - RTCSubscriber bergantung pada koneksi WebSocket untuk membuat sesi siaran. -
HLSSubscriber - HLSSubscriber bergantung pada kemampuan asli untuk memutar aliran HLS (misalnya, seluler dan safari desktop).
Urutan koneksi WHEPClient sangat cepat - ~ 1 detik - sedangkan RTCPublisher , karena ketergantungannya pada WebSocket dapat memakan waktu sekitar 3 - 5 detik untuk koneksi ke streaming
HLSSubscriber tidak melalui urutan koneksi dan mengalirkan HLS langsung dari server, namun ia memiliki latensi hingga 6 detik karena panjang segmen hidupnya.
CATATAN : WHIPClient dan WHEPClient diperkenalkan dalam rilis 11.0.0 dari Red5 Pro WebRTC SDK.
Pengaturan
Anda perlu memodifikasi bidang host dari halaman Pengaturan untuk menunjuk ke alamat IP instance server Anda. Jika tidak, contoh tidak akan berfungsi saat Anda membangun. Jika Anda menjalankan server secara lokal, maka mesin dan perangkat seluler Anda harus berada di jaringan WiFi yang sama.
Catatan tentang TLS dan CORS
Penting untuk dicatat bahwa beberapa contoh ini - khususnya yang melibatkan penerbitan menggunakan WEBRTC - perlu dijalankan pada TLS dan, dengan demikian, dilayani di atas HTTPS. Jika menjalankan contoh -contoh di localhost Anda tidak boleh melihat masalah, tetapi jika server Anda digunakan dari jarak jauh, Anda harus memastikan bahwa contoh -contoh ini dilayani melalui HTTPS dan pengaturan Sumber Sumber Berbagi Sumber Daya Salib yang tepat (CORS) didefinisikan untuk server.
- Baca lebih lanjut tentang Red5 Pro dan SSL.
- Informasi lebih lanjut tentang CORS.
Instruksi
Untuk menentukan alamat IP instance server, buka Webapp Testbed di browser dan navigasikan ke halaman Pengaturan jika tidak disajikan saat peluncuran. Untuk mengakses pengaturan kembali, pilih item beranda dari daftar contoh yang terletak di bagian atas.
Untuk menentukan host dengan IP instance server, klik bidang host F dan masukkan alamat IP lokal atau jarak jauh - misalnya, 10.0.0.5 , 76.199.199.199 .
Petunjuk: Anda juga dapat membuka halaman pendaratan dari instance server Anda di port 5080 (yaitu, http://localhost:5080 jika diluncurkan secara lokal) dan halaman akan menampilkan IP-nya di sudut kanan atas.
Opsi Pengaturan WHIP/WHEP
Anda dapat memilih untuk lebih memilih WHIP/WHEP dari halaman Pengaturan . Dengan memilih opsi ini, semua tes akan memanfaatkan WHEPClient dan WHIPClient untuk penerbitan dan berlangganan, masing -masing.
Jika Anda memutuskan untuk memilih opsi WHIP/WHEP , semua tes akan kembali menggunakan RTCPublisher dan RTCSubscriber untuk masing-masing penerbitan dan subscibing. Contoh -contoh ini memerlukan dukungan websocket di browser selama tahap negosiasi mereka. Setelah koneksi dibuat, sistem transportasi pesan beralih ke RTCDataChannel dan Websocket ditutup.
Contoh
Penerbitan
| Penerbit |
|---|
Contoh Penerbit Dasar Menggunakan WebRTC, dengan opsi untuk menggunakan konsumsi WebRTC-HTTP (alias, WHIP ) atau WebSockets untuk membuat koneksi siaran. |
| 1080p |
|---|
| Penerbit berkualitas tinggi. |
| Menambahkan |
|---|
| Menunjukkan merekam aliran ke server dengan opsi append. |
| Otentikasi |
|---|
| Menunjukkan otentikasi dengan plugin-auth-plugin untuk penerbitan. |
| Sumber kamera |
|---|
| Menunjukkan memilih kamera yang diinginkan untuk diterbitkan. |
| Pertukaran Kamera |
|---|
Menunjukkan permintaan untuk MediaStream dengan sumber video yang ditentukan untuk kendala berdasarkan kamera belakang dan depan menghadap ke perangkat seluler dan browser yang mendukung facingMode Media Contraints. |
| Pengaturan Kustom |
|---|
| Memungkinkan Anda untuk menyesuaikan pengaturan siaran media untuk penerbit WebRTC. |
| Pengaturan Audio Kustom |
|---|
| Memungkinkan Anda untuk menyesuaikan pengaturan audio untuk penerbit WebRTC. |
| Pertukaran Mediastream |
|---|
Demonstrasi menggunakan replaceTrack untuk bertukar sumber kamera yang berbeda secara dinamis untuk penerbit berbasis WEBRTC. |
| Capture Capture |
|---|
| Menunjukkan menangkap gambar video langsung yang diterbitkan. |
| Bisu |
|---|
| Audio yang membisukan dan tidak terkelupas untuk video langsung yang diterbitkan. |
| Catatan |
|---|
| Menunjukkan merekam aliran ke pemutaran server untuk VOD (video-on-demand). |
| Menambahkan |
|---|
| Menunjukkan fungsi perkembangan rekaman aliran ke server untuk pemutaran VOD (video-on-demand). |
| Panggilan jarak jauh |
|---|
| Menunjukkan mengirim pesan jarak jauh ke semua klien yang berlangganan. |
| Otentikasi perjalanan pulang pergi |
|---|
| Contoh memanfaatkan otentikasi pulang-pergi dengan Red5 Pro. |
| Bagikan Layar |
|---|
Contoh memanfaatkan kemampuan berbagi layar Chrome dan Firefox . Untuk digunakan dengan contoh berbagi layar. |
| Objek bersama |
|---|
| Demonstrasi menggunakan objek bersama jarak jauh untuk mengirim dan menerima informasi antara klien yang terhubung. |
| Dorong aliran media sosial |
|---|
| Contoh menyalakan ulang streaming langsung ke platform media sosial. |
| VP8 |
|---|
| Contoh untuk meminta VP8 Video Codec di Publish |
Penerbitan - Contoh Manajer Stream
| Manajer aliran |
|---|
| Menunjukkan menggunakan API Red5 Pro Stream Manager untuk menerbitkan ke asal cluster autoscaling. |
| Proxy Manajer Stream |
|---|
| Menunjukkan menggunakan Red5 Pro Stream Manager sebagai proxy SSL Websocket untuk menerbitkan WebRTC ke asal kluster autoscaling. |
| Kamera Proxy Manajer Streaming Pilih |
|---|
| Menunjukkan menggunakan Red5 Pro Stream Manager sebagai proxy SSL Websocket untuk menerbitkan WebRTC ke asal kluster autoscaling dengan kamera Select. |
| Pengaturan Proxy Manajer Stream |
|---|
| Menunjukkan menggunakan Red5 Pro Stream Manager sebagai proxy SSL Websocket untuk menerbitkan WEBRTC dengan pengaturan video khusus ke asal kluster autoscaling. |
| Pengaturan Proxy Manajer Stream dengan audio |
|---|
| Menunjukkan menggunakan Red5 Pro Stream Manager sebagai proxy SSL Websocket untuk menerbitkan WebRTC dengan pengaturan audio khusus ke asal kluster autoscaling. |
| Authentionion Perjalanan Proksi Manajer Stream |
|---|
| Contoh memanfaatkan otentikasi pulang-pergi dengan Red5 Pro Over Stream Manager Proxy. |
| Bagikan Layar Proxy Manajer Stream |
|---|
| Contoh memanfaatkan kemampuan berbagi layar Chrome dan Firefox . Untuk digunakan dengan contoh proxy stream managy berlangganan contoh layar. |
| Push Stream Proxy Proxy Social Media Stream Push |
|---|
| Contoh menyalakan ulang streaming langsung ke platform media sosial. |
| Formulir Penyediaan Transcode Manajer Stream |
|---|
| Memberikan formulir yang mudah untuk memposting ketentuan baru kepada manajer aliran untuk siaran ABR. Setelah ketentuan diposting, gunakan encoder media favorit Anda untuk menyiarkan varian. |
| Transcoder Proxy Manajer Stream |
|---|
| Memberikan formulir yang mudah untuk memposting ketentuan baru kepada manajer aliran untuk siaran ABR dan untuk memulai satu varian siaran menggunakan transcoder. |
| Transcoder Proxy Manajer Stream dengan otentikasi |
|---|
| Memberikan formulir yang mudah untuk memposting ketentuan baru kepada Manajer Stream untuk siaran ABR dan untuk memulai satu varian siaran menggunakan transcoder, termasuk otentikasi. |
| Validasi Proxy Manajer Stream |
|---|
| Contoh menggunakan parameter validasi dengan proxy Red5 Pro Over Stream Manager. |
Multi
| Dua arah |
|---|
| Menunjukkan penerbitan secara bersamaan saat berlangganan - memungkinkan percakapan. Termasuk deteksi aliran dan koneksi otomatis. |
| Proxy Manajer Aliran Dua Jalan |
|---|
| Contoh dua arah melalui manajer aliran - termasuk penggunaan proxy. Termasuk deteksi aliran dan koneksi otomatis. |
| Konferensi |
|---|
| Menunjukkan komunikasi multi-partai menggunakan Red5 Pro. Ini juga menunjukkan menggunakan objek bersama sebagai pemberitahuan untuk mengenali penambahan dan penghapusan penyiaran pihak. |
| Konferensi - Manajer Aliran |
|---|
| Menunjukkan komunikasi multi-partai menggunakan Red5 Pro Over Stream Manager. Ini juga menunjukkan menggunakan objek bersama sebagai pemberitahuan untuk mengenali penambahan dan penghapusan penyiaran pihak. |
| Objek bersama (hanya websockets) |
|---|
| Menunjukkan penggunaan objek bersama melalui proxy WebSocket dari Red5 Pro HTML SDK. |
Berlangganan
| Pelanggan |
|---|
Contoh pelanggan dasar dengan failover. yaitu, jika tidak ada dukungan browser WebRTC, maka flash player pertama terdeteksi, maka HLS. |
| 360 |
|---|
| Contoh untuk berlangganan aliran kamera 360 |
| Audio saja |
|---|
| Menunjukkan pemutaran aliran audio saja. |
| Otentikasi |
|---|
| Menunjukkan otentikasi dengan plugin sederhana-plugin untuk berlangganan. |
| Capture Capture |
|---|
| Menunjukkan menangkap gambar video langsung yang dikonsumsi. |
| Gugus |
|---|
| Demonstrasi mengakses IP dari Red5 Pro Cluster API untuk membuat subcribe ke streaming langsung. |
| HLS |
|---|
| Ini adalah contoh berlangganan aliran hanya menggunakan HLS. Jika HLS tidak didukung secara asli oleh browser, perpustakaan pihak ke-3 HLS.JS digunakan. |
| Capture Capture |
|---|
Contoh ini menunjukkan menangkap diam dari pemutaran dengan menggunakan API drawImage dari CanvasRenderingContext2D . |
| Terhubung kembali |
|---|
| Menunjukkan mekanisme failover dari SDK Red5 Pro HTML untuk memilih pelanggan berdasarkan dukungan browser dan untuk melakukan koneksi otomatis pada penutupan siaran atau hilangnya koneksi. |
| Panggilan jarak jauh |
|---|
| Menunjukkan menerima pesan jarak jauh dari penyiar. |
| Coba lagi nama yang tidak valid |
|---|
Menunjukkan menggunakan properti konfigurasi maintainConnectionOnSubscribeErrors dari pelanggan untuk mempertahankan koneksi WebSocket atas kesalahan dari permintaan subscribe setelah mengintalionisasi .. |
| Otentikasi perjalanan pulang pergi |
|---|
| Contoh memanfaatkan otentikasi pulang-pergi dengan Red5 Pro Over Stream Manager Proxy |
| Bagikan Layar |
|---|
| Contoh memanfaatkan kemampuan berbagi layar Chrome dan Firefox . Untuk digunakan dengan Publikasikan Contoh Bagikan Layar. |
| Objek bersama |
|---|
| Demonstrasi menggunakan objek bersama jarak jauh untuk mengirim dan menerima informasi antara klien yang terhubung. |
| Siaga |
|---|
| Contoh menggunakan API siaga untuk meminta "jeda" dalam menerima data video dan audio di Mediastream sambil juga mempertahankan koneksi klien ke server. |
| Sakelar aliran |
|---|
| Contoh yang menunjukkan pengalihan aliran pelanggan saat ini ke aliran langsung lain melalui WebRTC. |
| Dua aliran |
|---|
Contoh yang berlangganan dua aliran, menggunakan Stream1 Name dan Stream 2 Name dari halaman Pengaturan. |
| Video Mute |
|---|
| Contoh untuk menunjukkan berlangganan siaran yang memiliki aliran videonya "diredam". |
| VP8 |
|---|
| Menunjukkan meminta pengkodean video VP8 untuk aliran pemutaran. |
Berlangganan - Contoh Manajer Stream
| Manajer aliran |
|---|
| Menunjukkan menggunakan API Red5 Pro Stream Manager, dan bertindak sebagai proxy SSL Websocket, untuk mengakses IP server tepi untuk berlangganan streaming langsung. |
| Proxy Manajer Stream |
|---|
| Menunjukkan menggunakan API Red5 Pro Stream Manager untuk mengakses IP server tepi untuk berlangganan streaming langsung. |
| Proksi Manajer Streaming Hubungkan kembali |
|---|
| Menunjukkan mekanisme failover dari SDK Red5 Pro HTML untuk memilih pelanggan berdasarkan dukungan browser dan untuk melakukan koneksi otomatis pada penutupan siaran atau hilangnya koneksi. |
| Wilayah Proxy Manajer Stream |
|---|
| Menunjukkan menggunakan API Red5 Pro Stream Manager untuk mengakses IP server tepi untuk berlangganan streaming langsung. |
| Otentikasi Perjalanan Round -Round Manajer Stream |
|---|
| Menunjukkan berlangganan menggunakan otentikasi pulang pergi, yang ditentukan wilayah. |
| Stream Manager Proxy Transcoder (RTC) |
|---|
| Demonstrasi menggunakan API Red5 Pro Stream Manager untuk mengakses ketentuan dan IP EDGE Server untuk berlangganan aliran berbasis WebRTC langsung dengan kontrol bitrate adaptif. |
| Stream Manager Proxy Transcoder (RTMP) |
|---|
| Menunjukkan menggunakan API Red5 Pro Stream Manager untuk mengakses ketentuan dan IP server Edge untuk berlangganan aliran berbasis flash langsung dengan kontrol bitrate adaptif. |
| Stream Manager Proxy Transcoder (HLS) |
|---|
| Menunjukkan menggunakan API Red5 Pro Stream Manager untuk mengakses ketentuan dan IP server Edge untuk berlangganan aliran berbasis HLS langsung dengan kontrol bitrate adaptif. |
| Bagikan Layar Proxy Manajer Stream |
|---|
| Contoh memanfaatkan kemampuan berbagi layar Chrome dan Firefox . Untuk digunakan dengan Publikasikan Contoh Bagikan Layar. |
Mixer - Contoh Manajer Stream
| Peserta Konferensi Proksi Manajer Stream |
|---|
| Demonstrasi menggunakan API Red5 Pro Stream Manager untuk bergabung dengan konferensi video dengan aliran balik tunggal. |
| Host Konferensi Proksi Manajer Stream |
|---|
| Demonstrasi menggunakan API Red5 Pro Stream Manager untuk meng -host dan mengelola konferensi video dengan aliran balik tunggal. |
| Host Komposisi Grid Manajer Stream |
|---|
| Menunjukkan menggunakan API Red5 Pro Stream Manager untuk membuat dan mengelola komposisi beberapa aliran langsung menjadi satu aliran. |
| Stream Manager 2x2 Contoh Tata Letak Grid |
|---|
| Menunjukkan menyusun satu set stream langsung ke dalam grid 2x2 yang dapat dimuat ke dalam mixer Red5 Pro untuk membuat komposisi dengan hingga 4 aliran. |
| Stream Manager 3x3 Contoh Tata Letak Grid |
|---|
| Menunjukkan menyusun satu set stream langsung ke dalam grid 3x3 yang dapat dimuat ke dalam mixer Red5 Pro untuk membuat komposisi dengan hingga 9 aliran. |
| Contoh Tata Letak Grid Manajer Stream |
|---|
| Menunjukkan menyusun serangkaian stream langsung ke dalam jaringan NXN yang secara otomatis dapat mengubah ukuran karena aliran baru ditambahkan ke dalamnya. Halaman dapat dimuat ke dalam mixer Red5 Pro untuk membuat komposisi dengan banyak aliran. |
| Tata Letak Konferensi Manajer Aliran |
|---|
| Menunjukkan menyusun serangkaian streaming langsung ke dalam tata letak yang terfokus untuk konferensi video di mana presenter disorot. Halaman ini dapat dimuat ke dalam mixer Red5 Pro untuk membuat konferensi video dengan aliran pengembalian tunggal. |
Catatan
- Untuk contoh pelanggan, Anda harus memiliki streaming langsung yang saat ini sedang diterbitkan dan dinamai berdasarkan bidang nama Stream 1 dari pengaturan . Anda dapat menggunakan perangkat lain untuk mulai streaming menggunakan Webapp ini, atau Anda juga dapat menggunakan browser web untuk diterbitkan melalui flash, http: // your_red5_pro_server_ip: 5080/live.
- Anda dapat melihat daftar aliran aktif dengan menavigasi ke http: // your_red5_pro_server_ip: 5080/live/subscribe.jsp (akan perlu menyegarkan halaman ini setelah Anda mulai menerbitkan).
- Anda dapat mengakses IP server dari Instalasi Server Red5 Pro Anda - untuk digunakan di bidang host pengaturan - dengan membuka http: // your_red5_pro_server_ip: 5080/dan menemukan IP yang dicetak di kanan atas halaman.
- Kecuali jika Anda menjalankan server secara lokal, WebRTC Publishing memerlukan sertifikat SSL yang valid.