
Alice مطور ذو خبرة كاملة وهو قادر على كتابة إطار عمل مشروع SAAS في إطارها المفضل باستخدام php في أسبوع. في النهاية الأمامية يفضل Vue.js.
يتم طرح البرقيات بواسطة عميل يحتاج ، بكل الوسائل ، إلى تطوير موقع على شبكة الإنترنت ، والذي سيكون مكان التقاء صاحب العمل والموظف لإجراء مقابلة شخصية. بدوام كامل - يعني وجها لوجه ، اتصال الفيديو المباشر في الوقت الحقيقي مع الفيديو والصوت.
"لماذا لا سكايب؟" أنت تسأل. لقد حدث أن المشاريع الخطيرة وكل شركة ناشئة ، بلا شك تعتبر نفسها على هذا النحو ، تحاول تقديم خدمة اتصالات داخلية لعدة أسباب ، بما في ذلك:
1) لا تمنح المستخدمين لمراسلات الجهات الخارجية (سكايب ،
Hangouts ، وما إلى ذلك). اتركهم في الخدمة.
2) مراقبة الاتصالات: سجل المكالمات ، نتائج المقابلة.
3) تسجيل المكالمات (بالطبع ، إخطار كلا الطرفين من التسجيل).
4) لا تعتمد على سياسات وتحديثات خدمات الطرف الثالث. الجميع يعرف هذه القصة: تم تحديث Skype ، وبدأ ...
المهمة تبدو بسيطة. WebRTC عبارة عن google حول هذا الموضوع ، ويبدو أنه يمكنك تنظيم اتصال نظير إلى نظير بين متصفحين ، ولكن تظل الأسئلة:
1) أين يمكن الحصول على خوادم STUN / TURN
2) هل من الممكن الاستغناء عنها
3) كيفية تسجيل مكالمة WebRTC من نظير إلى نظير
4) ماذا سيحدث إذا كنت بحاجة إلى إضافة طرف ثالث إلى المكالمة ، على سبيل المثال ، مدير الموارد البشرية أو أخصائي آخر من صاحب العمل.
اتضح أن WebRTC والنظير إلى النظير فقط لا يكفيان ، وليس من الواضح ما يجب القيام به مع كل هذا لبدء تشغيل وظائف الفيديو المطلوبة للخدمة.
محتوى المادة
الخادم و API
من أجل إغلاق كل هذه البقع البيضاء ، يتم استخدام حلول الخادم وهندسة نظير الخادم. Web Call Server 5.2 - يعد WCS أحد حلول الخادم - منصة تطوير تتيح لك إضافة وظائف الفيديو هذه إلى المشروع ولا تقلق بشأن STUN / TURN واستقرار اتصال نظير إلى نظير.
على أعلى مستوى ، WCS هو جزء خادم JavaScript API +. يتم استخدام واجهة برمجة التطبيقات (API) للتطوير على جافا سكريبت عادي على جانب المستعرض ، ويقوم الخادم بمعالجة حركة مرور الفيديو ، ويعمل كوكيل Stateful لحركة مرور الوسائط.

