التقنية و WebRTC
بُنيت Krona.Chat على البث المباشر عبر WebRTC باستخدام خادم الوسائط المجاني مفتوح المصدر Janus. وقد طوّرنا بأنفسنا موازنة أحمال تدفقات الوسائط عبر خوادم Janus: تُوزَّع التدفقات تلقائيًا على مئات الخوادم في مناطق مختلفة، مع بقاء زمن التأخير أقل من ثانية.
Janus — خادم وسائط WebRTC مجاني ومفتوح المصدر
تمر التدفقات عبر Janus WebRTC Server، وهو خادم وسائط مفتوح المصدر. وهو مجاني: لا توجد رسوم ترخيص عند الإطلاق ولا مع ازدياد عدد الخوادم والعارضات والمشاهدين.
يعمل Janus بوصفه SFU (وحدة إعادة توجيه انتقائية): يُعاد توجيه تدفق واحد وارد من العارضة إلى عدد كبير من المشاهدين دون إعادة ترميزه لكل منهم. لذلك يستطيع خادم وسائط واحد خدمة جمهور كبير، ويصل الفيديو إلى المشاهدين بأقل زمن تأخير.
موازنة أحمال تدفقات الوسائط عبر خوادم Janus
لا يستطيع Janus بمفرده توزيع التدفقات على الخوادم — لذا بنينا موازنة أحمال تدفقات الوسائط داخل منصة Krona.Chat. وبفضلها تعمل خوادم الوسائط كعنقود واحد:
مئات الخوادم
يمكن توزيع الحِمل على مئات من خوادم الوسائط — ويُستوعَب المزيد من البثوث والمشاهدين بإضافة خوادم.
توزيع جغرافي تلقائي
تُوزَّع التدفقات تلقائيًا على خوادم في مناطق مختلفة، أقرب إلى العارضات والمشاهدين.
استعادة تلقائية للبث
يمكن إعادة تشغيل أي خادم: كل تدفق كان يخدمه يعود للعمل تلقائيًا.
تغيير الخوادم دون توقف
من السهل إضافة خوادم جديدة إلى العنقود، ويمكن إخراج أي خادم منه للصيانة.
لا بديل في السوق
لا توجد منصات كاميرات جاهزة توفر موازنة تدفقات WebRTC عبر عدة خوادم على خادم وسائط مجاني: الحلول المعروفة تعمل على خادم وسائط واحد ولا يمكن توسيعها بإضافة خوادم.
يتفوق حل Krona.Chat متعدد الخوادم من حيث التقنية وتكلفة الملكية: لا تدفع رسوم تراخيص لخادم الوسائط، ويُسلَّم الفيديو منخفض التأخير عبر خوادمك الخاصة بدلًا من شبكة CDN مكلفة تُحاسَب بالغيغابايت.
WebRTC بدلًا من HLS: فيديو مباشر بلا تأخير
مع البث عبر HLS أو DASH يصل الفيديو إلى المشاهدين متأخرًا بعشرات الثواني. أما WebRTC فيُسلّم التدفق في الوقت الفعلي بزمن تأخير أقل من ثانية. وهذا أمر حاسم لموقع الكاميرات: فتفاعل العارضة مع الدردشة والإكراميات وألعاب Lovense، والعروض الخاصة والجماعية، لا تنجح إلا مباشرةً.
البث والمشاهدة في أي متصفح
- يشاهد المشاهدون في المتصفح على الكمبيوتر (Windows وmacOS وLinux) أو على الهاتف أو الجهاز اللوحي (Android وiOS) — دون إضافات أو تطبيقات؛
- تبدأ العارضات البث مباشرةً من المتصفح — على الكمبيوتر أو الهاتف، راجع لوحة تحكم العارضة؛
- تتكيف جودة الفيديو مع سرعة اتصال كل مشاهد دون انقطاع البث لدى الآخرين.
المجموعة التقنية للمنصة
التقنيات ولغات البرمجة التي بُنيت عليها منصة الكاميرات Krona.Chat:
ReactJS
الواجهة الأمامية لمواقع المنصة: موقع الكاميرات، ومساحتا العارضات والشركاء.
WebRTC
فيديو وصوت مباشران في المتصفح بزمن تأخير أقل من ثانية.
Janus
خادم وسائط WebRTC مجاني ومفتوح المصدر يعمل بوصفه SFU.
موازن الوسائط من Krona.Chat
من تطويرنا الخاص: يوزّع تدفقات الوسائط على خوادم Janus حسب المنطقة.
Cloudflare
موازن أحمال زيارات الويب لمواقع المنصة.
PHP 8.5
لغة البرمجة من جهة الخادم في المنصة.
C
معالجة تدفقات الوسائط والعمل مع خادم Janus.
MariaDB 11.x / 12.x
قاعدة البيانات العلائقية للمنصة.
Galera Cluster
عنقود MariaDB Galera من ثلاثة خوادم على الأقل لقاعدة بيانات مقاومة للأعطال.
كم خادم وسائط يحتاج موقع الكاميرات؟
كمؤشر تقريبي، يوفر خادم وسائط مخصص واحد بمنفذ مضمون بسرعة 1 Gbit/s نحو 700 Mbit/s من عرض النطاق القابل للاستخدام تحت حِمل مستمر. ويعتمد عدد الخوادم على عدد البثوث المتزامنة والمشاهدين والجودة المختارة — من 480p إلى 4K.
احسب الإعداد المناسب لحِملك باستخدام حاسبة الخوادم.
أسئلة حول WebRTC وخادم الوسائط
ما خادم الوسائط الذي تستخدمه Krona.Chat؟
Janus WebRTC Server — خادم وسائط مجاني ومفتوح المصدر يعمل بوصفه SFU. لا توجد رسوم ترخيص لخادم الوسائط مهما بلغ عدد الخوادم في العنقود.
كيف تعمل موازنة تدفقات WebRTC عبر الخوادم؟
توازن منصة Krona.Chat أحمال تدفقات الوسائط عبر خوادم Janus. تُوزَّع التدفقات تلقائيًا على خوادم وسائط في مناطق مختلفة، ويمكن أن يضم العنقود مئات الخوادم.
ماذا يحدث إذا أُعيد تشغيل خادم وسائط؟
كل تدفق كان يخدمه ذلك الخادم يعود للعمل تلقائيًا. ويمكن إضافة خوادم جديدة إلى العنقود، وإخراج أي خادم منه للصيانة.
لماذا WebRTC وليس HLS؟
يُسلّم WebRTC الفيديو في الوقت الفعلي بزمن تأخير أقل من ثانية، بينما يتأخر HLS بعشرات الثواني. وفي موقع الكاميرات، لا يمكن التفاعل المباشر بين العارضة والمشاهد — الدردشة والإكراميات والعروض الخاصة — إلا مع WebRTC.
كم خادمًا يحتاج موقع الكاميرات؟
كمؤشر تقريبي، نحو 700 Mbit/s من عرض النطاق القابل للاستخدام لكل خادم وسائط بمنفذ 1 Gbit/s. ويعتمد العدد الدقيق على البثوث والمشاهدين وجودة الفيديو؛ وتقدّم حاسبة الخوادم تقديرًا لذلك.
ما المجموعة التقنية التي بُنيت عليها المنصة؟
الواجهة الأمامية — ReactJS، والفيديو — WebRTC، وخادم الوسائط — Janus مع موازن الوسائط من Krona.Chat، وموازنة زيارات الويب — Cloudflare، ولغة الخادم — PHP 8.5، وتدفقات الوسائط وJanus — C، وقاعدة البيانات — MariaDB 11.x / 12.x في عنقود Galera.
كم تكلف عملية تسليم الفيديو منخفض التأخير؟
خادم الوسائط Janus مجاني، ويُسلَّم الفيديو عبر خوادمك الخاصة بتكلفة ثابتة لعرض النطاق بدلًا من شبكة CDN تُحاسَب بالغيغابايت. وهذا يُبقي تكلفة امتلاك خوادم الوسائط وتسليم الفيديو منخفض التأخير منخفضةً حتى مع نمو الجمهور.