المتطلبات • النشر • الاشتراك
Red5 Pro HTML Streaming Testbed
يحتوي هذا المستودع على مشروع بسيط مع عدد من الأمثلة التي يمكن استخدامها للاختبار والمرجع لـ Red5 Pro Webrtc SDK.
متطلبات
ستحتاج إلى Red5 Pro Server Web- (أو محليًا) يمكن الوصول إليها لمتصفح العميل (Mobile & Desktop) للاتصال بها.
لمزيد من المعلومات ، يرجى زيارة https://www.red5.net/.
توليف المتصفح
يهدف Red5 Pro WebRTC SDK إلى استخدام WEBRTC لحل البث الخاص به (كل من النشر والاشتراك) ، ولكنه يوفر أيضًا دعم HLS للمتصفحات التي تدعمها أصليًا (على سبيل المثال ، SAFARI للهاتف المحمول وسطح المكتب).
يمكن الاطلاع على مزيد من المعلومات حول إمكانية تجميع المتصفح في معلومات Connecection PEER WEBRTC على caniuse.com.
الناشر
يشير مصطلح الناشر في سياق Red5 Pro إلى عميل ينتج دفق البث. هناك نوعان من الحالات من SDK يمكن استخدامهما لبدء ناشر :
-
WHIPClient - يعتمد WHIPClient على protocl الابتلاع WebRTC -HTTP لإنشاء اتصال من خلال سلسلة من طلبات HTTP/S. -
RTCPublisher - يعتمد RTCPublisher على اتصال WebSocket لإنشاء جلسة بث.
يكون تسلسل اتصال WHEPClient سريعًا جدًا - ~ 1 ثانية - في حين أن RTCPublisher ، نظرًا لاعتماده على WebSocket قد يستغرق ما يقرب من 3 إلى 5 ثوان لاتصال الدفق.
المشترك
يشير مصطلح المشترك في سياق Red5 Pro إلى عميل يستهلك ويلعب دفق البث المباشر بالفعل. هناك ثلاثة أنواع من الحالات من SDK يمكن استخدامها لبدء المشترك :
-
WHEPClient - يعتمد WHEPClient على بروتوكول WebRTC -HTTP للخروج لإنشاء اتصال من خلال سلسلة من طلبات HTTP/S. -
RTCSubscriber - يعتمد RTCSubscriber على اتصال WebSocket لإنشاء جلسة بث. -
HLSSubscriber - يعتمد HLSSubscriber على القدرة الأصلية على تشغيل تدفقات HLS (على سبيل المثال ، SAFARI للهاتف المحمول وسطح المكتب).
تسلسل اتصال WHEPClient سريع للغاية - ~ 1 ثانية - في حين أن RTCPublisher ، نظرًا لاعتماده على WebSocket يمكن أن يستغرق ما يقرب من 3 إلى 5 ثوانٍ للاتصال بالدفق
لا تمر HLSSubscriber بتسلسل اتصال ويقوم بتدفق HLS مباشرة من الخادم ، ومع ذلك فإنه يحتوي على زمن انتقال يصل إلى 6 ثوانٍ بسبب طول شرائحه الحية.
ملاحظة : تم تقديم WHIPClient و WHEPClient في الإصدار 11.0.0 من Red5 Pro Webrtc SDK.
يثبت
ستحتاج إلى تعديل حقل المضيف من صفحة الإعدادات للإشارة إلى عنوان IP الخاص بمثيل الخادم. إذا لم تفعل ذلك ، فلن تعمل الأمثلة عند الإنشاء. إذا كنت تقوم بتشغيل الخادم محليًا ، فيجب أن يكون جهازك وجهازك المحمول على نفس شبكة WiFi.
ملاحظة على TLS و CORS
من المهم أن نلاحظ أن بعض هذه الأمثلة - وتحديداً تلك التي تتضمن النشر باستخدام WEBRTC - تتطلب تشغيلها على TLS ، وبالتالي ، يتم تقديمها عبر HTTPs. إذا كان تشغيل الأمثلة على localhost يجب أن لا ترى مشكلات ، ولكن إذا تم نشر الخادم الخاص بك عن بُعد ، فستحتاج إلى التأكد من تقديم هذه الأمثلة عبر HTTPs وإعدادات مشاركة موارد المنشأ (CORs) المناسبة.
- اقرأ المزيد عن Red5 Pro و SSL.
- مزيد من المعلومات حول cors.
تعليمات
لتحديد عنوان IP الخاص بمثيل الخادم ، افتح testbed WebApp في متصفح وانتقل إلى صفحة الإعدادات إذا لم يتم تقديمها عند الإطلاق. للوصول إلى الإعدادات مرة أخرى ، حدد العنصر المنزلي من قائمة الأمثلة الموجودة في الأعلى.
لتحديد المضيف باستخدام IP الخاص بمثيل الخادم ، انقر فوق حقل المضيف F في النموذج وأدخل عنوان IP المحلي أو البعيد - على سبيل المثال ، 10.0.0.5 ، 76.199.199.199 .
تلميح: يمكنك أيضًا فتح الصفحة المقصودة لمثيل الخادم الخاص بك في المنفذ 5080 (أي ، http://localhost:5080 إذا تم إطلاقه محليًا) وستقوم الصفحة بعرض IP في الزاوية العلوية اليمنى.
خيار الإعدادات السوط/WEEP
يمكنك تحديد تفضل WHIP/WHEP من صفحة الإعدادات . من خلال تحديد هذا الخيار ، ستستخدم جميع الاختبارات WHEPClient و WHIPClient للنشر والاشتراك ، على التوالي.
إذا قررت إلغاء تحديد خيار WHIP/WHEP ، فستعود جميع الاختبارات إلى استخدام RTCPublisher و RTCSubscriber للنشر والفروع ، على التوالي. تتطلب هذه الحالات دعم WebSocket في المتصفح أثناء مرحلة التفاوض. بمجرد إجراء الاتصال ، يتحول نظام نقل الرسائل إلى RTCDataChannel ويتم إغلاق WebSocket.
أمثلة
نشر
| الناشر |
|---|
مثال الناشر الأساسي باستخدام WEBRTC ، مع خيار لاستخدام إما WEBRTC-HTTP ابتلاع (ويعرف أيضًا باسم WHIP ) أو WebSockets لإنشاء اتصال بث. |
| إلحاق |
|---|
| يوضح تسجيل دفق على الخادم مع خيار إلحاق. |
| المصادقة |
|---|
| يوضح المصادقة مع plugin البسيطة للنشر. |
| مصدر الكاميرا |
|---|
| يوضح اختيار الكاميرا المطلوبة للنشر مع. |
| مبادلة الكاميرا |
|---|
يوضح طلبًا للحصول على MediaStream مع مصدر video محدد للقيد استنادًا إلى كاميرات المواجهة الخلفية والأمامية لجهاز محمول ومتصفح يدعم موانع الوسائط facingMode . |
| إعدادات مخصصة |
|---|
| يتيح لك تخصيص إعدادات بث الوسائط لناشر WEBRTC. |
| إعدادات الصوت المخصصة |
|---|
| يتيح لك تخصيص إعدادات الصوت لناشر WEBRTC. |
| مبادلة MediaStream |
|---|
يوضح استخدام replaceTrack للتبديل في مصدر مختلف للكاميرا ديناميكيًا للناشرين المستندة إلى WBRTC. |
| التقاط الصور |
|---|
| يوضح التقاط صورة مقطع فيديو مباشر يتم نشره. |
| صامت |
|---|
| صوت كتم وصوت للاختراق لمقطع فيديو مباشر يتم نشره. |
| سِجِلّ |
|---|
| يوضح تسجيل دفق إلى الخادم لتشغيل VOD (الفيديو بناءً على الطلب). |
| إلحاق |
|---|
| يوضح وظيفة تطبيق التسجيل دفقًا إلى الخادم لتشغيل VOD (فيديو عند الطلب). |
| مكالمة عن بعد |
|---|
| يوضح إرسال رسالة عن بعد إلى جميع العملاء المشتركين. |
| مرحلة ذهابا وإيابا |
|---|
| مثال على استخدام مصادقة الرحلة المستديرة مع Red5 Pro. |
| مشاركة الشاشة |
|---|
مثال على استخدام إمكانيات مشاركة الشاشة في Chrome و Firefox . للاستخدام مع مثال مشاركة شاشة الاشتراك. |
| كائن مشترك |
|---|
| يوضح استخدام كائن مشترك عن بُعد لإرسال المعلومات بين العملاء المتصلين واستلامهم. |
| تدفق وسائل التواصل الاجتماعي دفع |
|---|
| مثال على إعادة بث البث المباشر إلى منصة وسائل التواصل الاجتماعي. |
| VP8 |
|---|
| مثال لطلب برنامج ترميز الفيديو VP8 عند النشر |
النشر - أمثلة مدير الدفق
| دفق مدير |
|---|
| يوضح استخدام API Red5 Pro Stream Manager لنشره إلى أصل مجموعة Autoscaling. |
| دفق مدير الوكيل |
|---|
| يوضح استخدام Red5 Pro Stream Manager كوكيل Websocket SSL لنشر Webrtc إلى أصل مجموعة Autoscaling. |
| Dream Manager Proxy Camera SELECT |
|---|
| يوضح استخدام Red5 Pro Stream Manager كوكيل WebSocket SSL لنشر Webrtc إلى أصل مجموعة Autoscaling مع Camera Select. |
| إعدادات Proxy Manager Stream |
|---|
| يوضح استخدام Red5 Pro Stream Manager كوكيل WebSocket SSL لنشر WebRTC مع إعدادات الفيديو المخصصة لأصل مجموعة Autoscaling. |
| إعدادات الوكيل Manager Stream مع الصوت |
|---|
| يوضح استخدام Red5 Pro Stream Manager كوكيل WebSocket SSL لنشر Webrtc مع إعدادات الصوت المخصصة لأصل مجموعة Autoscaling. |
| دفق مدير الوكيل ذهابا وإيابا |
|---|
| مثال على استخدام مصادقة ذهابًا وإيابًا مع Red5 Pro Over Stream Manager Proxy. |
| شاشة PROXY SCREEN |
|---|
| مثال على استخدام إمكانيات مشاركة الشاشة في Chrome و Firefox . للاستخدام مع مثال على شاشة STREAM Manager Manager Proxy. |
| دفق دفق دفق وسائل التواصل الاجتماعي المدير |
|---|
| مثال على إعادة بث البث المباشر إلى منصة وسائل التواصل الاجتماعي. |
| نموذج توفير Dream Manager Transcode |
|---|
| يوفر نموذجًا سهلاً لنشر حكم جديد لمدير البث المباشر للبث ABR. بمجرد نشر الحكم ، استخدم مشفر الوسائط المفضل لديك لبث المتغيرات. |
| TRANDER TRANSCODER MANGARE |
|---|
| يوفر نموذجًا سهلاً لنشر حكمًا جديدًا لمدير البث للبث ABR وبدء بث متغير واحد باستخدام TransCoder. |
| Transcoder PROXY MANGARET مع المصادقة |
|---|
| يوفر نموذجًا سهلاً لنشر حكمًا جديدًا إلى Manager للبث ABR وبدء بث متغير واحد باستخدام Transcoder ، بما في ذلك المصادقة. |
| Dream Manager التحقق من صحة الوكيل |
|---|
| مثال على استخدام معلمات التحقق من الصحة مع Red5 Pro Over Proxy Proxy. |
متعددة
| في اتجاهين |
|---|
| يوضح النشر في وقت واحد أثناء الاشتراك - السماح للمحادثة. يشمل الكشف عن الدفق والاتصال التلقائي. |
| وكيل مدير تيار ثنائي الاتجاه |
|---|
| مثال ثنائي الاتجاه من خلال مدير تيار - بما في ذلك استخدام الوكيل. يشمل الكشف عن الدفق والاتصال التلقائي. |
| مؤتمر |
|---|
| يوضح الاتصالات متعددة الأحزاب باستخدام Red5 Pro. كما يوضح استخدام الكائنات المشتركة كإشعارات للتعرف على إضافة وإزالة الأطراف البث. |
| المؤتمر - مدير الدفق |
|---|
| يوضح الاتصالات متعددة الأحزاب باستخدام Red5 Pro Over Stream Manager. كما يوضح استخدام الكائنات المشتركة كإشعارات للتعرف على إضافة وإزالة الأطراف البث. |
| كائن مشترك (WebSockets فقط) |
|---|
| يوضح استخدام الكائنات المشتركة من خلال وكيل WebSocket من Red5 Pro HTML SDK. |
الاشتراك
| المشترك |
|---|
مثال المشترك الأساسي مع الفشل. IE ، إذا لم يكن هناك دعم متصفح WEBRTC ، فسيتم اكتشاف First Flash Player ، ثم HLS. |
| 360 |
|---|
| مثال على الاشتراك في دفق كاميرا 360 |
| الصوت فقط |
|---|
| يوضح تشغيل دفق الصوت فقط. |
| المصادقة |
|---|
| يوضح المصادقة مع plugin البسيطة للاشتراك. |
| التقاط الصور |
|---|
| يوضح التقاط صورة مقطع فيديو مباشر يتم استهلاكه. |
| تَجَمَّع |
|---|
| يوضح الوصول إلى عنوان IP من API Red5 Pro Cluster للتخلي عن دفق مباشر. |
| HLS |
|---|
| هذا مثال على الاشتراك في دفق باستخدام HLS فقط. في حالة عدم دعم HLS أصلاً من قبل المتصفح ، يتم استخدام مكتبة HLS.JS الثالثة. |
| التقاط الصور |
|---|
يوضح هذا المثال التقاط عملية تشغيل ثابت باستخدام واجهة برمجة تطبيقات drawImage لـ CanvasRenderingContext2D . |
| إعادة الاتصال |
|---|
| يوضح آلية تجاوز الفشل لـ Red5 Pro HTML SDK لتحديد مشترك يعتمد على دعم المتصفح وللتوصيل التلقائي عند إغلاق البث أو فقدان الاتصال. |
| مكالمة عن بعد |
|---|
| يوضح تلقي رسالة عن بعد من البث. |
| أعد إعادة المحاولة على اسم غير صالح |
|---|
يوضح استخدام خاصية تكوين maintainConnectionOnSubscribeErrors للمشترك من أجل الحفاظ على اتصال WebSocket عند أخطاء من طلب subscribe بعد الانتهاء .. |
| مرحلة ذهابا وإيابا |
|---|
| مثال على استخدام مصادقة ذهابًا وإيابًا مع Red5 Pro Over Proxy Proxy |
| مشاركة الشاشة |
|---|
| مثال على استخدام إمكانيات مشاركة الشاشة في Chrome و Firefox . للاستخدام مع مثال مشاركة شاشة النشر. |
| كائن مشترك |
|---|
| يوضح استخدام كائن مشترك عن بُعد لإرسال المعلومات بين العملاء المتصلين واستلامهم. |
| تعليق |
|---|
| مثال على استخدام واجهة برمجة تطبيقات الاستعداد لطلب "توقف مؤقت" في استلام بيانات الفيديو والصوت على MediaStream مع الحفاظ أيضًا على اتصال العميل بالخادم. |
| تبديل الدفق |
|---|
| مثال يوضح تبديل دفق المشترك الحالي إلى دفق مباشر آخر من خلال WEBRTC. |
| تيارين |
|---|
مثال يشترك في دفقين ، باستخدام متغيرات Stream1 Name و Stream 2 Name من صفحة الإعدادات. |
| كتم الفيديو |
|---|
| مثال لإظهار الاشتراك في البث الذي يحتوي على دفق الفيديو الخاص به "صامت". |
| VP8 |
|---|
| يوضح طلب ترميز الفيديو VP8 لدفق التشغيل. |
الاشتراك - أمثلة مدير الدفق
| دفق مدير |
|---|
| يوضح استخدام واجهة برمجة تطبيقات Red5 Pro Stream Manager ، ويتصرف كوكيل WebSocket SSL ، للوصول إلى IP Server IP للاشتراك في دفق مباشر. |
| دفق مدير الوكيل |
|---|
| يوضح استخدام API Red5 Pro Dream Manager للوصول إلى IP Server IP للاشتراك في دفق مباشر. |
| PROXY PROXY MANGARE Reconnect |
|---|
| يوضح آلية تجاوز الفشل لـ Red5 Pro HTML SDK لتحديد مشترك يعتمد على دعم المتصفح وللتوصيل التلقائي عند إغلاق البث أو فقدان الاتصال. |
| منطقة بروكسي مدير دفق |
|---|
| يوضح استخدام API Red5 Pro Dream Manager للوصول إلى IP Server IP للاشتراك في دفق مباشر. |
| مصادقة الرحلة في رحلة دفق المدير |
|---|
| يوضح الاشتراك باستخدام مصادقة رحلة ذهابا وإيابا ، المنطقة المحددة. |
| دفق مدير الوكيل Transcoder (RTC) |
|---|
| يوضح استخدام واجهة برمجة تطبيقات Red5 Pro Stream Manager للوصول إلى الأحكام و IP Server IP للاشتراك في دفق WEBRTC المباشر مع التحكم التكيفي البت. |
| دفق مدير الوكيل Transcoder (RTMP) |
|---|
| يوضح استخدام واجهة برمجة تطبيقات Red5 Pro Stream Manager للوصول إلى الأحكام و IP Server IP للاشتراك في دفق مباشر قائم على الفلاش مع التحكم في البت التكيفي. |
| دفق مدير الوكيل Transcoder (HLS) |
|---|
| يوضح استخدام API Red5 Pro Stream Manager للوصول إلى الأحكام و IP Server IP للاشتراك في دفق مباشر قائم على HLS مع التحكم في معدل البت التكيفي. |
| شاشة PROXY SCREEN |
|---|
| مثال على استخدام إمكانيات مشاركة الشاشة في Chrome و Firefox . للاستخدام مع مثال مشاركة شاشة النشر. |
MIXER - MANGERMAMES
| مشارك في مؤتمر PROXY PROCTRICANT |
|---|
| يوضح استخدام API Red5 Pro Stream Manager للانضمام إلى مؤتمر فيديو مع دفق إرجاع واحد. |
| مضيف مؤتمر PROXY PROXY MANGER |
|---|
| يوضح استخدام API Red5 Pro Stream Manager لاستضافة وإدارة مؤتمر فيديو مع دفق إرجاع واحد. |
| مضيف تكوين شبكة دفق المدير |
|---|
| يوضح استخدام API Red5 Pro Stream Manager لإنشاء وإدارة تكوين العديد من التدفقات المباشرة في دفق واحد. |
| Dream Manager 2x2 مثال على تخطيط شبكة |
|---|
| يوضح تكوين مجموعة من التدفقات المباشرة في شبكة 2 × 2 التي يمكن تحميلها في خلاط Red5 Pro لإنشاء تكوين مع ما يصل إلى 4 تدفقات. |
| Dream Manager 3x3 مثال تخطيط شبكة |
|---|
| يوضح تكوين مجموعة من التدفقات المباشرة في شبكة 3 × 3 التي يمكن تحميلها في خلاط Red5 Pro لإنشاء تكوين مع ما يصل إلى 9 تدفقات. |
| دفق مدير تخطيط شبكة NXN NXN |
|---|
| يوضح تكوين مجموعة من التدفقات المباشرة في شبكة NXN التي يمكن أن تتغير تلقائيًا عند إضافة تدفقات جديدة إليها. يمكن تحميل الصفحة في خلاط Red5 Pro لإنشاء تكوين مع العديد من التدفقات. |
| تخطيط مؤتمر MANGER |
|---|
| يوضح تكوين مجموعة من التدفقات المباشرة في تخطيط مركّز لمؤتمر فيديو حيث يتم تسليط الضوء على مقدم العرض. يمكن تحميل الصفحة في خلاط Red5 Pro لإنشاء مؤتمر فيديو مع دفق إرجاع واحد. |
ملحوظات
- بالنسبة لأمثلة المشترك ، ستحتاج إلى نشر دفق مباشر حاليًا وتسمية بناءً على حقل Dream 1 اسم الإعدادات . يمكنك استخدام جهاز آخر لبدء التدفق باستخدام WebApp هذا ، أو يمكنك أيضًا استخدام متصفح الويب للنشر عبر Flash ، http: // your_red5_pro_server_ip: 5080/live.
- يمكنك رؤية قائمة بالتدفقات النشطة عن طريق التنقل إلى http: // your_red5_pro_server_ip: 5080/live/sumpcribe.jsp (ستحتاج إلى تحديث هذه الصفحة بعد البدء في النشر).
- يمكنك الوصول إلى IP Server لتثبيت Red5 Pro Server - لاستخدامه في حقل المضيف للإعدادات - عن طريق فتح http: // your_red5_pro_server_ip: 5080/وإيجاد IP المطبوعة في الجزء العلوي من الصفحة.
- ما لم تقم بتشغيل الخادم محليًا ، يتطلب نشر WEBRTC شهادة SSL صالحة.