
Cloud hosting DigitalOcean yang terkenal baru-baru ini mengakuisisi tokonya sendiri dengan gambar yang sudah jadi, dari mana Anda dapat dengan cepat menyebarkan server aplikasi apa pun. Sama seperti AWS, hanya DO, untuk mereka yang sudah menggunakan layanan dari penyedia ini. Mari kita lihat bagaimana, dengan akun DO, menyebarkan server sederhana seharga $ 10 per bulan untuk streaming WebRTC berdasarkan Flashphoner WebCallServer, dan bagaimana server seperti itu dapat bermanfaat.
Penempatan
Kami memasukkan akun pada DO, ikuti tautan ke gambar WebCallServer Flashphoner dan klik tombol "Buat Tetesan Server Panggilan Web Flashphoner"

Kami memilih karakteristik utara dan rencana tarif. Secara default, DO akan menawarkan sesuatu kepada kami dari segmen menengah, tetapi kami tertarik dengan biaya minimum

Pilih wilayah tempat pusat data berada, misalnya, Frankfurt

Pilih metode otentikasi, misalnya, kata sandi satu kali

Kami menunjukkan jumlah server (sejauh ini kami tertarik pada satu server) dan memberi nama server kami. Nama ini akan ditulis, termasuk di / etc / hostname
Klik "Buat tetesan"

Setelah pembuatan, server akan secara otomatis memulai. Anda dapat menghubungkannya melalui SSH dan, jika kata sandi satu kali dipilih sebagai metode otentikasi, ubah kata sandi. Deskripsi singkat Flashphoner WebCallServer dengan tautan dokumentasi akan ditampilkan di konsol

"Ini ujian. Bisakah aku melihatmu?"
Flashphoner WebCallServer dijalankan sepenuhnya siap untuk bekerja, lisensi percobaan 30 hari diaktifkan secara otomatis. Untuk menguji semua fungsi dasar terdapat antarmuka web, kami membatasi diri untuk memeriksa publikasi dan pemutaran aliran WebRTC.
Buka halaman browser https: // droplet_ip: 8444 / admin / . Secara default, sertifikat yang ditandatangani sendiri disertakan dengan server, jadi Anda harus mengonfirmasi pengecualian keamanan. Di masa mendatang, Anda dapat mengganti sertifikat dengan sertifikat Anda sendiri. Masukkan nama pengguna dan kata sandi ( demo default)

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

Untuk beberapa dolar
Apakah server yang mampu $ 10 per bulan yang mampu menjadi platform perangkat keras untuk streaming WebRTC? Mari kita lihat apa yang ditawarkan prosesor DigitalOcean
lscpu

dan dari memori
free -h

Memeriksa server dengan tes beban, kami melihat bahwa server mungkin tidak begitu kecil.
Misalnya, kami akan menerbitkan satu instance streaming dan melihat berapa banyak pelanggan yang secara bersamaan dapat kehilangan streaming ini, menempati tidak lebih dari 90% dari prosesor:
Dengan beberapa publikasi simultan, jumlah maksimum stream yang diproses tetap pada tingkat yang sama: jika Anda mempublikasikan 7 stream, hingga 10 pemirsa dapat berlangganan masing-masing.
Katakanlah kita perlu transcode stream di server untuk mengurangi resolusi atau menyelaraskan FPS. Untuk kasus ini, periksa jumlah publikasi maksimum:
Dengan demikian, server biaya minimum pada DO dengan parameter 1 inti CPU, RAM 2 Gb, lalu lintas 2 TB per bulan cocok tidak hanya untuk pengujian streaming WebRTC, tetapi juga untuk digunakan dalam proyek-proyek kecil. Misalnya, Anda dapat:
- mendistribusikan melalui WebRTC aliran dari kamera IP untuk pengawasan video perusahaan paling sederhana;
- mengatur webinar untuk karyawan perusahaan kecil
- naikkan radio Internet Anda (streaming audio membutuhkan lebih sedikit sumber daya CPU)
Selain itu, server ini dapat dianggap sebagai platform referensi untuk penghitungan skala, yang akan terus kami lakukan.
"Aku pantas mendapatkan lebih banyak!"
Aturannya, secara umum, sangat sederhana: tidak banyak inti, dan begitu juga ingatannya. Bergantung pada jumlah pelanggan yang direncanakan, rekomendasi dari set konfigurasi yang ditawarkan oleh DO adalah sebagai berikut:
Jika Anda berencana untuk berkembang lebih jauh, Anda harus menggunakan CDN dengan kecepatan server 1 Edge untuk 2000 pelanggan. Misalkan kita perlu mendistribusikan video HD, jumlah penonton yang direncanakan adalah 10.000. Dalam hal ini, Anda memerlukan 2 server Origin untuk mempublikasikan dan 5 server Edge untuk melihatnya.

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 (hanya alamat server dalam parameter
cdn_ip
yang 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 bermanfaat jika pelanggan didistribusikan secara geografis, misalnya, pemirsa potensial kami tinggal 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 banyak pemirsa, semakin besar variasi perangkat pemutaran dan saluran ke perangkat ini. Untuk memastikan kualitas penyiaran ke berbagai perangkat, kemungkinan besar, transcoding video akan diperlukan, yang dapat ditugaskan ke server Transcoder CDN 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
Untuk transcoding, seperti yang kami ketahui selama pengujian, jumlah inti prosesor adalah penting. Dari jalur konfigurasi yang dioptimalkan oleh CPU, 32 vCPU paling mahal, 64 Gb RAM paling cocok. Pada saat yang sama, di jalur lain, konfigurasi dengan sejumlah besar memori yang ditutup dalam jumlah CPU bisa jauh lebih mahal. Sayangnya, penghematan pada transcoder tidak akan berfungsi: karena video dikodekan bingkai demi bingkai, harus ada memori yang cukup untuk semua gambar, dan prosesor untuk memproses semua aliran.
Saat menggunakan CDN, akan berguna untuk membuat beberapa server dengan konfigurasi yang sama secara bersamaan. Namun, untuk CDN yang didistribusikan secara geografis, jenis server Edge dan Transcoder yang sama perlu ditempatkan di pusat data yang berbeda.
Kesimpulan
Jadi, kami mengerahkan dan menguji server kecil untuk streaming video WebRTC dengan latensi rendah di DigitalOcean, memastikan bahwa server dalam konfigurasi minimum cocok tidak hanya untuk pengujian, tetapi juga untuk digunakan dalam proyek-proyek kecil, kami menerima data untuk penskalaan tergantung pada jumlah penonton yang diharapkan, dan menyentuh tentang topik penyebaran CDN, yang dengan sendirinya layak menjadi artikel terpisah. Tetap bersama kami, untuk dilanjutkan ...
Referensi
Flashphoner WebCallServer di DigitalOcean Marketplace adalah gambar pra- bangun dari Server Panggilan Web di DigitalOcean.
CDN streaming WebRTC latensi rendah adalah jaringan pengiriman konten berbasis Web Call Server.