إرسال محتوى YouTube المباشر عبر بروتوكول RTMPS

يشرح هذا المستند كيفية استخدام بروتوكول RTMPS لبث البيانات المباشرة على YouTube من برنامج ترميز. بروتوكول RTMPS هو بث فيديو عادي باستخدام بروتوكول RTMP (بروتوكول المراسلة في الوقت الفعلي) يتم نقله عبر اتصال طبقة المقابس الآمنة. هذا المستند مخصّص لمورّدي برامج الترميز الذين يريدون إضافة دعم بروتوكول RTMPS إلى برامج الترميز التي تتيح حاليًا استخدام بروتوكول RTMP.

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

المتطلبات

يتطلّب إرسال المحتوى باستخدام بروتوكول RTMPS إلى بث YouTube المباشر بعض الشروط المسبقة:

  • يجب أن يكون كل جزء من عنوان URL للاتصال (<protocol>://<server>/<path>) صحيحًا:
    • يجب أن يكون البروتوكول rtmps.
    • يجب أن يكون الخادم نقطة إرسال صالحة لبروتوكول RTMPS على YouTube.
    • يجب أن يكون المسار اسم تطبيق RTMP صالحًا في بث YouTube المباشر.
  • يجب إجراء الاتصال بالمنفذ 443 على خادم الإرسال.
  • يجب إرسال بث الوسائط المتعددة باستخدام بروتوكول RTMPS، أي باستخدام بروتوكول RTMP عبر اتصال طبقة المقابس الآمنة.

الحصول على عنوان URL للاتصال

إذا كان برنامج الترميز يستخدم حاليًا YouTube Live API، تكون عملية الحصول على عنوان URL للإرسال باستخدام بروتوكول RTMPS مشابهة لعملية الحصول على عنوان URL للإرسال باستخدام بروتوكول RTMP. أرسِل طلب إدراج LiveStreams (POST) لإنشاء بث إرسال جديد. في الردّ، يحدّد الحقل cdn.ingestionInfo.rtmpsIngestionAddress عنوان URL لبروتوكول RTMPS. إذا كنت تتيح الإرسال المزدوج، يكون عنوان النسخة الاحتياطية هو cdn.ingestionInfo.rtmpsBackupIngestionAddress.

إنشاء الاتصال

استخدِم مكتبة المقابس المفضّلة لإنشاء اتصال طبقة المقابس الآمنة/بروتوكول أمان طبقة النقل بالمنفذ 443 على الخادم الذي يحدّده عنوان URL للإرسال. بما أنّ بروتوكول أمان طبقة النقل لا يعمل إلا مع طبقة النقل، لا يكون اسم مضيف الخادم مطلوبًا بشكلٍ صارم لبدء الاتصال، ولكنّه مطلوب للمصادقة مع خوادمنا. لذا، احرِص على إضافة إضافة SNI (إشارة اسم الخادم) إلى عملية تأكيد اتصال طبقة المقابس الآمنة، واضبط اسم الخادم على اسم مضيف الخادم الذي تتصل به.

بعد إنشاء اتصال طبقة المقابس الآمنة، استخدِمه كاتصال لمكتبة عميل RTMP. تتضمّن مكتبة المقابس الآمنة التي تم إعدادها واجهة برمجة التطبيقات نفسها لاتصال TCP العادي، لذا يجب أن تتمكّن مكتبة RTMP من العمل مع كليهما بشكلٍ متطابق.

تحديد المشاكل وحلّها

الأخطاء في طبقة المقابس الآمنة

إذا حاولت إنشاء اتصال طبقة المقابس الآمنة ولكنّك تلقّيت شهادة غير صالحة، من المحتمل أنّك تتصل بخادم YouTube يتوقّع استخدام بروتوكول RTMP. تأكَّد من أنّ اسم الخادم الذي تستخدمه يتضمّن "rtmps" (لاحظ الحرف "s").

إذا بدا عنوان URL صحيحًا ولكنّك ما زلت تتلقّى خطأ في طبقة المقابس الآمنة، من المحتمل أنّك تتصل بالمنفذ الخطأ. تأكَّد من أنّك تتصل بالمنفذ 443.

إذا كان عنوان URL والمنفذ صحيحَين، من المحتمل أنّ مكتبة طبقة المقابس الآمنة لا تعالج الشهادة بشكلٍ صحيح. ابحث عن رسائل التشخيص من المستوى المنخفض حول حالات فشل طبقة المقابس الآمنة، وتأكَّد من أنّك تستخدم SNI في عملية تأكيد الاتصال.

انتهت مهلة الاتصال

إذا كان بإمكانك الاتصال بالخادم، ولكنّ مكتبة بروتوكول المراسلة في الوقت الفعلي (RTMP) تنتهي مهلتها بدون الحصول على ردّ منطقي، من المحتمل أنّك أعددت اتصال بروتوكول المراسلة في الوقت الفعلي (RTMP) بنص غير مرمّز بخادم YouTube يتوقّع استخدام بروتوكول RTMPS. تأكَّد من أنّك تنشئ اتصال طبقة المقابس الآمنة، وليس اتصال TCP عاديًا.