
Hosting awan populer DigitalOcean baru-baru ini meluncurkan pasar barunya yang menjual gambar yang telah dikonfigurasikan yang dapat membantu menyebarkan server aplikasi dengan cepat. Ini seperti AWS, tetapi DO adalah untuk mereka yang sudah menggunakan layanan penyedia ini. Mari kita lihat bagaimana cara menyebarkan server sederhana untuk streaming WebRTC dengan akun DO dengan biaya $ 10 / bulan berdasarkan Flashphoner WebCallServer dan bagaimana server seperti itu dapat digunakan.
Penempatan
Masukkan akun DO, pilih gambar Flashphoner WebCallServer di Marketplace dan tekan "Buat Flashphoner Web Call Server Droplet".

Pilih kinerja server dan paket harga. DO akan secara otomatis menawarkan produk segmen menengah, tetapi kami tertarik dengan harga minimum.

Pilih wilayah lokasi pusat data, misalnya, Frankfurt.

Pilih jenis otentikasi, misalnya, kata sandi satu kali.

Tentukan jumlah server (kami tertarik pada satu server untuk saat ini) dan beri nama server tersebut. Nama ini akan terdaftar di antara lokasi lain di / etc / hostname.
Tekan "Buat tetesan"

Segera setelah server dibuat, server akan mulai secara otomatis. Sekarang kita dapat terhubung melalui SSH, dan memodifikasi kata sandi jika kata sandi satu kali telah dipilih sebagai metode otentikasi. Deskripsi singkat tentang Flashphoner WebCallServer dengan tautan ke dokumentasi akan ditampilkan di konsol.

"Ini Uji Coba. Bisakah Kamu Melihatku?"
Pada saat Flashphoner WebCallServer dimulai, ia sudah dalam mode siap-untuk-bekerja penuh, lisensi percobaan 30 hari diaktifkan secara otomatis. Antarmuka web digunakan untuk menguji fungsi-fungsi utama. Kami hanya akan memeriksa publikasi dan pemutaran streaming WebRTC.
Buka di browser halaman https: // droplet_ip: 8444 / admin / . Server dikirimkan dengan sertifikat yang ditandatangani sendiri secara default; karena itu kami perlu mengkonfirmasi pengecualian keamanan. Sertifikat dapat diganti nanti dengan milik Anda sendiri. Masukkan nama pengguna dan kata sandi ( demo secara default).

Pilih contoh Streaming Dua Arah di sidebar, tekan "Connect", lalu "Publish". Untuk memainkan streaming, tekan "Mainkan".

Untuk Segenggam Dolar
Apa yang dapat dilakukan server $ 10 / bulan sebagai platform perangkat keras untuk streaming WebRTC? Mari kita lihat apa yang ditawarkan Digital Ocean dalam hal prosesor
lscpu

dan memori
free -h

Dengan menjalankan tes beban di server, kita dapat melihat bahwa kemampuan kinerja server tidak begitu kecil.
Sebagai contoh, kami akan menerbitkan satu sampel aliran dan melihat berapa banyak pengguna yang dapat menerbitkan aliran ini secara bersamaan tidak melebihi 90% dari sumber daya prosesor:
Dengan beberapa publikasi simultan, jumlah maksimum aliran yang diproses tetap sama; ketika 7 stream diterbitkan, hingga 10 pemirsa dapat berlangganan masing-masing.
Misalkan kita perlu transcode stream pada server untuk mengurangi resolusi atau menyelaraskan FPS. Untuk melakukan ini, kami akan memeriksa jumlah publikasi maksimum:
Dengan cara ini, server dengan harga terendah pada DO dengan parameter 1 inti CPU, 2 Gb RAM, lalu lintas 2 TB cocok tidak hanya untuk pengujian streaming WebRTC tetapi juga untuk proyek-proyek kecil. Sebagai contoh, dimungkinkan untuk
- mengirimkan aliran melalui WebRTC dari kamera IP untuk memastikan pengawasan video dasar di rumah;
- mengatur webinar untuk staf perusahaan kecil;
- gunakan radio-internet Anda sendiri (stream audio membutuhkan lebih sedikit sumber daya prosesor).
Selain itu, server ini dapat dilihat sebagai platform referensi untuk estimasi penskalaan. Inilah yang akan kita bahas lebih lanjut.
"Aku Layak Lagi!"
Untuk sebagian besar, aturannya cukup sederhana: tidak ada yang namanya terlalu banyak core dan terlalu banyak memori. Bergantung pada jumlah pengguna yang dituju, rekomendasi konfigurasi DO adalah sebagai berikut:
Jika peningkatan lebih lanjut dalam jumlah pengguna direncanakan, kita perlu menyebarkan server 1 Edge memproyeksikan CDN per 2000 pengguna. Misalkan kita perlu mengirimkan video HD, jumlah pemirsa yang dimaksud adalah 10.000. Dalam hal ini, 2 server Asal untuk penerbitan dan 5 server Ujung untuk menonton akan diperlukan.

