ارائه محتوای زنده YouTube ازطریق RTMPS

این سند توضیح می‌دهد که چگونه از RTMPS برای جاری‌سازی داده‌های زنده در YouTube از یک کدبند استفاده کنید. RTMPS یک جاری‌سازی ویدیو RTMP (پروتکل پیام‌رسانی بی‌درنگ) معمولی است که ازطریق اتصال SSL تونل‌زده می‌شود. این سند برای فروشندگان کدبند است که می‌خواهند پشتیبانی از RTMPS را به کدبندهایی که از RTMP پشتیبانی می‌کنند اضافه کنند.

RTMPS گزینه خوبی برای اکثر محتوای کاربران عادی است، به‌ویژه اگر نیاز به تأخیر کم داشته باشد. برای نمای کلی از پروتکل‌های مختلف انتقال که «جاری‌سازی زنده YouTube» پشتیبانی می‌کند، مقایسه پروتکل انتقال را ببینید.

الزامات

ارسال RTMPS به «پخش زنده YouTube» چند پیش‌نیاز دارد:

  • هر بخش از نشانی وب اتصال (<protocol>://<server>/<path>) باید درست باشد:
    • پروتکل باید rtmps باشد.
    • سرور باید نقطه پایانی معتبر برای دریافت RTMPS در YouTube باشد.
    • مسیر باید نام برنامه RTMP معتبر برای «پخش زنده YouTube» باشد.
  • اتصال باید به درگاه ۴۴۳ در سرور انتقال داده انجام شود.
  • جاری‌سازی چندرسانه‌ای باید با RTMPS ارسال شود؛ یعنی بااستفاده از RTMP ازطریق اتصال SSL.

درحال دریافت نشانی وب اتصال

اگر کدبند شما ازقبل از YouTube Live API استفاده می‌کند، فرایند دریافت نشانی وب انتقال RTMPS مشابه فرایند RTMP است. برای ایجاد جاری‌سازی جدید، درخواست درج LiveStreams (پست) ارسال کنید. در پاسخ، فیلد cdn.ingestionInfo.rtmpsIngestionAddress نشانی وب RTMPS را مشخص می‌کند. اگر از دریافت دوگانه پشتیبانی می‌کنید، نشانی پشتیبان cdn.ingestionInfo.rtmpsBackupIngestionAddress است.

درحال ایجاد اتصال

از کتابخانه سوکت دلخواهتان برای ایجاد اتصال SSL/TLS به درگاه ۴۴۳ در سروری که نشانی وب انتقال مشخص می‌کند استفاده کنید. ازآنجایی‌که TLS فقط با لایه انتقال کار می‌کند، نام میزبان سرور برای شروع اتصال کاملاً ضروری نیست؛ بااین‌حال، برای اصالت‌سنجی با سرورهای ما لازم است. بنابراین مطمئن شوید که افزونه SNI (نشانگر نام سرور) را به دست‌دهی SSL خود اضافه کنید و نام سرور را روی نام میزبان سروری که به آن متصل می‌شوید تنظیم کنید.

پس‌از ایجاد اتصال SSL، از آن به‌عنوان اتصال برای کتابخانه مشتری RTMP استفاده کنید. اتصال SSL مقداردهی‌شده همان API اتصال TCP استاندارد را دارد، و بنابراین کتابخانه RTMP باید بتواند با هر دو آن‌ها به‌طور یکسان کار کند.

عیب‌یابی

خطاهای SSL

اگر سعی کنید اتصال SSL ایجاد کنید اما گواهینامه نامعتبر دریافت کنید، احتمالاً به سرور YouTube متصل می‌شوید که انتظار RTMP دارد. مطمئن شوید که نام سروری که استفاده می‌کنید دارای «rtmps» باشد — به «s» توجه کنید.

اگر نشانی وب درست به‌نظر می‌رسد اما هنوز خطای SSL دریافت می‌کنید، ممکن است به درگاه اشتباهی متصل شده باشید. تأیید کنید که به درگاه ۴۴۳ متصل می‌شوید.

اگر نشانی وب و درگاه درست است، ممکن است کتابخانه SSL شما گواهینامه را به‌درستی مدیریت نکند. به‌دنبال پیام‌های تشخیص خرابی سطح پایین درباره خطاهای SSL بگردید و دوباره بررسی کنید که از SNI در دست دادن استفاده می‌کنید.

مدت زمان اتصال به پایان رسیده است

اگر می‌توانید به سرور متصل شوید، اما کتابخانه RTMP شما بدون دریافت پاسخ منطقی منقضی می‌شود، ممکن است یک اتصال RTMP با متن ساده به سرور YouTube که انتظار RTMPS دارد، راه‌اندازی کرده باشید. مطمئن شوید که اتصال SSL ایجاد می‌کنید، نه اتصال TCP ساده.