RTMPS এর মাধ্যমে লাইভ YouTube কন্টেন্ট বিতরণ করা

এই দস্তাবেজটি ব্যাখ্যা করে যে কীভাবে একটি এনকোডার থেকে YouTube-এ লাইভ ডেটা স্ট্রিম করতে RTMPS ব্যবহার করতে হয়। RTMPS হল একটি নিয়মিত RTMP (রিয়েলটাইম মেসেজিং প্রোটোকল) ভিডিও স্ট্রীম যা একটি SSL সংযোগের মাধ্যমে টানেল করা হয়। এই নথিটি এনকোডার বিক্রেতাদের উদ্দেশ্যে যারা ইতিমধ্যেই RTMP সমর্থন করে এমন এনকোডারগুলিতে RTMPS-এর জন্য সমর্থন যোগ করতে চান৷

RTMPS বেশিরভাগ সাধারণ ব্যবহারকারীর সামগ্রীর জন্য একটি ভাল পছন্দ, বিশেষ করে যদি এটির জন্য কম বিলম্বের প্রয়োজন হয়৷ YouTube লাইভ স্ট্রিমিং সমর্থন করে এমন বিভিন্ন ইনজেশন প্রোটোকলের ওভারভিউয়ের জন্য ইনজেশন প্রোটোকল তুলনা দেখুন।

প্রয়োজনীয়তা

YouTube লাইভে RTMPS পাঠানোর কিছু পূর্বশর্ত রয়েছে:

  • সংযোগ URL এর প্রতিটি অংশ ( <protocol>://<server>/<path> ) অবশ্যই সঠিক হতে হবে:
    • প্রোটোকল অবশ্যই rtmps হতে হবে।
    • সার্ভারটি অবশ্যই একটি বৈধ YouTube RTMPS ইনজেশন এন্ডপয়েন্ট হতে হবে।
    • পথটি অবশ্যই একটি বৈধ YouTube লাইভ RTMP অ্যাপ্লিকেশনের নাম হতে হবে।
  • ইনজেশন সার্ভারে পোর্ট 443-এ সংযোগ তৈরি করতে হবে।
  • মাল্টিমিডিয়া স্ট্রীম অবশ্যই RTMPS এর সাথে পাঠাতে হবে; অর্থাৎ, একটি SSL সংযোগের মাধ্যমে RTMP ব্যবহার করে।

সংযোগ URL প্রাপ্ত করা হচ্ছে

যদি আপনার এনকোডার ইতিমধ্যেই YouTube লাইভ API ব্যবহার করে, তাহলে একটি RTMPS ইনজেশন URL পাওয়ার প্রক্রিয়াটি RTMP-এর মতোই। একটি নতুন ইনজেশন স্ট্রীম তৈরি করতে একটি LiveStreams সন্নিবেশ (POST) অনুরোধ পাঠান৷ প্রতিক্রিয়াতে, cdn.ingestionInfo.rtmpsIngestionAddress ক্ষেত্রটি RTMPS URL নির্দিষ্ট করে। আপনি দ্বৈত ইনজেশন সমর্থন করলে, ব্যাকআপ ঠিকানা হল cdn.ingestionInfo.rtmpsBackupIngestionAddress

সংযোগ তৈরি করা হচ্ছে

ইনজেশন URL যে সার্ভারে পোর্ট 443-এ একটি SSL/TLS সংযোগ তৈরি করতে আপনার পছন্দের সকেট লাইব্রেরি ব্যবহার করুন। যেহেতু TLS শুধুমাত্র ট্রান্সপোর্ট লেয়ারের সাথে কাজ করে, তাই সার্ভার হোস্টনামটি সংযোগ শুরু করার জন্য কঠোরভাবে প্রয়োজন হয় না; যাইহোক, এটি আমাদের সার্ভারের সাথে প্রমাণীকরণের জন্য প্রয়োজনীয়। তাই নিশ্চিত করুন যে আপনি আপনার SSL হ্যান্ডশেকে SNI এক্সটেনশন (সার্ভার নেম ইঙ্গিত) যোগ করেছেন এবং আপনি যে সার্ভারের হোস্টনামে সংযোগ করছেন তাতে সার্ভারের নাম সেট করুন৷

একবার SSL সংযোগ প্রতিষ্ঠিত হলে, এটিকে আপনার RTMP ক্লায়েন্ট লাইব্রেরির সংযোগ হিসেবে ব্যবহার করুন। একটি প্রারম্ভিক SSL সংযোগে একটি আদর্শ TCP সংযোগের মতো একই API থাকে এবং তাই RTMP লাইব্রেরি তাদের উভয়ের সাথে অভিন্নভাবে কাজ করতে সক্ষম হওয়া উচিত।

সমস্যা সমাধান

SSL ত্রুটি

আপনি যদি একটি SSL সংযোগ তৈরি করার চেষ্টা করেন কিন্তু একটি অবৈধ শংসাপত্র পান, তাহলে আপনি সম্ভবত একটি YouTube সার্ভারের সাথে সংযোগ করছেন যা RTMP আশা করে৷ নিশ্চিত করুন যে আপনি যে সার্ভারের নামটি ব্যবহার করেন তাতে "rtmps" আছে — "s" নোট করুন।

যদি ইউআরএলটি সঠিক মনে হয় কিন্তু আপনি এখনও একটি SSL ত্রুটি পান, আপনি হয়তো ভুল পোর্টে সংযোগ করছেন। আপনি পোর্ট 443 এর সাথে সংযোগ করছেন তা নিশ্চিত করুন।

URL এবং পোর্ট সঠিক হলে, আপনার SSL লাইব্রেরি সার্টিফিকেট সঠিকভাবে পরিচালনা নাও করতে পারে। SSL ব্যর্থতা সম্পর্কে নিম্ন-স্তরের ডায়াগনস্টিক বার্তাগুলি সন্ধান করুন এবং হ্যান্ডশেক করার সময় আপনি SNI ব্যবহার করছেন কিনা তা দুবার চেক করুন৷

সংযোগ সময় শেষ হয়েছে

আপনি যদি সার্ভারের সাথে সংযোগ করতে পারেন, কিন্তু আপনার RTMP লাইব্রেরি একটি বুদ্ধিমান প্রতিক্রিয়া না পেয়ে শেষ হয়ে যায়, আপনি হয়ত একটি YouTube সার্ভারে একটি ক্লিয়ারটেক্সট RTMP সংযোগ সেট আপ করেছেন যা RTMPS আশা করে। নিশ্চিত করুন যে আপনি একটি SSL সংযোগ তৈরি করছেন, একটি সাধারণ TCP সংযোগ নয়৷