سحابة WebRTC الجري في DigitalOcean


استحوذت DigitalOcean التي تستضيف السحابة الشهيرة مؤخرًا على متجر خاص بها مع صور جاهزة ، يمكنك من خلالها نشر أي خادم تطبيقات بسرعة. تمامًا مثل AWS ، DO فقط ، لأولئك الذين يستخدمون بالفعل خدمات هذا المزود. دعونا نرى كيف أن الحصول على حساب DO ونشر خادم بسيط مقابل 10 دولارات شهريًا لبث WebRTC استنادًا إلى Flashphoner WebCallServer ، وكيف يمكن أن يكون هذا الخادم مفيدًا.


نشر


ندخل الحساب على DO ، واتبع الرابط الخاص بـ Flashphoner WebCallServer وانقر على زر "إنشاء Flashphoner Web Call Server Droplet"



نختار خصائص الشمال وخطة التعريفة الجمركية. بشكل افتراضي ، ستقدم إلينا شيئًا من القطاع الأوسط ، لكننا مهتمون بأقل تكلفة



اختر المنطقة التي يوجد بها مركز البيانات ، على سبيل المثال ، فرانكفورت



اختر طريقة مصادقة ، على سبيل المثال ، كلمة مرور لمرة واحدة



نشير إلى عدد الخوادم (حتى الآن نحن مهتمون بخادم واحد) ونمنح اسم الخادم الخاص بنا. سيتم كتابة هذا الاسم ، بما في ذلك في / etc / hostname



انقر فوق "إنشاء قطرة"



بعد الإنشاء ، سيبدأ الخادم تلقائيًا. يمكنك الاتصال به عبر SSH ، وإذا تم تحديد كلمة مرور لمرة واحدة كطريقة المصادقة ، قم بتغيير كلمة المرور. سيتم عرض وصف موجز لبرنامج Flashphoner WebCallServer مع روابط الوثائق في وحدة التحكم



"هذا اختبار. هل يمكنني رؤيتك؟"


يبدأ Flashphoner WebCallServer استعدادًا تامًا للعمل ، ويتم تنشيط ترخيص تجريبي لمدة 30 يومًا تلقائيًا. لاختبار جميع الوظائف الأساسية هناك واجهة ويب ، نحن نقتصر على فحص المنشور وتشغيل دفق WebRTC.


افتح صفحة المتصفح https: // droplet_ip: 8444 / admin / . افتراضيًا ، يتم توفير شهادة موقعة ذاتيًا مع الخادم ، لذلك يتعين عليك تأكيد استثناء الأمان. في المستقبل ، يمكنك استبدال الشهادات بشهاداتك. أدخل اسم المستخدم وكلمة المرور ( العرض الافتراضي)



حدد مثال الجري ثنائي الاتجاه في الشريط الجانبي ، وانقر فوق الزر "اتصال" ، ثم "نشر". لتشغيل الدفق ، انقر فوق "تشغيل"



لحفنة من الدولارات


ما هو الخادم القادر على توفير 10 دولارات شهريًا ليصبح نظامًا أساسيًا للأجهزة لدفق WebRTC؟ دعونا نرى ما يقدمه معالج DigitalOcean


lscpu 


ومن الذاكرة


 free -h 


عند التحقق من الخادم من خلال اختبارات الحمل ، نرى أن الخادم قد لا يكون صغيراً للغاية.


على سبيل المثال ، سننشر مثيل بث واحد ونرى عدد المشتركين الذين يمكن أن يفقدوا هذا التدفق في وقت واحد ، ولا يشغلون أكثر من 90٪ من المعالج:


تصريحمعدل البت ، كيلو بايت في الثانيةعدد المنشوراتعدد المشتركين
360p1300170
480P1800170
720P3000150

من خلال العديد من المنشورات المتزامنة ، يظل الحد الأقصى لعدد التدفقات التي تمت معالجتها على نفس المستوى: إذا قمت بنشر 7 تدفقات ، يمكن لما يصل إلى 10 مشاهد الاشتراك في كل منها.