بالإضافة إلى جافا سكريبت API ، هناك أيضًا Android SDK و iOS SDK ، وهما ضروريان لتطوير تطبيقات الهاتف المحمول الأصلية لنظامي iOS و Android ، على التوالي.
على سبيل المثال ، يبدو نشر دفق إلى خادم (دفق دفق من كاميرا ويب باتجاه الخادم) كما يلي:
sdk الويب
session.createStream({name:”stream123”}).publish();
Android SDK
publishStream = session.createStream(streamOptions) publishStream.publish();
دائرة الرقابة الداخلية SDK
FPWCSApi2Stream *stream = [session createStream:options error:&error]; if(![stream publish:&error]) { //published without errors }
نتيجةً لذلك ، لا يمكنك تطبيق تطبيق ويب فحسب ، بل يمكنك أيضًا تطبيق عمليات مكتملة على Google Play ومتجر التطبيقات مع دعم دفق الفيديو. إضافة SDKs المحمول إلى صورة المستوى الأعلى. سوف تتحول مثل هذا:

تيارات واردة
يبدأ خادم البث ، وهو WCS ، مع التدفقات الواردة. لإعطاء شيء ما ، تحتاج إلى الحصول عليه. لتوزيع تدفقات الفيديو على المشاهدين ، من الضروري أن تدخل هذه التدفقات إلى الخادم ، تمر عبر ذاكرة الوصول العشوائي الخاصة بها وتخرج من بطاقة الشبكة. لذلك ، فإن السؤال الأول الذي قد يكون من المفيد طرحه عند التعرف على خادم الوسائط هو: ما هي البروتوكولات والتنسيقات التي يقبلها هذا الأخير. في حالة WCS ، هذه هي التقنيات التالية: WebRTC ، RTMP ، RTSP ، VOD ، SIP / RTP.

كل بروتوكول يمكن استخدامه من قبل عملاء مختلفين. على سبيل المثال ، عبر WebRTC ، لا يمكن الدخول فقط من دفق من متصفح ، ولكن أيضًا من خادم آخر. نعرض المصادر المحتملة لحركة المرور الواردة في الجدول.
إذا ذهبت عبر مصادر حركة المرور الواردة ، يمكنك إضافة ما يلي:
WebRTC الواردة
يتيح لك Web SDK التقاط ليس فقط الكاميرا والميكروفون ، ولكن أيضًا استخدام إمكانيات واجهة برمجة تطبيقات المتصفح للوصول إلى مشاركة الشاشة. بالإضافة إلى ذلك ، يمكنك التقاط عنصر Canvas التعسفي وكل ما يتم رسمه عليه للبث اللاحق هو دفق قماش.
يتمتع كل من Android SDK و iOS SDK نظرًا لخصائص الهاتف المحمول بالقدرة على التبديل بين الكاميرا الأمامية والخلفية للجهاز أثناء التنقل. يسمح لك هذا بتبديل المصدر أثناء التدفق دون إيقاف التدفق.
يمكن أيضًا الحصول على دفق WebRTC الوارد من خادم WCS آخر بطرق: الدفع والسحب و CDN ، والتي ستتم مناقشتها لاحقًا.

rtmp الواردة
يستخدم بروتوكول RTMP على نطاق واسع في دفق OBS المفضل ، وفي الترميزات الأخرى: Wirecast ، Adobe Media Ensourcer ، ffmpeg ، إلخ. باستخدام أحد هذه الترميزات ، يمكنك التقاط الدفق وإرساله إلى الخادم.
يمكنك أيضًا التقاط دفق RTMP من خادم وسائط آخر أو خادم WCS من
باستخدام طرق الشد والجذب. في حالة الدفع ، يكون البادئ هو الخادم البعيد. في حالة السحب ، ننتقل إلى المحلي لسحب الدفق من البعيد.

RTSP الواردة
تكون مصادر حركة مرور RTSP عادةً كاميرات IP أو خوادم وسائط خارجية تدعم بروتوكول RTSP. على الرغم من حقيقة أنه عند بدء اتصال RTSP ، فإن البادئ هو WCS ، ينتقل حركة مرور الصوت والفيديو في الاتجاه من كاميرا IP نحو خادم WCS. لذلك ، نعتبر الدفق من الكاميرا واردة.

VOD الواردة
للوهلة الأولى ، قد يبدو أن وظيفة VOD (Video On Demand) مرتبطة حصريًا بتدفقات المنتهية ولايته وبتشغيل المتصفحات للملف. في حالتنا ، هذا خطأ بعض الشيء. تقوم WCS بترجمة ملف mp4 بصدق من نظام الملفات إلى المضيف المحلي ، ونتيجة لذلك ، يتم إنشاء دفق وارد ، كما لو كان مصدره مصدر خارجي. علاوة على ذلك ، إذا قمنا بتقييد أحد المشاهدين على ملف mp4 واحد ، فسوف نحصل على VOD الكلاسيكية ، حيث يأخذ المشاهد البث ويقوم بتشغيله من البداية. إذا لم يكن الأمر محدودًا ، فسنحصل على VOD LIVE - وهو نوع مختلف من VOD ، حيث يمكن للمشاهدين تشغيل نفس الملف كدفق ، متصلاً بنقطة التشغيل التي يوجد بها جميع الآخرين حاليًا (وضع بث التلفزيون المسجّل مسبقًا).

SIP / RTP الواردة
لتلقي حركة مرور RTP الواردة داخل جلسة SIP ، تحتاج إلى إعداد مكالمة مع بوابة SIP لجهة خارجية. إذا تم إنشاء الاتصال بنجاح ، فستنتقل حركة مرور الصوت و / أو الفيديو من بوابة SIP ، والتي سيتم لفها في الدفق الوارد على جانب WCS.

تيارات المنتهية ولايته
بعد تلقي الدفق على الخادم ، يمكنك نسخ الدفق المستلم إلى واحد أو أكثر من المشاهدين عند الطلب. يطلب العارض دفقًا من المشغل أو من جهاز آخر. تسمى هذه التدفقات الصادرة أو "تدفقات المشاهدين" ، لأن جلسات هذه التدفقات تبدأ دائمًا بجانب المشاهد / المشغل. تتضمن مجموعة تقنيات التشغيل البروتوكولات / التنسيقات التالية: WebRTC و RTMP و RTSP و MSE و HLS
WebRTC المنتهية ولايته
في هذه الحالة ، تعمل Web SDK و Android SDK و iOS SDK كواجهة برمجة التطبيقات للمشغل. مثال على لعب WebRTC دفق يشبه هذا:
sdk الويب
session.createStream({name:”stream123”}).play();
Android SDK
playStream = session.createStream(streamOptions); playStream.play();
دائرة الرقابة الداخلية SDK
FPWCSApi2Stream *stream = [session createStream:options error:nil]; if(![stream play:&error]) { //published without errors }
هذا يشبه إلى حد كبير واجهة برمجة تطبيقات النشر ، والفرق الوحيد هو ذلك بدلاً من ذلك
يسمى stream.publish () ، stream.play () للتشغيل.
يمكن أن يكون المشغل أيضًا خادم WCS تابعًا لجهة خارجية ، وسيتم توجيهه لالتقاط بث عبر WebRTC من خادم آخر باستخدام طريقة السحب أو لالتقاط دفق داخل CDN.
rtmp المنتهية ولايته

هنا سيكون هناك مشغلات RTMP بشكل أساسي - كل من مشغل الفلاش المشهور وتطبيقات سطح المكتب والمحمول التي تستخدم بروتوكول RTMP ، تستقبل وتدفق دفق RTMP. الحقيقة هي أنه على الرغم من أن Flash ترك المتصفح ، فقد ترك بروتوكول RTMP ، والذي يستخدم على نطاق واسع في عمليات بث الفيديو وعدم توفر دعمه الأصلي في المتصفحات لا يمنع استخدام هذا البروتوكول الناجح تمامًا في تطبيقات العملاء الأخرى. من المعروف أن RTMP يستخدم على نطاق واسع في مشغلات VR لتطبيقات الأجهزة المحمولة لنظامي التشغيل Android و iOS.
RTSP الصادرة

يمكن أن يعمل خادم WCS كخادم RTSP ويوزع الدفق المستلم عبر RTSP ككاميرا IP عادية. في هذه الحالة ، يجب على اللاعب إنشاء اتصال RTSP مع الخادم والتقاط الدفق للتشغيل ، كما لو كان كاميرا IP.
MSE المنتهية ولايته

في هذه الحالة ، يطلب المشغل دفقًا من الخادم باستخدام بروتوكول Websocket. يوفر الخادم بيانات الصوت والفيديو على مآخذ الويب. تصل البيانات إلى المتصفح ويتم تحويلها إلى مجموعات يمكن للمتصفح تشغيلها بفضل امتداد MSE الأصلي المدعوم من الصندوق. المشغل يعمل في نهاية المطاف على أساس عنصر الفيديو HTML5.
HLS المنتهية ولايته

هنا ، تعمل WCS كخادم HLS أو خادم ويب يدعم HLS (HTTP Live Streaming). بعد ظهور الدفق الوارد على الخادم ، يتم إنشاء قائمة تشغيل HLS بتنسيق .m3u8 ، والتي يتم منحها للاعب استجابةً لطلب HTTP. تصف قائمة التشغيل الأجزاء التي يجب على المشغل تنزيلها وعرضها. يقوم المشغل بتنزيل مقاطع الفيديو وتشغيله على صفحة المستعرض ، وعلى الجهاز المحمول ، وعلى سطح المكتب ، وفي جهاز استقبال Apple TV ، وفي أي مكان تتم المطالبة بدعم HLS.
البريد الوارد والصادر
إجمالي لدينا 5 واردة ونفس العدد من أنواع الدفق الصادرة. نحن قائمة
لهم في الجدول:
أي يمكننا توجيه التدفقات إلى الخادم ويمكننا الاتصال بهم ولعب اللاعبين المناسبين لهذه المسألة. لتشغيل دفق WebRTC ، استخدم Web SDK. لتشغيل WebRTC دفقًا كـ HLS ، استخدم مشغل HLS ، إلخ. تيار واحد يمكن أن تقوم به العديد من المتفرجين. واحد إلى العديد من عمليات البث.
الآن سنحدد الإجراءات التي يمكن تنفيذها بالتيارات.
تيار التلاعب الواردة
تيارات المنتهية ولايته على المتفرجين لا تلاعب بشكل خاص. في الواقع ، إذا كان العارض قد أنشأ جلسة مع الخادم وكان يستخدم بالفعل نوعًا من الدفق ، فلا توجد طريقة لإجراء أي تغييرات عليه دون كسر الجلسة. لهذا السبب ، تتم جميع عمليات التلاعب والتغييرات على التدفقات الواردة ، عند النقطة التي لم يحدث فيها التكرار بعد. يتم بعد ذلك تعميم الدفق الذي خضع للتغيرات على جميع المشاهدين المتصلين.
تشمل العمليات على الجداول:
- سجل
- إزالة لقطة
- إضافة تيار إلى خلاط
- تيار الترميز
- إضافة علامة مائية
- إضافة مرشح FPS
- تدوير الصورة بنسبة 90 ، 180 ، 270 درجة
الواردة تيار تسجيل

ربما الأكثر قابلية للفهم وكثيرا ما واجهتها من الوظائف. في الواقع ، تتطلب التدفقات التسجيل في العديد من الحالات: ندوة عبر الإنترنت ، درس باللغة الإنجليزية ، استشارة ، إلخ.

يمكن بدء التسجيل باستخدام Web SDK أو REST API مع طلب خاص:
/stream/startRecording {}
يتم حفظ النتيجة في نظام الملفات كملف mp4.
إزالة لقطة

مهمة شائعة بنفس القدر هي التقاط صور للتيار الحالي لعرض الرموز على الموقع. على سبيل المثال ، لديك 50 تدفقات في نظام المراقبة بالفيديو ، ولكل منها مصدر كاميرا IP واحدة. إن عرض جميع سلاسل الرسائل الخمسين في صفحة واحدة لا يمثل مشكلة بالنسبة لموارد المتصفح فحسب ، بل إنه لا معنى له أيضًا. في حالة 30 FPS ، سيكون إجمالي FPS للصورة المتغيرة 1500 لقطة في الثانية ولن تقبل العين البشرية هذا التردد. كحل ، يمكنك تكوين التقطيع التلقائي أو تناول لقطات عند الطلب ، وفي هذه الحالة يمكنك عرض الصور على موقع بتردد تعسفي ، على سبيل المثال ، إطار واحد في 10 ثوانٍ. يمكن إزالة اللقطات من SDK ، عبر واجهة برمجة تطبيقات REST ، أو شرائح تلقائيًا.

يدعم خادم WCS طريقة REST التالية لإزالة اللقطات:
/stream/snapshot

مضيفا تيار إلى الخلاط

يمكن دمج صورة من مصدرين أو أكثر في واحد لعرضها على المشاهدين. هذا الإجراء يسمى الخلط. أمثلة أساسية: 1) المراقبة بالفيديو من كاميرات متعددة على الشاشة في صورة واحدة. 2) الفيديو كونفرنس ، حيث يتلقى كل مستخدم دفق واحد لتوفير الموارد ، والتي يتم خلط الباقي. يتم التحكم في الخلاط من خلال واجهة برمجة تطبيقات REST وله وضع تشغيل MCU لإنشاء مؤتمرات فيديو.
أمر REST لإضافة دفق إلى الخلاط:
/mixer/startup
تيار الترميز

