Rumah >hujung hadapan web >tutorial js >Pelayan Janus WebRTC dan SFU: aplikasi panggilan video masa nyata
Dalam artikel ini kami akan mencipta aplikasi panggilan video dengan pelayan Janus WebRTC dan SFU
Kami juga akan mempelajari tentang Metered.ca SFU dan sebab ia adalah pilihan yang lebih baik daripada Janus Server
Janus ialah pelayan WebRTC SFU sumber terbuka, tujuan umum. Ia ialah gerbang modular yang memudahkan aplikasi komunikasi masa nyata dengan mengendalikan protokol WebRTC yang kompleks dan menyediakan pelayan yang stabil untuk tujuan pertukaran media
Seni bina modular: Janus mempunyai sistem berasaskan pemalam di mana setiap pemalam mempunyai beberapa fungsi tertentu. Modulariti ini membolehkan penyesuaian dan pelanjutan
Pengendalian protokol: Janus menguruskan isyarat dan rundingan yang diperlukan untuk mewujudkan sambungan webrtc.
Saling kendali: Janus menyokong codec media dan serasi dengan pelanggan dan penyemak imbas yang berbeza oleh itu Janus mempunyai keserasian yang luas
Skalabiliti: Direka bentuk untuk mengendalikan berbilang sambungan dengan cekap, Janus boleh berskala dalam zon geografi tertentu. (iaitu ia akan berfungsi dengan baik jika semua pengguna yang menggunakan Janus berada dalam zon geografi yang kecil)
SFU atau Unit Pemajuan Terpilih ialah seni bina pelayan media yang digunakan dalam apl WebRTC untuk menghalakan aliran media dengan cekap antara peserta media yang berbeza
SFU menerima strim video masuk daripada setiap peserta dan kemudian secara selektif memajukan strim kepada peserta lain seperti yang diminta.
Iaitu setiap peserta menerima aliran yang diminta oleh peserta manakala semua peserta menolak aliran mereka ke SFU
Skalabiliti: SFU boleh mengendalikan sejumlah besar sambungan kerana SFU tidak melibatkan tugas intensif pengiraan seperti pengekodan dan penyahkodan, sebaliknya hanya memajukan strim kepada pengguna
Latensi Rendah: SFU memajukan strim tanpa memproses sekali gus membawa kepada kependaman rendah. Tetapi jika pengguna anda berada di seluruh dunia, anda memerlukan perkhidmatan SFU yang diedarkan secara global seperti awan metered.ca sou
Pengoptimuman Lebar Jalur
Fleksibiliti dan Kawalan: Peserta mempunyai fleksibiliti yang lebih besar terhadap perkara yang mereka mahu terima, contohnya jika mereka mahu menerima hanya audio atau menerima aliran video peserta terpilih maka mereka mempunyai pilihan untuk lakukan itu
Kecekapan Kos: Memandangkan SFU memerlukan kurang pemprosesan berbanding MCU, contoh yang lebih kecil pada awan boleh berfungsi untuk anda
Pemeliharaan kualiti media: SFU mengekalkan kualiti media kerana mereka tidak melakukan sebarang pemprosesan pada aliran media hanya memajukan aliran kepada peserta yang diminta.
Pelaksanaan ciri Lanjutan yang lebih mudah
Peningkatan Kebolehpercayaan: Tanpa pemprosesan media pada pelayan, terdapat lebih sedikit titik kegagalan . SFU juga boleh dikelompokkan untuk lebihan, dengan itu memastikan bahawa perkhidmatan kekal secara langsung walaupun jika satu pelayan menghadapi sebarang isu.
Menyepadukan Janus SFU dalam apl anda melibatkan langkah-langkah ini. Berikut ialah proses langkah demi langkah untuk melaksanakan Janus dalam permohonan anda.
Penyediaan Sistem
GLib zlib pkg-config Jansson libconfig libnice (at least v0.1.16 suggested, v0.1.18 recommended) OpenSSL (at least v1.0.1e) libsrtp (at least v2.x suggested)
anda boleh memasang kebergantungan ini dengan mudah pada ubuntu atau Debian seperti
apt install libmicrohttpd-dev libjansson-dev \ libssl-dev libsofia-sip-ua-dev libglib2.0-dev \ libopus-dev libogg-dev libcurl4-openssl-dev liblua5.3-dev \ libconfig-dev pkg-config libtool automake
Muat turun dan Bina Janus
GLib zlib pkg-config Jansson libconfig libnice (at least v0.1.16 suggested, v0.1.18 recommended) OpenSSL (at least v1.0.1e) libsrtp (at least v2.x suggested)
apt install libmicrohttpd-dev libjansson-dev \ libssl-dev libsofia-sip-ua-dev libglib2.0-dev \ libopus-dev libogg-dev libcurl4-openssl-dev liblua5.3-dev \ libconfig-dev pkg-config libtool automake
git clone https://github.com/meetecho/janus-gateway.git
cd janus-gateway
sh autogen.sh
Konfigurasikan Janus
Edit fail konfigurasi
Dayakan pemalam yang diperlukan
Sediakan Sijil SSL
Jana sijil SSL
Kemas kini konfigurasi
Mulakan Pelayan Janus
./configure --prefix=/opt/janus
Sahkan Operasi
Sediakan Persekitaran Pembangunan
Pilih rangka kerja hujung hadapan
Sertakan perpustakaan WebRTC
Tubuhkan Pelayan Isyarat
Buat atau Sertai bilik video
Kendalikan strim media tempatan
make sudo make install sudo make configs
Lampirkan strim tempatan pada elemen video dalam HTML untuk memainkan strim kepada pengguna
5. Terbitkan kepada Janus
Gunakan RTCPeerConnection untuk membuat tawaran SDP
Hantar tawaran kepada Janus menggunakan API
Terima jawapan SDP daripada Janus dan tetapkannya sebagai penerangan jauh
6. Langgan strim jauh
Kendalikan mesej yang disertai dan acara untuk mendengar pemberitahuan daripada peserta mesyuarat lain
Buat sambungan Peer untuk pelanggan, iaitu untuk setiap peserta jauh anda perlu membuat RTCPeerConnection baharu
Mengendalikan strim jauh, dapatkan strim jauh dan lampirkannya pada elemen video HTML untuk dimainkan ke video pada pelayar web pengguna
Laksanakan pendengar dan Pengendali acara
Metered Global Cloud SFU ialah Unit Pemajuan Terpilih berasaskan awan oleh Metered.ca
Dengan Metered SFU pembangun boleh membina sebarang jenis aplikasi termasuk penghantaran video, audio dan data
SFU Bermeter berjalan menggunakan API WebRTC asli dan HTTP tanpa memerlukan sebarang SDK proprietari.
Pengguna juga dihalakan secara automatik ke SFU terdekat berdasarkan lokasi geografi mereka
Berbilang SFU disambungkan secara global antara satu sama lain menggunakan sambungan berkelajuan tinggi, memastikan kependaman serendah mungkin
Taburan Global:
Kemerdekaan Platform
Model Terbit-Langganan Fleksibel:
Skalabiliti
Kecekapan Kos:
Mewujudkan Sambungan
GLib zlib pkg-config Jansson libconfig libnice (at least v0.1.16 suggested, v0.1.18 recommended) OpenSSL (at least v1.0.1e) libsrtp (at least v2.x suggested)
b. Hantar tawaran SDP Tempatan
c. Terima SDP jauh SFU
d. Sambungan Diwujudkan
GLib zlib pkg-config Jansson libconfig libnice (at least v0.1.16 suggested, v0.1.18 recommended) OpenSSL (at least v1.0.1e) libsrtp (at least v2.x suggested)
Menerbitkan Lagu
apt install libmicrohttpd-dev libjansson-dev \ libssl-dev libsofia-sip-ua-dev libglib2.0-dev \ libopus-dev libogg-dev libcurl4-openssl-dev liblua5.3-dev \ libconfig-dev pkg-config libtool automake
b. Jana dan Hantar tawaran SDP
Hantar tawaran SDP yang dikemas kini kepada SFU
Terima dan tetapkan respons SFU kepada SDP
Melanggan Lagu
Minta langganan trek daripada SFU
Skalabiliti
Pengedaran media
Penstriman Skala Besar
Kemerdekaan Platform
Model Langgan Terbitan Fleksibel
Kecekapan Kos
Rangkaian SFU Global:
Pengedaran dan Penyelenggaraan
SFU Bermeter:
Janus
Skalabiliti dan Prestasi
SFU Bermeter
Janus
Struktur Kos
SFU Bermeter
Janus
Fleksibiliti dan Ciri
SFU Bermeter
Janus
Kemudahan Penyepaduan
SFU Bermeter
Pelayan TURN bermeter
API: HIDUPKAN pengurusan pelayan dengan API berkuasa. Anda boleh melakukan perkara seperti Tambah/Alih keluar bukti kelayakan melalui API, Dapatkan Setiap Pengguna / Bukti kelayakan dan metrik Pengguna melalui API, Dayakan/ Lumpuhkan bukti kelayakan melalui API, Dapatkan semula data Penggunaan mengikut tarikh melalui API.
Penyasaran Geo-Lokasi Global: Menghalakan trafik ke pelayan terdekat secara automatik, untuk kependaman serendah mungkin dan prestasi kualiti tertinggi. kependaman kurang daripada 50 ms di mana-mana sahaja di seluruh dunia
Pelayan di semua Wilayah di dunia: Toronto, Miami, San Francisco, Amsterdam, London, Frankfurt, Bangalore, Singapura, Sydney, Seoul, Dallas, New York
Latensi Rendah: kurang daripada 50 ms kependaman, di mana-mana sahaja di seluruh dunia.
Kos Efektif: harga bayar semasa anda pergi dengan lebar jalur dan diskaun volum tersedia.
Pentadbiran Mudah: Dapatkan log penggunaan, e-mel apabila akaun mencapai had ambang, rekod pengebilan dan sokongan e-mel serta telefon.
Patuh Standard: Mematuhi RFC 5389, 5769, 5780, 5766, 6062, 6156, 5245, 5768, 6336, 59244, TLS dan TLS. 🎜>
Berbilang‑Penyewaan: Buat berbilang bukti kelayakan dan asingkan penggunaan mengikut pelanggan atau apl yang berbeza. Dapatkan log Penggunaan, rekod pengebilan dan makluman ambang.
Kebolehpercayaan Perusahaan: 99.999% Masa Beroperasi dengan SLA.
Skala Perusahaan: Tanpa had pada trafik serentak atau jumlah trafik. Pelayan TURN Bermeter menyediakan Kebolehskalaan Perusahaan
5 GB/bln Percuma: Dapatkan 5 GB penggunaan pelayan TURN percuma setiap bulan dengan Pelan Percuma
Atas ialah kandungan terperinci Pelayan Janus WebRTC dan SFU: aplikasi panggilan video masa nyata. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!