دعنا نقول أننا بحاجة إلى تحويل الرمز على الدفق على الخادم من أجل تقليل الدقة أو محاذاة FPS. بالنسبة لهذه الحالة ، تحقق من الحد الأقصى لعدد المنشورات:


تصريحمعدل البت ، كيلو بايت في الثانيةعدد المواضيع
360p13005
480P18003
720P30002

وبالتالي ، فإن خادم التكلفة الدنيا على DO مع المعلمات من 1 وحدة المعالجة المركزية الأساسية ، و 2 غيغابايت من ذاكرة الوصول العشوائي ، 2 تيرابايت من حركة المرور في الشهر مناسبة ليس فقط لاختبار تدفق WebRTC ، ولكن أيضا للاستخدام في المشاريع الصغيرة. على سبيل المثال ، يمكنك:


  • توزيع البث عبر WebRTC من كاميرا IP لأبسط مراقبة فيديو للشركات ؛
  • تنظيم ندوة عبر الإنترنت لموظفي شركة صغيرة
  • رفع راديو الإنترنت الخاص بك (دفق الصوت يتطلب موارد وحدة المعالجة المركزية أقل)

بالإضافة إلى ذلك ، يمكن اعتبار هذا الخادم بمثابة نظام أساسي مرجعي لتوسيع نطاق العمليات الحسابية ، والتي سنواصل القيام بها.


"أنا أستحق أكثر!"


القواعد ، بشكل عام ، بسيطة للغاية: لا يوجد الكثير من النوى ، وكذلك الذاكرة. اعتمادًا على العدد المخطط للمشتركين ، ستكون توصيات مجموعة التكوينات التي تقدمها DO كما يلي:


عدد المشتركينvCPUsذاكرة الوصول العشوائي ، غيغابايتالمرور ، السلمثال للاستخدام
ما يصل الى 200485نظام المراقبة بالفيديو
حتى 5008166ندوات عبر الإنترنت
حتى 100016649دردشة الفيديو
حتى 2000209610دفق الفيديو عالية الدقة

إذا كنت تخطط لمزيد من النمو ، فسيتعين عليك نشر CDN بمعدل خادم Edge واحد لعدد 2000 مشترك. لنفترض أننا بحاجة إلى توزيع مقاطع فيديو عالية الدقة ، فعدد المشاهدين المخطط له هو 10.000. في هذه الحالة ، تحتاج إلى خوادم أصل 2 للنشر و 5 خوادم حافة لعرضها.



مثال على ذلك:


  • الأصل 1

 cdn_enabled=true cdn_ip=origin1.flashponer.com cdn_nodes_resolve_ip=false cdn_role=origin 

  • الأصل 2

 cdn_enabled=true cdn_ip=origin2.flashponer.com cdn_point_of_entry=origin1.flashponer.com cdn_nodes_resolve_ip=false cdn_role=origin 

  • Edge 1 - Edge 5 (فقط عنوان الخادم في المعلمة cdn_ip يتم cdn_ip )

 cdn_enabled=true cdn_ip=edge1.flashphoner.com cdn_point_of_entry=origin1.flashponer.com cdn_nodes_resolve_ip=false cdn_role=edge 

يمكن أن تكون شبكة CDN مفيدة أيضًا إذا تم توزيع المشتركين جغرافيًا ، على سبيل المثال ، يعيش المشاهدون المحتملون لدينا في أوروبا وأمريكا.