أحيانًا ما تكون هناك دفق مطلوب للضغط من أجل التكيف مع مجموعات معينة من الأجهزة العميلة حسب الدقة ومعدل البت. لهذا ، يتم استخدام الترميز. يمكن تمكين Transcoding على جانب Web SDK ، من خلال REST API ، أو تلقائيًا من خلال عقدة Transcoding خاصة في CDN. على سبيل المثال ، عند إدخال فيديو بحجم 1280 × 720 ، يمكن تحويله إلى 640 × 360 لتوزيعه على العملاء من منطقة جغرافية ذات نطاق ترددي منخفض تقليديًا. أين أصحابك ، إيلون موسك؟

طريقة REST المستخدمة:
/transcoder/startup
إضافة علامة مائية

من المعروف أنه يمكن سرقة أي محتوى وتحويله إلى WebRip ، بغض النظر عن الحماية التي يتمتع بها اللاعب. إذا كان المحتوى الخاص بك ذا قيمة كبيرة حقًا ، فيمكنك تضمين علامة مائية أو شعار فيه مما يزيد من تعقيد استخدامه والعرض العام بشكل كبير. لإضافة علامة مائية ، ما عليك سوى تحميل صورة بتنسيق PNG وسيتم إدراجها في دفق الفيديو عن طريق تحويل الشفرة. لذلك ، سيتعين عليك إعداد اثنين من النوى وحدة المعالجة المركزية على جانب الخادم في حال كنت لا تزال تقرر
إضافة علامة مائية إلى الدفق. من أجل عدم تحريف العلامة المائية على الخادم عن طريق تحويل الشفرة ، من الأفضل إضافتها مباشرةً إلى المشفر / المشفر ،
غالبا ما توفر هذه الفرصة.
مضيفا تصفية FPS

