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

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

RTMPS انتخاب خوبی برای اکثر محتوای کاربر معمولی است، به خصوص اگر نیاز به تاخیر کم داشته باشد. برای بررسی اجمالی پروتکل‌های جذب مختلف که YouTube Live Streaming پشتیبانی می‌کند، به مقایسه پروتکل جذب مراجعه کنید.

الزامات

ارسال RTMPS به YouTube Live چند پیش نیاز دارد:

  • هر قسمت از URL اتصال ( <protocol>://<server>/<path> ) باید صحیح باشد:
    • پروتکل باید rtmps باشد.
    • سرور باید یک نقطه پایانی انتقال معتبر YouTube RTMPS باشد.
    • مسیر باید یک نام برنامه معتبر YouTube Live RTMP باشد.
  • اتصال باید به پورت 443 در سرور انتقال داده شود.
  • جریان چند رسانه ای باید با RTMPS ارسال شود. یعنی استفاده از RTMP از طریق اتصال SSL.

دریافت URL اتصال

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

ایجاد ارتباط

از کتابخانه سوکت دلخواه خود برای ایجاد اتصال SSL/TLS به پورت 443 در سروری که URL انتقال مشخص شده است استفاده کنید. از آنجایی که TLS فقط با لایه انتقال کار می کند، نام میزبان سرور برای شروع اتصال به شدت مورد نیاز نیست. با این حال، برای احراز هویت با سرورهای ما لازم است. بنابراین مطمئن شوید که پسوند SNI (Server Name Indication) را به SSL handshake خود اضافه کرده اید و نام سرور را روی نام میزبان سروری که در حال اتصال به آن هستید تنظیم کنید.

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

عیب یابی

خطاهای SSL

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

اگر URL درست به نظر می رسد اما همچنان با خطای SSL مواجه می شوید، ممکن است به پورت اشتباهی متصل شده باشید. تأیید کنید که به پورت 443 وصل می شوید.

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

ارتباط منقضی شد

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