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

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

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

المتطلبات

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

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

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

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

إنشاء عملية الربط

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

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

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

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

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

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

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

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

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