এই ডকুমেন্টে ব্যাখ্যা করা হয়েছে যে কীভাবে এনকোডার থেকে YouTube-এ লাইভ ডেটা স্ট্রিম করার জন্য RTMPS ব্যবহার করতে হয়। RTMPS হল SSL কানেকশনের মাধ্যমে টানেল করা সাধারণ RTMP (রিয়েল-টাইম মেসেজিং প্রোটোকল) ভিডিও স্ট্রিম। এই ডকুমেন্টটি এনকোডার ভেন্ডরদের জন্য লেখা হয়েছে যারা আগে থেকেই RTMP কাজ করে এমন এনকোডারে RTMPS সাপোর্ট যোগ করতে চান।
বেশিরভাগ সাধারণ ব্যবহারকারীর কন্টেন্টের জন্য RTMPS একটি ভাল বিকল্প, বিশেষ করে যদি এতে কম লেটেন্সি প্রয়োজন হয়। YouTube লাইভ স্ট্রিমিং যেসব ইনজেশন প্রোটোকল সাপোর্ট করে, সেগুলির ওভারভিউ পেতে ইনজেশন প্রোটোকলের তুলনা দেখুন।
প্রয়োজনীয়তা
YouTube লাইভে RTMPS পাঠানোর জন্য কিছু পূর্বশর্ত আছে:
- কানেকশন URL-এর (
<protocol>://<server>/<path>) প্রতিটি অংশ সঠিক হতে হবে:- প্রোটোকল
rtmpsহতে হবে। - সার্ভারটি অবশ্যই একটি সঠিক YouTube RTMPS ইনজেশন এন্ডপয়েন্ট হতে হবে।
- পাথটি অবশ্যই একটি সঠিক YouTube Live RTMP অ্যাপ্লিকেশনের নাম হতে হবে।
- প্রোটোকল
- ইনজেশন সার্ভারের ৪৪৩ পোর্টে কানেকশন তৈরি করতে হবে।
- RTMPS-এর মাধ্যমে মাল্টিমিডিয়া স্ট্রিম পাঠাতে হবে; অর্থাৎ, SSL কানেকশনের মাধ্যমে RTMP ব্যবহার করে পাঠাতে হবে।
কানেকশন URL পাওয়া হচ্ছে
আপনার এনকোডার আগে থেকেই YouTube Live API ব্যবহার করলে, RTMPS ইনজেশন URL পাওয়ার
প্রক্রিয়া RTMP-এর মতোই। নতুন ইনজেশন স্ট্রিম তৈরি করতে
LiveStreams insert (POST) অনুরোধ পাঠান। উত্তরে, RTMPS URL
cdn.ingestionInfo.rtmpsIngestionAddress
ফিল্ডে উল্লেখ করা হয়। আপনি ডুয়াল ইনজেশন সাপোর্ট করলে, ব্যাক-আপ অ্যাড্রেস
হল cdn.ingestionInfo.rtmpsBackupIngestionAddress।
কানেকশন তৈরি করা হচ্ছে
ইনজেশন URL-এ নির্দিষ্ট করা সার্ভারের পোর্ট 443-এ SSL/TLS কানেকশন তৈরি করতে আপনার পছন্দের সকেট লাইব্রেরি ব্যবহার করুন। TLS শুধুমাত্র ট্রান্সপোর্ট লেয়ারের সাথে কাজ করে বলে, কানেকশন শুরু করার জন্য সার্ভার হোস্টনেম কঠোরভাবে প্রয়োজন নেই; তবে, আমাদের সার্ভারের সাথে যাচাইকরণের জন্য এটি প্রয়োজন। তাই, আপনার SSL হ্যান্ডশেকে SNI এক্সটেনশন (সার্ভার নেম ইন্ডিকেশন) যোগ করেছেন কিনা এবং আপনি যে সার্ভারের সাথে কানেক্ট করছেন সেটির হোস্টনেমে সার্ভারের নাম সেট করেছেন কিনা তা ভাল করে দেখে নিন।
SSL কানেকশন তৈরি হয়ে গেলে, আপনার RTMP ক্লায়েন্ট লাইব্রেরির জন্য কানেকশন হিসেবে এটি ব্যবহার করুন। একটি শুরু করা SSL কানেকশনে স্ট্যান্ডার্ড TCP কানেকশনের মতো একই API থাকে, তাই RTMP লাইব্রেরি দুটি কানেকশনের সাথেই একইভাবে কাজ করতে পারবে।
সমস্যার সমাধান
SSL সমস্যা
আপনি SSL কানেকশন তৈরি করার চেষ্টা করলে এবং ভুল সার্টিফিকেট পেলে, আপনি সম্ভবত এমন একটি YouTube সার্ভারের সাথে কানেক্ট করছেন যা RTMP আশা করে। আপনি যে সার্ভারের নাম ব্যবহার করছেন তাতে "rtmps" আছে কিনা তা ভাল করে দেখে নিন — "s" অক্ষরটি খেয়াল রাখবেন।
URL সঠিক মনে হওয়া সত্ত্বেও SSL সমস্যা দেখালে, আপনি হয়ত ভুল পোর্টে কানেক্ট করছেন। আপনি পোর্ট ৪৪৩-এ কানেক্ট করছেন কিনা তা কনফার্ম করুন।
URL এবং পোর্ট সঠিক হলে, আপনার SSL লাইব্রেরি হয়ত সার্টিফিকেট সঠিকভাবে ম্যানেজ করছে না। SSL ব্যর্থতা সম্পর্কিত লো-লেভেল ডায়াগনস্টিক মেসেজ দেখুন এবং হ্যান্ডশেকে SNI ব্যবহার করছেন কিনা তা ডবল-চেক করুন।
কানেকশনের সময় শেষ
আপনি যদি সার্ভারে কানেক্ট করতে পারেন, কিন্তু আপনার RTMP লাইব্রেরি কোনও সঠিক উত্তর না পেয়েই টাইম-আউট হয়ে যায়, তাহলে আপনি হয়ত এমন কোনও YouTube সার্ভারে ক্লিয়ারটেক্সট RTMP কানেকশন সেট-আপ করেছেন যা RTMPS আশা করে। আপনি যাতে সাধারণ TCP কানেকশন নয়, SSL কানেকশন তৈরি করেন তা নিশ্চিত করুন।