في بعض الحالات ، يجب أن يكون الدفق مع FPS زوجي (إطارات في الثانية). يمكن أن يكون هذا مفيدًا إذا نقلنا البث إلى مورد تابع لجهة خارجية مثل Youtube أو Facebook ، أو لعبناه مع مشغل HLS حساس. تتطلب التصفية مرة أخرى تحويل الشفرة ، لذا احسب قوة الخادم الخاص بك واستعد للتكوين بالإضافة إلى نواة لكل تيار إذا تم التخطيط لهذه العملية.
تدوير الصورة 90 ، 180 ، 270 درجة

تتمتع الأجهزة المحمولة بالقدرة على تغيير دقة البث المنشور اعتمادًا على زاوية الدوران. على سبيل المثال ، بدأوا في التدفق ، مع الاستمرار على أفقيا أفقيا ، ثم قاموا بتشغيل جانبهم. وفقًا لمواصفات WebRTC ، يجب أن يشير متصفح تدفق الجهاز المحمول ، وفي هذه الحالة ، إلى iOS Safari إشارة إلى الخادم. يجب على الخادم ، بدوره ، إرسال هذا الحدث إلى جميع المشتركين. خلاف ذلك ، فإنه قد تحول
بحيث يقوم المشغل بوضع الهاتف على جانبه ، لكن يرى أن الكاميرا ما زالت في وضع مستقيم ، في حين أن المشاهدين مكدسون على جانبها. للعمل مع المنعطفات على جانب SDK ، يتم تضمين ملحق cvoExtension المقابل.
أين هي السيطرة على تيارات واردة
تلقائي - يتم ضبط التكوين عادة على جانب الخادم
الإعدادات.
تيار التتابع
الترحيل هو أيضًا خيار لمعالجة التدفقات التي تدخل إلى الخادم وتتضمن إجبار الدفق على خادم طرف ثالث. مرادف للتتابع هو كلمات مثل: النسخ المتماثل ، الضغط ، الحقن.
يمكن تنفيذ الترحيل باستخدام أحد البروتوكولات التالية: WebRTC ، RTMP ، SIP / RTP. يوضح الجدول الاتجاه الذي يمكن فيه نقل التيار.
WebRTC التقوية

