المنصة ← التقنية

التقنية و WebRTC

بُنيت Krona.Chat على البث المباشر عبر WebRTC باستخدام خادم الوسائط المجاني مفتوح المصدر Janus. وقد طوّرنا بأنفسنا موازنة أحمال تدفقات الوسائط عبر خوادم Janus: تُوزَّع التدفقات تلقائيًا على مئات الخوادم في مناطق مختلفة، مع بقاء زمن التأخير أقل من ثانية.

⁦<500 ms⁩زمن التأخير المعتاد من العارضة إلى المشاهد
مئات الخوادمفي عنقود واحد مع موازنة جغرافية تلقائية للأحمال
$0رسوم تراخيص خادم الوسائط: 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 تُحاسَب بالغيغابايت. وهذا يُبقي تكلفة امتلاك خوادم الوسائط وتسليم الفيديو منخفض التأخير منخفضةً حتى مع نمو الجمهور.