KamoCRM

Konferensi video kita sendiri

Server media WebRTC, relay TURN dan jalur ICE di antaranya

Pertemuan video di KamoCRM berjalan pada infrastruktur media yang kami operasikan: unit forwarding selektif, fokus konferensi, relay TURN, komponen gateway rekaman dan streaming. Media real-time adalah hal yang paling tidak memaafkan di web dan tidak ada cara untuk mempelajarinya kecuali dengan menjalankannya.

Setiap angka di sini nama dari mana ia berasal dan kapan ia diukur.
UkuranNilaiSumberDiukur
Komponen media real-time dalam produksi6 (media server, conference focus, signalling, recording, telephony gateway, TURN relay)kubectl get deployments,statefulsets -n kamo
Server streaming dioperasikan bersamaan dengan konferensi1 (MediaMTX, live streaming only)kubectl get deployments -n kamo

Apa gedung itu mengajarkan kita

Media waktu nyata menghukum perkiraan. Sebuah permintaan web yang mengambil dua ratus milidetik tambahan tidaklah luar biasa; dua ratus milidetik jitter dalam sebuah panggilan adalah argumen tentang siapa yang berbicara di atas siapa. Konektivitas dinegosiasikan daripada dikonfigurasi — alamat kandidat dikumpulkan, jalur diuji, relay digunakan ketika jalur langsung tidak dapat ditemukan — dan mode kegagalan asimetris dan memalukan. Satu peserta mendengar semua orang, tidak ada yang mendengar mereka, dan setiap log mengatakan bahwa panggilan itu baik-baik saja.

Kegagalan yang paling banyak kami pelajari adalah sebuah konferensi yang berakhir ketika orang kedua bergabung. Tampak seperti bug aplikasi dan tidak: server media telah menandai dirinya tidak beroperasi dan fokus konferensi, tidak memiliki tempat untuk mengirimkan aliran kedua, menghancurkan konferensi. Pelajaran tentang urutan diagnosis — periksa titik akhir kesehatan server media sendiri sebelum membaca baris kode aplikasi — dan ini mengeneralisasi ke setiap sistem terdistribusi yang kami kerjakan sejak itu.

Kami juga menjalankan relay dan rekaman. rekaman adalah di mana kewajiban privasi menjadi konkret daripada teoretis, karena rekaman adalah dokumen tentang orang-orang yang dapat diidentifikasi yang seseorang sekarang harus menyimpan secara sah, dan itu adalah keterbatasan desain jauh sebelum menjadi dokumen kebijakan.

Dibangun dengan

  • WebRTC
  • Jitsi Videobridge
  • Jicofo
  • Prosody
  • coturn
  • MediaMTX
  • XMPP
  • ICE
  • SRTP

Apa ini memenuhi syarat kita untuk

Real-time systemsLive data, messaging, presence and media — the unforgiving end of the webCustom web applicationsThe system your business actually runs on, built properlyMobile applicationsCross-platform where it makes sense, native where it does not

Katakan pada kami apa yang Anda coba lakukan

Sebuah percakapan singkat biasanya cukup untuk mengatakan apakah kami orang yang tepat. jika kami tidak, kami akan mengatakannya dan menunjukkan tempat yang lebih baik.

Mulai percakapanAku sudah menggunakan KamoCRMBagaimana kita mengutip