يمكن نقل الدفق إلى خادم WCS آخر إذا كان هناك حاجة لسبب ما لإتاحة البث على خادم آخر. يتم الترحيل من خلال واجهة برمجة تطبيقات REST باستخدام طريقة / دفع. عند استلام طلب REST من هذا القبيل ، تتصل WCS بالخادم المحدد وتنشر دفق خادم خادم عليه. بعد ذلك ، يصبح الدفق متاحًا للتشغيل على جهاز آخر.
/pull/push
- طريقة REST المستخدمة.
ترحيل RTMP

كما هو الحال مع ترحيل WebRTC ، من الممكن أيضًا نقل RTMP إلى خادم آخر. سيكون الفرق فقط في بروتوكول الترحيل. يتم أيضًا تنفيذ ترحيل RTMP عبر / دفع ويسمح لك بنقل الدفق إلى كل من خوادم RTMP من طرف ثالث وإلى الخدمات التي تدعم RTMP Ingest: Youtube ، وتدفق Facebook ، إلخ. وبالتالي ، يمكن ترحيل دفق WebRTC إلى RTMP. مع نفس النجاح في RTMP ، يمكنك نقل أي تدفق آخر يدخل الخادم ، على سبيل المثال ، RTSP أو VOD.
يتم نقل دفق الفيديو إلى خادم RTMP آخر باستخدام مكالمات REST
/push/startup
- دعوة REST المستخدمة.
SIP / RTP التقوية