مثال على ذلك:


  • أصل الاتحاد الأوروبي

 cdn_enabled=true cdn_ip=origin_eu.flashponer.com cdn_nodes_resolve_ip=false cdn_role=origin cdn_groups=EU 

  • أصل الولايات المتحدة

 cdn_enabled=true cdn_ip=origin_us.flashponer.com cdn_point_of_entry=origin_eu.flashponer.com cdn_nodes_resolve_ip=false cdn_role=origin cdn_groups=US 

  • الحافة 1 الاتحاد الأوروبي

 cdn_enabled=true cdn_ip=edge1_eu.flashphoner.com cdn_point_of_entry=origin_eu.flashponer.com cdn_nodes_resolve_ip=false cdn_role=edge cdn_groups=EU 

  • حافة 1 الولايات المتحدة

 cdn_enabled=true cdn_ip=edge1_us.flashphoner.com cdn_point_of_entry=origin_eu.flashponer.com cdn_nodes_resolve_ip=false cdn_role=edge cdn_groups=US 

كلما زاد عدد المشاهدين ، زاد تنوع أجهزة التشغيل والقنوات لهذه الأجهزة. لضمان جودة البث إلى أجهزة مختلفة ، على الأرجح ، ستكون هناك حاجة إلى تحويل الفيديو ، والذي يمكن تخصيصه لخوادم CDN Transcoder الخاصة.



مثال على ذلك:


  • الأصل

 cdn_enabled=true cdn_ip=origin.flashponer.com cdn_nodes_resolve_ip=false cdn_role=origin cdn_groups=default 

  • Transcoder الاتحاد الأوروبي

 cdn_enabled=true cdn_ip=transcoder_eu.flashponer.com cdn_point_of_entry=origin.flashponer.com cdn_nodes_resolve_ip=false cdn_role=transcoder cdn_groups=EU 

  • الحافة 1 الاتحاد الأوروبي

 cdn_enabled=true cdn_ip=edge1_eu.flashphoner.com cdn_point_of_entry=origin.flashponer.com cdn_nodes_resolve_ip=false cdn_role=edge cdn_groups=EU 

بالنسبة لتحويل الشفرة ، كما اكتشفنا خلال الاختبار ، فإن عدد مراكز المعالج مهم. من خط التكوين الأمثل لوحدة المعالجة المركزية ، أغلى 32 وحدة معالجة فردية ، ذاكرة وصول عشوائي سعتها 64 جيجابايت هي الأنسب. في الوقت نفسه ، في الأسطر الأخرى ، يمكن أن تكون التكوينات التي تحتوي على كمية كبيرة من الذاكرة قريبة من عدد وحدات المعالجة المركزية (CPU) أكثر تكلفة بكثير. لسوء الحظ ، لن ينجح الحفظ على محولات الشفرة: نظرًا لأن الفيديو يتم ترميزه بالإطار ، يجب أن يكون هناك ذاكرة كافية لجميع الصور ومعالجات لمعالجة جميع التدفقات.


عند نشر CDN ، من المفيد إنشاء عدة خوادم بنفس التهيئة في نفس الوقت. ومع ذلك ، بالنسبة لشبكات CDN الموزعة جغرافيا ، يجب أن يكون نفس خوادم Edge و Transcoder في مراكز بيانات مختلفة.


استنتاج


لذلك ، قمنا بنشر واختبار خادم صغير لتدفق فيديو WebRTC مع زمن استجابة منخفض على DigitalOcean ، وتأكدنا من أن الخادم في التكوين الأدنى مناسب ليس فقط للاختبار ، ولكن أيضًا للاستخدام في المشروعات الصغيرة ، تلقينا بيانات للتحجيم اعتمادًا على العدد المتوقع للمشاهدين ، وتطرق إلى موضوع نشر CDN ، والذي في حد ذاته يستحق مقالة منفصلة. ابق معنا ، لتستمر ...


مراجع


إن Flashphoner WebCallServer في موقع DigitalOcean Marketplace هو صورة سابقة البناء لخادم اتصال الويب في DigitalOcean.


دفق WebRTC ذو زمن انتقال منخفض هو شبكة توصيل محتوى تستند إلى Web Call Server.

Source: https://habr.com/ru/post/ar476546/


All Articles