اجتماعات الفيديو في 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 |
ما المبنى الذي علمنا
إن وسائل الإعلام في الوقت الحقيقي تعاقب التقريب. فطلب شبكي يستغرق مائتي ميلي ثانية إضافية ليس بالأمر الملحوظ؛ ومئات الميلي ثانية من التذبذب في المكالمة تشكل جدلاً حول من يتحدث عن من. والاتصال يتم التفاوض بشأنه بدلاً من تشكيله ـ يتم جمع العناوين المرشحة، واختبار المسارات، واستخدام المرحلات عندما يتعذر العثور على مسار مباشر ـ وتكون أنماط الفشل غير متناظرة ومثيرة للغضب. فهناك مشارك واحد يسمع الجميع، ولا يسمعهم أحد، ويقول كل سجل إن المكالمة على ما يرام.
كان الفشل الذي تعلمنا منه أكثر من أي شيء آخر هو مؤتمر انتهى عندما انضم إليه شخص ثان. بدا وكأنه خطأ في التطبيق ولم يكن كذلك: فقد حدد خادم الوسائط نفسه على أنه غير عامل، وركز المؤتمر، دون وجود مكان لتوجيه تدفق ثان، مما أدى إلى انهيار المؤتمر. وكان الدرس حول ترتيب التشخيص - التحقق من نقطة نهاية صحة خادم الوسائط قبل قراءة سطر من شفرة التطبيق - وهو يعمم على كل نظام موزع عملنا عليه منذ ذلك الحين.
ونحن ندير أيضاً عملية التسليم والتسجيل. والتسجيل هو المكان الذي تصبح فيه التزامات الخصوصية ملموسة وليس نظرية، لأن التسجيل هو وثيقة عن أشخاص يمكن تحديد هويتهم يتعين على شخص ما الآن أن يحتفظ بها بصورة قانونية، وهذا قيد تصميمي قبل أن يصبح وثيقة سياسية بوقت طويل.
بنيت بـ
- WebRTC
- Jitsi Videobridge
- Jicofo
- Prosody
- coturn
- MediaMTX
- XMPP
- ICE
- SRTP
أخبرنا ماذا تحاول أن تفعل
إن محادثة قصيرة تكفي عادة لمعرفة ما إذا كنا الشخص المناسب. وإذا لم نكن، فسوف نقول ذلك ونشير إليك إلى مكان أفضل.