نادرا ما تستخدم وظيفة. في معظم الأحيان في المؤسسة. على سبيل المثال ، عندما تحتاج إلى إجراء مكالمة SIP مع خادم مؤتمرات SIP خارجي وإعادة توجيه دفق الصوت أو الفيديو إلى هذه المكالمة بحيث يرى جمهور المؤتمر بعض محتوى الفيديو: "الرجاء مشاهدة هذا الفيديو" أو "الزملاء ، ولكن الآن دعونا ننظر إلى الدفق باستخدام IP كاميرات من موقع البناء. " يجب أن تفهم أن المؤتمر نفسه موجود ويتم إدارته في هذه الحالة على خادم VKS خارجي مع دعم SIP (لقد اختبرنا الحل مؤخرًا من Polycom DMA) ، نحن فقط نقوم بتوصيل ونقل البث الحالي إلى هذا الخادم. تسمى وظيفة REST API / حقن وتخدم فقط لهذه الحالة.
أمر REST API:
/call/inject_stream/startup
توصيل الخوادم بشبكة معالجة محتوى CDN
خادم واحد عادة ما يكون له كمية محدودة من الموارد. لذلك ، بالنسبة لعمليات البث الكبيرة عبر الإنترنت ، حيث يصل حساب الجمهور إلى الآلاف وعشرات الآلاف ، فإن التوسع ضروري. يمكن دمج عدة خوادم WCS في شبكة واحدة لتوصيل محتوى CDN. داخليًا ، ستعمل CDN من خلال WebRTC للحفاظ على زمن الاستجابة المنخفض أثناء التدفق.