Contoh pengaturan:
cdn_enabled=true cdn_ip=origin1.flashponer.com cdn_nodes_resolve_ip=false cdn_role=origin
cdn_enabled=true cdn_ip=origin2.flashponer.com cdn_point_of_entry=origin1.flashponer.com cdn_nodes_resolve_ip=false cdn_role=origin
- Edge 1 - Edge 5 (di sini kami hanya mengubah alamat server di parameter
cdn_ip
)
cdn_enabled=true cdn_ip=edge1.flashphoner.com cdn_point_of_entry=origin1.flashponer.com cdn_nodes_resolve_ip=false cdn_role=edge
CDN juga dapat digunakan jika pengguna tersebar secara geografis. Misalnya, target pemirsa kami berbasis di Eropa dan Amerika.

Contoh pengaturan:
cdn_enabled=true cdn_ip=origin_eu.flashponer.com cdn_nodes_resolve_ip=false cdn_role=origin cdn_groups=EU
cdn_enabled=true cdn_ip=origin_us.flashponer.com cdn_point_of_entry=origin_eu.flashponer.com cdn_nodes_resolve_ip=false cdn_role=origin cdn_groups=US
cdn_enabled=true cdn_ip=edge1_eu.flashphoner.com cdn_point_of_entry=origin_eu.flashponer.com cdn_nodes_resolve_ip=false cdn_role=edge cdn_groups=EU
cdn_enabled=true cdn_ip=edge1_us.flashphoner.com cdn_point_of_entry=origin_eu.flashponer.com cdn_nodes_resolve_ip=false cdn_role=edge cdn_groups=US
Semakin besar jumlah pemirsa, semakin beragam perangkat untuk pemutaran dan saluran ke perangkat ini. Untuk memberikan kualitas siaran yang baik ke berbagai perangkat, kemungkinan besar akan diperlukan untuk mentranskode video, yang dapat dikenakan pada server Transcoder khusus.

Contoh pengaturan:
cdn_enabled=true cdn_ip=origin.flashponer.com cdn_nodes_resolve_ip=false cdn_role=origin cdn_groups=default
cdn_enabled=true cdn_ip=transcoder_eu.flashponer.com cdn_point_of_entry=origin.flashponer.com cdn_nodes_resolve_ip=false cdn_role=transcoder cdn_groups=EU
cdn_enabled=true cdn_ip=edge1_eu.flashphoner.com cdn_point_of_entry=origin.flashponer.com cdn_nodes_resolve_ip=false cdn_role=edge cdn_groups=EU
Seperti yang kami temukan selama pengujian, jumlah inti prosesor sangat penting untuk keperluan transcoding. Konfigurasi yang paling cocok di jalur konfigurasi yang dioptimalkan oleh CPU adalah yang paling mahal - 32 vCPU, 64 Gb RAM. Pada saat yang sama harga untuk konfigurasi CPU dalam jumlah yang sama dan dengan memori yang lebih besar di jalur lain dapat jauh lebih tinggi. Sayangnya, kita tidak dapat menghemat uang pada transcoder: karena video dikodekan bingkai demi bingkai, harus ada ruang memori yang cukup untuk semua gambar dan prosesor yang cukup untuk memproses semua aliran.
Selama penyebaran CDN, pembuatan beberapa server secara simultan dengan konfigurasi yang sama akan berguna. Namun, dalam kasus server Edge dan Transcoder tipe-CDN yang tersebar secara geografis perlu dihosting di pusat data yang berbeda.
Kesimpulan
Untuk menyimpulkan, kami telah mengerahkan dan menguji server kecil untuk streaming video WebRTC latensi rendah di Digital Ocean dan telah menemukan bahwa server dengan konfigurasi minimum cocok tidak hanya untuk pengujian tetapi juga untuk proyek-proyek kecil. Kami telah mendapatkan data penskalaan tergantung pada jumlah pemirsa yang dituju dan telah menyentuh subjek penyebaran CDN, yang karenanya perlu dibahas dalam artikel terpisah. Untuk melanjutkan, silakan tetap bersama kami.
Gambar Flashphoner WebCallServer di DigitalOcean Marketplace - gambar Server Panggilan Web di DigitalOcean.
CDN untuk streaming WebRTC latensi rendah - jaringan pengiriman konten berbasis Server Web.