KamoCRM

我们自己的视频会议

WebRTC 媒体服务器、TURN 中继器和中间的 ICE 路径

KamoCRM 的视频会议运行在我们运营的媒体基础设施上:选择性转发单元、会议焦点、TURN 中继、录制和流媒体网关组件。 实时媒体是网络上最不容忍的东西,除了运行它之外,没有任何方法可以学习它。

这里的每个数字都有它的来源和测量时间。
措施价值资料来源已计量
生产中的实时媒体组件6 (media server, conference focus, signalling, recording, telephony gateway, TURN relay)kubectl get deployments,statefulsets -n kamo
与会议一起运行的流媒体服务器1 (MediaMTX, live streaming only)kubectl get deployments -n kamo

它教会了我们什么建筑

实时媒体惩罚近似。 一个网络请求需要多花200毫秒的时间是不值得注意的;在一个通话中200毫秒的抖动是关于谁在谈论谁的争论。 连接是协商而不是配置的 — — 收集候选地址,测试路径,在找不到直接路径时使用中继 — — 失败模式是不对称的,令人愤怒。

我们从中学到的最大的失败是,一个会议在第二个人加入后结束,看起来像是应用程序错误,但实际上并非如此:媒体服务器自动标记为无法运行,会议焦点没有地方路由第二个流,会议因此中断。 我们从中学到的教训是诊断顺序 — — 在读取一行应用程序代码之前检查媒体服务器自己的健康端点 — — 这一点适用于我们从那时起所处理的每个分布式系统。

我们还负责传输和录制。 隐私义务在录制时变得具体而不是理论,因为录制是关于可识别个人的文件,现在有人必须合法地存储,这是一种设计约束,远远早于政策文件。

建于

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

这使我们有资格做什么

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

告诉我们您想要做什么

简短的交谈通常就足以判断我们是否是合适的人选,如果我们不是,我们会告诉你并指出更好的地方。

开始对话我已经使用 KamoCRM我们如何报价