يمكن تكوين الخادم في أحد الأدوار التالية: الأصل ، الحافة ، محول الشفرة. خوادم من النوع الأصلي - تستقبل حركة المرور وتوزعها على عقد حافة خوادم Edge المسؤولة عن توصيل البث إلى المشاهدين. إذا كان من الضروري إعداد دفق في عدة قرارات ، يتم تضمين العقد Transcoder في المخطط ، والتي تأخذ مهمة المستهلكة للموارد من تدفقات الترميز.
لتلخيص
WCS 5.2 هو خادم لتطوير التطبيقات مع دعم الصوت والفيديو الحقيقي للمتصفحات والأجهزة المحمولة. يتم توفير أربعة واجهات برمجة التطبيقات للتطوير: Web SDK و iOS SDK و Android SDK و REST API. يمكنك نشر (تغذية) دفق الفيديو على الخادم باستخدام خمسة بروتوكولات: WebRTC ، RTMP ، RTSP ، VOD ، SIP / RTP. من الخادم ، يمكنك تشغيل التدفقات مع اللاعبين باستخدام خمسة بروتوكولات: WebRTC ، RTMP ، RTSP ، MSE ، HLS. يمكن التحكم في التدفقات وتنفيذها عليها مثل عمليات التسجيل ، التقطيع ، التقطيع ، المزج ، تحويل الشفرة ، إضافة علامة مائية ، تصفية FPS ، بث مقاطع الفيديو على الأجهزة المحمولة. يمكن نقل التدفقات إلى خوادم أخرى عبر بروتوكولات WebRTC و RTMP ، وكذلك إعادة توجيهها إلى مؤتمرات SIP. يمكن دمج الخوادم في شبكة تسليم المحتوى وتوسيع نطاقها لمعالجة عدد تعسفي من تدفقات الفيديو.
ما يجب أن تعرفه أليس للعمل مع الخادم
يجب أن يكون المطور قادراً على استخدام Linux. فرق من هذا النوع في
يجب ألا يتسبب سطر الأوامر في حدوث تشويش:
tar -xvzf wcs5.2.tar.gz
cd wcs5.2
./install.sh
tail -f flashphoner.log
ps aux | grep WebCallServer
top
تحتاج Vanilla JavaScript أيضًا إلى التمكن من الوصول إلى
على شبكة الإنترنت.
// session.createStream({name:'mystream'}).publish(); // session.createStream({name:'mystream'}).play();
القدرة على العمل مع الخلفية هي أيضا مفيدة.

لا يمكن لـ WCS فقط تلقي أوامر التحكم من خلال واجهة برمجة تطبيقات REST ، ولكن أيضًا إرسال الخطافات - إعلامات حول الأحداث التي تحدث عليه.
على سبيل المثال ، عند محاولة إنشاء اتصال من مستعرض أو تطبيق جوال ، ستقوم WCS بالاتصال بربط / connect ، وعند محاولة تشغيل دفق ، ستتصل بربط playStream. لذلك ، سيتعين على المطور أن يظل قليلاً في النهاية الخلفية ، بحيث يكون قادرًا على كتابة عميل REST بسيط وخادم REST صغير لمعالجة السنانير.
مثال API REST
/rest-api/stream/find_all
- مثال على REST API يسرد قائمة التدفقات على الخادم
مثال ربط REST
https://myback-end.com/hook/connect
- ربط REST / ربط المعالجة على الجانب الخلفي.
Linux و JavaScript و REST Client / Server هي العناصر الثلاثة التي
بما يكفي لتطوير خدمة الإنتاج على منصة WCS التي تعمل
مع تيارات الفيديو.
يتطلب تطوير تطبيقات الأجهزة المحمولة معرفة Java و Objective-C
لنظام التشغيل Android و iOS على التوالي.
التثبيت والإطلاق
هناك ثلاث طرق لإطلاق WCS بسرعة اليوم:
1) تثبيت على Centos7 أو Ubuntu 16.x LTS أو Ubuntu 18.x LTS ، و
إلخ تسترشد بمقال من الوثائق .
أو
2) التقط الصورة النهائية على Amazon EC2 .
أو غير ذلك
3) التقط صورة الخادم النهائية على DigitalOcean .
وبدء تطوير مشروع مثير مع ميزات تدفق الفيديو.
تحولت مراجعة المقال إلى أن تكون ضخمة جدا. شكرا على ذلك
قراءة الصبر.
هل لديك تدفق جيدة!
مراجع
WCS 5.2 - خادم WebRTC
التثبيت والإطلاق
تثبيت وتشغيل WCS
إطلاق صورة مسبقة الصنع على Amazon AWS
إطلاق الصورة النهائية على DigitalOcean
SDK
وثائق SDK على شبكة الإنترنت
وثائق SDK الروبوت
وثائق IOS SDK
الحالات
تيارات واردة
تيارات المنتهية ولايته
إدارة التدفق
تيار التتابع
WebRTC منخفضة الكمون CDN
الوثائق
خادم الويب دعوة 5.2 الوثائق