HLS-এর মাধ্যমে লাইভ YouTube কন্টেন্ট ডেলিভার করা

এই ডকুমেন্ট থেকে জানতে পারবেন যে কীভাবে HTTP লাইভ স্ট্রিমিং (HLS) প্রোটোকল ব্যবহার করে এনকোডার থেকে YouTube-এ লাইভ ডেটা স্ট্রিম করা যায়। এই ডকুমেন্টটি এনকোডার ভেন্ডরদের জন্য লেখা হয়েছে যারা তাদের প্রোডাক্টে HLS ইনজেশন সংক্রান্ত সহায়তা যোগ করতে চান। HLS ইনজেশন হল প্রিমিয়াম কন্টেন্টের জন্য একটি ভালো বিকল্প যার জন্য তুলনামূলকভাবে বেশি লেটেন্সিতে উচ্চ কোয়ালিটি এবং উচ্চ রেজোলিউশন প্রয়োজন। YouTube Live স্ট্রিমিংয়ের সাথে মানানসই বিভিন্ন ইনজেশন প্রোটোকলের সংক্ষিপ্ত তুলনা দেখতে, YouTube লাইভ স্ট্রিমিং ইনজেশন প্রোটোকল তুলনা দেখুন।

HLS ব্যবহার করে লাইভ ডেটা স্ট্রিম করতে, এনকোডারকে HTTP PUT বা POST অনুরোধ ব্যবহার করে YouTube-এর HLS এন্ডপয়েন্টে Media Playlists এবং Media Segments-এর একটি সিরিজ পাঠাতে হবে। এনকোডারের দৃষ্টিকোণ থেকে, YouTube HLS এন্ডপয়েন্ট একটি প্যাসিভ HTTP সার্ভার হিসেবে দেখা যায়।

প্রতিটি মিডিয়া সেগমেন্টে এক থেকে চার সেকেন্ডের মধ্যে স্ট্রিমের সংক্ষিপ্ত অংশের জন্য আসল মাল্টিমিডিয়া কন্টেন্ট থাকে। প্রতিটি মিডিয়া প্লেলিস্ট সঠিক স্ট্রিম অর্ডারে মিডিয়া সেগমেন্ট কীভাবে আবার অ্যাসেম্বল করতে হয় তা বর্ণনা করে।

মিডিয়া ফর্ম্যাট সংক্রান্ত প্রয়োজনীয়তা

YouTube HLS ইনজেশনের জন্য ভিডিও ও অডিও কন্টেন্টের নিম্নলিখিত প্রয়োজনীয়তা রয়েছে:

  • ভিডিও ও অডিও অবশ্যই M2TS ফর্ম্যাটে মিক্স করতে হবে।
  • H.264 এবং HEVC ভিডিও কোডেক কাজ করে।
  • সর্বাধিক ৬০fps ফ্রেম রেট কাজ করে।
  • শুধুমাত্র ক্লোজড GOP কাজ করে।
  • কাজ করে এমন অডিও কোডেক হল AAC এবং শুধুমাত্র সিঙ্গেল-ট্র্যাক অডিও কাজ করে।

মিডিয়া সেগমেন্ট বিভাগে আরও বিস্তারিত প্রয়োজনীয়তা দেখুন।

HDR

HEVC কোডেক ব্যবহার করে হাই ডায়নামিক রেঞ্জ (HDR) ভিডিও চালানো যায় এবং এর জন্য নিম্নলিখিত অতিরিক্ত প্রয়োজনীয়তা রয়েছে:

  • কাজ করে এমন কালার স্ট্যান্ডার্ড হল নন-কনস্ট্যান্ট লুমিন্যান্স সহ ১০-বিট PQ এবং HLG। আরও নির্দিষ্টভাবে:
    • ক্রোমা ফর্ম্যাট অবশ্যই YUV ৪:২:০ ১০-বিট হতে হবে।
    • ট্রান্সফার ফাংশন অবশ্যই PQ (SMPTE ST 2084 নামেও পরিচিত) অথবা HLG (ARIB STD-B67 নামেও পরিচিত) হতে হবে।
    • কালার প্রাইমারি অবশ্যই Rec. 2020 হতে হবে।
    • ম্যাট্রিক্স কোএফিসিয়েন্ট অবশ্যই Rec. 2020 কনস্ট্যান্ট নয় এমন লুমিন্যান্স হতে হবে।
  • সীমিত-রেঞ্জ (বা MPEG-রেঞ্জ) এবং সম্পূর্ণ-রেঞ্জ (বা JPEG-রেঞ্জ) স্যাম্পেল ভ্যালু, দুটিই কাজ করে। কন্টেন্টে ব্যবহৃত স্যাম্পেল ভ্যালু রেঞ্জ অনুযায়ী রেঞ্জ সেট করা গুরুত্বপূর্ণ। সীমিত-রেঞ্জের স্যাম্পেল ভ্যালু ব্যবহার করার পরামর্শ দেওয়া হয়।

HLS ইনজেশন URL পাওয়া

YouTube API থেকে HLS ইনজেশন URL পাওয়া

সম্পূর্ণ ইনজেশন URL পেতে, এনকোডার YouTube Live Streaming API ব্যবহার করে নিম্নলিখিত প্রপার্টি সহ একটি liveStream রিসোর্স যোগ করতে পারে:

"cdn": {
  "ingestionType": "hls",
  "frameRate": "variable",
  "resolution": "variable"
}

API রেসপন্সে, cdn.ingestionInfo.ingestionAddress ফিল্ডে প্রাথমিক ইনজেশন URL এবং cdn.ingestionInfo.backupIngestionAddress ফিল্ডে ব্যাক-আপ ইনজেশন URL উল্লেখ করা থাকে। আরও বিবরণের জন্য, liveStreams রিসোর্সের ডকুমেন্টেশন দেখুন।

YouTube Creator Studio থেকে HLS ইনজেশন URL পাওয়া

YouTube Creator Studio ওয়েব ইন্টারফেসে, ক্রিয়েটর "স্ট্রিম করুন তৈরি করুন" বিকল্পে ক্লিক করার পরে, YouTube একটি "স্ট্রিম কী" দেখায়, এতে আলফানিউমেরিক ক্যারেক্টার ও হাইফেন থাকে। এই গোপন 'কী' ক্রিয়েটর এবং YouTube-এ স্ট্রিম, উভয়কেই শনাক্ত করে।

এই স্ট্রিম কী থেকে আপনি এইভাবে HLS URL তৈরি করতে পারবেন:

https://a.upload.youtube.com/http_upload_hls?cid=$STREAM_KEY&copy=0&file=

... যেখানে $STREAM_KEY হল ওয়েব ইন্টারফেসে দেখানো স্ট্রিম কী। যেমন: https://a.upload.youtube.com/http_upload_hls?cid=abcd-efgh-ijkl-mnop-qrst&copy=0&file=

আরও নির্ভরযোগ্যতার জন্য, আপনি এই ব্যাক-আপ URL-এ ইনজেশনের একটি অতিরিক্ত দ্বিতীয় কপি ট্রান্সমিট করতে পারেন:

https://b.upload.youtube.com/http_upload_hls?cid=$STREAM_KEY&copy=1&file=

মনে রাখবেন, ব্যাক-আপ URL-এর সাথে প্রাথমিক URL-এর দুটি পার্থক্য আছে: হোস্টনেম এবং copy= প্যারামিটার, দুটিই পরিবর্তিত হয়েছে। স্ট্রিম যাতে খারাপ না হয়ে যায়, তার জন্য ব্যাক-আপ ইনজেশনকে অবশ্যই প্রাথমিক ইনজেশনের থেকে আলাদা copy= প্যারামিটার ভ্যালু পাঠাতে হবে।

HLS ইনজেশন URL সম্পূর্ণ করা

দুটি পদ্ধতির মধ্যে যেকোনও একটি ব্যবহার করে পাওয়া URL হল অসম্পূর্ণ টেমপ্লেট; প্রতিটি URL-এর শেষে খালি file= কোয়েরি প্যারামিটার থাকে। চূড়ান্ত URL তৈরি করতে, এনকোডারকে অবশ্যই URL-এর শেষে কোনও মিডিয়া প্লেলিস্ট বা মিডিয়া সেগমেন্টের ফাইলের নাম যোগ করতে হবে, এর ফলে file= প্যারামিটার সম্পূর্ণ হবে।

file= প্যারামিটারের ভ্যালুর ক্ষেত্রে নিম্নলিখিত নিয়ম প্রযোজ্য:

  • এনকোডার বর্ণসাংখ্যিক অক্ষর, আন্ডারস্কোর, ফরওয়ার্ড স্ল্যাশ, হাইফেন ও ফুল স্টপ ব্যবহার করে মিডিয়া প্লেলিস্ট বা মিডিয়া সেগমেন্ট ফাইলের নাম তৈরি করতে পারে; অন্য কোনও অক্ষর ব্যবহার করা যাবে না।
  • এনকোডার যেন ফাইলের নাম URL-এনকোড না করে।
  • ফাইলের নামে এনকোডার রিলেটিভ বা অ্যাবসোলিউট পাথ কম্পোনেন্ট অন্তর্ভুক্ত করতে পারে, যদিও এটি কখনই প্রয়োজন হয় না। এনকোডারে মিডিয়া সেগমেন্ট ফাইলের নামের মধ্যে পাথ কম্পোনেন্ট থাকলে, সংশ্লিষ্ট প্লেলিস্ট এন্ট্রিতে একই পাথ রেফারেন্স করতে হবে।

HLS প্রোটোকল সংক্রান্ত প্রয়োজনীয়তা

এনকোডারের পাঠানো মিডিয়া প্লেলিস্ট ও মিডিয়া সেগমেন্ট অবশ্যই HTTP লাইভ স্ট্রিমিং ২য় সংস্করণ স্পেসিফিকেশন অনুযায়ী হতে হবে।

HLS স্পেসিফিকেশনে দুই ধরনের প্লেলিস্টের কথা বলা হয়েছে: মিডিয়া প্লেলিস্ট ও মাস্টার প্লেলিস্ট। যেহেতু YouTube স্ট্রিম করা কন্টেন্টকে বিভিন্ন রেজোলিউশন এবং বিটরেটে ট্রান্সকোড করে, তাই এনকোডারকে YouTube-এ বিভিন্ন বিটরেট সহ কন্টেন্ট পাঠাতে হবে না। এর ফলে, YouTube HLS ইনজেশনের জন্য শুধুমাত্র মিডিয়া প্লেলিস্টে কাজ করে, এবং মাস্টার প্লেলিস্ট উপেক্ষা করা হয়। (মাস্টার প্লেলিস্টে ভেরিয়েন্ট স্ট্রিমের সেট থাকে, যার প্রতিটি একই কন্টেন্টের আলাদা আলাদা ভার্সন বর্ণনা করে।)

এনকোডারকে অবশ্যই:

  • ব্যবহারকারীদের দেখাতে চান এমন সর্বোচ্চ রেজোলিউশন সহ ঠিক একটি এনকোড করা স্ট্রিম পাঠান (একক রেজোলিউশন এবং কোডেক)।
  • অডিও ও ভিডিও মিক্স করে।
  • সব অনুরোধের জন্য HTTPS ও অবিরত কানেকশন ব্যবহার করুন।

নিম্নলিখিত বিভাগে মিডিয়া প্লেলিস্ট ও মিডিয়া সেগমেন্টের জন্য আরও নির্দিষ্ট প্রয়োজনীয়তা উল্লেখ করা আছে।

মিডিয়া প্লেলিস্ট

মিডিয়া প্লেলিস্টে মিডিয়া সেগমেন্টের তালিকা থাকে যা একটানা, ডিকোড করা যায় এমন মাল্টিমিডিয়া স্ট্রিম দেখানোর জন্য কনক্যাটিনেট করা যেতে পারে। মিডিয়া প্লেলিস্ট সার্ভারকে কোন মিডিয়া সেগমেন্ট আশা করতে হবে এবং কীভাবে সেগুলিকে পুনরায় অ্যাসেম্বল করা স্ট্রিমে সঠিকভাবে সাজাতে হবে তা বলে দেয়।

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

  • মিডিয়া প্লেলিস্ট ফাইলের নাম অবশ্যই .m3u8 বা .m3u দিয়ে শেষ হতে হবে।

  • কোনও স্ট্রিমের জন্য পাঠানো প্রথম মিডিয়া প্লেলিস্টের সিকোয়েন্স নম্বর 0 হতে হবে এবং সিকোয়েন্স নম্বরটি এক এক করে বাড়তে হবে।

  • EXT-X-MEDIA-SEQUENCE ট্যাগটি অবশ্যই প্লেলিস্টে তালিকাভুক্ত প্রথম মিডিয়া সেগমেন্টের সিকোয়েন্স নম্বর শনাক্ত করবে।

  • মিডিয়া প্লেলিস্টে পাঁচটির বেশি বাকি থাকা সেগমেন্ট থাকলে চলবে না। সার্ভার কোনও সেগমেন্ট না পেলে বা সেটি পাওয়ার কথা স্বীকার না করলে, সেটি বকেয়া হিসেবে গণ্য করা হয়।

    বাকি থাকা সেগমেন্ট ছাড়াও, প্রতিটি মিডিয়া প্লেলিস্টে কিছু কনফার্ম করা সেগমেন্ট যোগ করুন। এই প্র্যাক্টিসটি কোনও মিডিয়া প্লেলিস্ট সার্ভার সাইডে হারিয়ে গেলে, কোনও সেগমেন্ট বাদ পড়ার সম্ভাবনা কমিয়ে দেয়। যেমন, আপনি প্রতিটি মিডিয়া প্লেলিস্টে সর্বাধিক দুটি স্বীকৃত সেগমেন্ট এবং সর্বাধিক পাঁচটি অসাধারণ সেগমেন্ট অন্তর্ভুক্ত করতে পারেন।

    মনে রাখবেন, কোনও মিডিয়া সেগমেন্ট আপলোড করা হলে, সার্ভার একটি 200 (OK) বা 202 (Accepted) উত্তর পাঠিয়ে সেগমেন্টটি পেয়েছে বলে স্বীকার করে নেয়। A 202 উত্তর থেকে বোঝা যায় যে সার্ভার, a প্লেলিস্টের মাধ্যমে সেগমেন্ট শনাক্ত করার আগেই সেগমেন্টটি পেয়েছে।

  • প্রতিটি মিডিয়া সেগমেন্টের জন্য একটি আপডেট করা মিডিয়া প্লেলিস্ট পাঠান যাতে মিডিয়া প্লেলিস্ট হারিয়ে গেলে সার্ভার দ্রুত রিকভার করতে পারে।

  • সার্ভার মিডিয়া সেগমেন্ট পাওয়ার কথা স্বীকার করার সাথে সাথে, আপনি EXT-X-MEDIA-SEQUENCE ট্যাগ ভ্যালু বাড়িয়ে দিতে পারেন যাতে মিডিয়া প্লেলিস্ট অত্যন্ত বড় না হয়ে যায়। যেমন, সার্ভার যদি প্রথম নয়টি মিডিয়া সেগমেন্টের প্রাপ্তি স্বীকার করে থাকে, তাহলে পরবর্তী মিডিয়া প্লেলিস্টে অষ্টম, নবম ও দশম মিডিয়া সেগমেন্টের তালিকা থাকতে পারে।

  • EXT-X-KEY ও EXT-X-SESSION-KEY ট্যাগ কাজ করে না।

উদাহরণ

নিম্নলিখিত তালিকা থেকে এনকোডার যেসব ফাইল পাঠাতে পারে তার উদাহরণ দেখানো হয়েছে:

Media Playlist file with seqnum #0
Media Segment file #0
Media Playlist file with seqnum #0-#1
Media Segment file #1
Media Playlist file with seqnum #0-#2
Media Segment file #2
Media Playlist file with seqnum #1-#3
Media Segment file #3
...

নিচের উদাহরণে লাইভ ভিডিও স্ট্রিমের মাঝে পাঠানো মিডিয়া প্লেলিস্ট দেখানো হয়েছে। যেহেতু উদাহরণটি স্ট্রিমের মাঝখান থেকে নেওয়া হয়েছে, তাই EXT-X-MEDIA-SEQUENCE ট্যাগের ভ্যালু শূন্য নয়।

#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:4
#EXT-X-MEDIA-SEQUENCE:2680

#EXTINF:3.975,
fileSequence2680.ts
#EXTINF:3.941,
fileSequence2681.ts
#EXTINF:3.975,
fileSequence2682.ts

মিডিয়া সেগমেন্ট

নিম্নলিখিত তালিকায় মিডিয়া সেগমেন্টের জন্য প্রয়োজনীয়তা শনাক্ত করা হয়েছে:

  • ফাইলের নাম
    • URL-এ মিডিয়া সেগমেন্ট ফাইলের নামে .ts ফাইলের নাম এক্সটেনশন থাকতে হবে এবং প্লেলিস্টের ফাইলের নামের সাথে মিলতে হবে।
    • এনকোডার রিবুট এবং স্ট্রিম রিস্টার্টের সময় মিডিয়া সেগমেন্ট ফাইলের নাম অবশ্যই অনন্য হতে হবে।
  • ফর্ম্যাট
    • মিডিয়া সেগমেন্ট অবশ্যই M2TS ফর্ম্যাটে হতে হবে এবং তা যেন অটোমেটিক শুরু করা যায়।
    • প্রতিটি M2TS সেগমেন্টে একটি MPEG-2 প্রোগ্রাম থাকতে হবে।
    • M2TS সেগমেন্টে অবশ্যই PAT ও PMT থাকতে হবে এবং সেগমেন্টের প্রথম দুটি ট্রান্সপোর্ট স্ট্রিম প্যাকেট PAT ও PMT হতে হবে।
  • কন্টেন্ট
    • ভিডিও এবং অডিও অবশ্যই মাক্সড হতে হবে।
    • H.264 ও HEVC ভিডিও কোডেক কাজ করে।
    • HEVC সহ HDR কাজ করে (HDR সংক্রান্ত প্রয়োজনীয়তা দেখুন)।
    • সর্বাধিক ৬০fps ফ্রেম রেট কাজ করে।
    • শুধুমাত্র বন্ধ করা GOP কাজ করে।
    • কাজ করে এমন অডিও কোডেক হল AAC এবং শুধুমাত্র সিঙ্গেল-ট্র্যাক অডিও কাজ করে।
    • নিম্নলিখিত বিভাগে আলোচনা করা হয়েছে যে মিডিয়া সেগমেন্টের সময়সীমা এক থেকে চার সেকেন্ডের মধ্যে হলে ভাল হয়। মিডিয়া সেগমেন্টের দৈর্ঘ্য ৫ সেকেন্ডের বেশি হলে চলবে না।
    • মিডিয়া সেগমেন্টকে শুধুমাত্র HTTPS সহ TLS/SSL লেয়ারে এনক্রিপ্ট করতে হবে। অন্যান্য এনক্রিপশন মেকানিজম কাজ করে না।

মিডিয়া সেগমেন্টের সময়সীমা

আমরা আশা করি যে খুব ভাল কোয়ালিটি ও হাই রেজোলিউশন প্রয়োজন এমন প্রিমিয়াম কন্টেন্টের জন্য HLS ইনজেশন ব্যবহার করা হবে। HLS ইনজেশনে সাধারণত RTMP- এবং WebRTC-ভিত্তিক ইনজেশনের চেয়ে বেশি লেটেন্সি থাকে কারণ HLS ইনজেশন সেগমেন্ট-ভিত্তিক।

আমরা মিডিয়া সেগমেন্টের সময়সীমা এক থেকে চার সেকেন্ড রাখার সাজেশন দিই কারণ ছোট মিডিয়া সেগমেন্টের ফলে লেটেন্সি কম হতে পারে, যদিও এর জন্য বেশি রিবাফার রেট ও কম এনকোডিং এফিসিয়েন্সি হতে পারে। আগের বিভাগে যেমন উল্লেখ করা হয়েছে, মিডিয়া সেগমেন্ট ৫ সেকেন্ডের বেশি দীর্ঘ হলে চলবে না।

বিটরেট

YouTube সহায়তা কেন্দ্র বিটরেট সেটিংসের জন্য নির্দেশিকা প্রদান করে।

মনে রাখবেন, H.264-এর তুলনায় HEVC সাধারণত একই ভিডিও কোয়ালিটিতে ২৫% থেকে ৫০% বেশি ডেটা কম্প্রেস করে। এই কারণে, সাজেস্ট করা রেঞ্জের সবচেয়ে কম বিটরেট ভ্যালু HEVC-এর সাথে ব্যবহার করে ব্যান্ডউইথ সেভ করা যায়, যা বিশেষ করে 4K কন্টেন্টের ক্ষেত্রে খুবই উপযোগী।

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

  • এনকোডারদের HTTP অনুরোধে User-Agent হেডার সেট করতে হবে। এর জন্য নিম্নলিখিত সিনট্যাক্স ব্যবহার করতে হবে, যার মধ্যে প্রস্তুতকারকের নাম, মডেলের নাম এবং ভার্সন অন্তর্ভুক্ত থাকে:

    User-Agent: <manufacturer> / <model> / <version>
    

ক্লোজড ক্যাপশন

HLS ইনজেশনে ক্লোজড ক্যাপশন পাঠানোর জন্য দুটি বিকল্প কাজ করে:

  • আলাদা HTTP POST অনুরোধ ব্যবহার করে ক্লোজড ক্যাপশন পাঠান। এটি সব HLS ইনজেশনের ক্ষেত্রে কাজ করে।
  • এম্বেড করা 608/708 ক্লোজড ক্যাপশন H264 ভিডিও কোডেক ব্যবহার করে এমন HLS ইনজেশনের সাথে কাজ করে, কিন্তু HEVC ভিডিও কোডেক ব্যবহার করে এমন ইনজেশনের সাথে কাজ করে না। আরও বিস্তারিত জানতে, YouTube সহায়তা কেন্দ্রে লাইভ ক্যাপশন সংক্রান্ত প্রয়োজনীয়তা দেখুন।

HTTP রেসপন্স কোড

নিম্নলিখিত বিভাগগুলি রেসপন্স কোড ব্যাখ্যা করে যা YouTube, HLS ব্যবহার করে ডেলিভার করা মিডিয়া সেগমেন্ট এবং মিডিয়া প্লেলিস্টের রেসপন্সে ফেরত পাঠায়।

200 (ঠিক আছে)

PUT বা POST অনুরোধের উত্তরে, HTTP 200 (OK) উত্তর থেকে বোঝা যায় যে YouTube সার্ভার একটি প্রত্যাশিত অপারেশন পেয়েছে এবং সেটি সফলভাবে হ্যান্ডেল করেছে।

DELETE অনুরোধের উত্তরে, HTTP 200 (OK) উত্তর থেকে বোঝা যায় যে YouTube সার্ভার অনুরোধটি পেয়েছে এবং উপেক্ষা করেছে। YouTube সার্ভারকে স্ট্রিমের কোনও রিসোর্স মুছে ফেলার জন্য ক্লায়েন্টের প্রয়োজন হয় না এবং এটি মুছে ফেলার অনুরোধ উপেক্ষা করে। পারফর্ম্যান্সের কারণে, YouTube ক্লায়েন্টদের DELETE না পাঠানোর সাজেশন দেয়।

২০২ (গ্রহণ করা হয়েছে)

HTTP 202 (গৃহীত) উত্তর থেকে বোঝা যায় যে YouTube সার্ভার সেই মিডিয়া প্লেলিস্ট পাওয়ার আগে মিডিয়া সেগমেন্ট পেয়েছে। এটি ক্লায়েন্টকে নির্দেশ করে যে, মিডিয়া সেগমেন্ট প্রসেস করতে যাতে দেরি না হয়, তার জন্য যত তাড়াতাড়ি সম্ভব সেই মিডিয়া সেগমেন্ট সহ মিডিয়া প্লেলিস্ট পাঠাতে হবে। মনে রাখবেন যে, এনকোডার প্রতিটি মিডিয়া সেগমেন্টের জন্য আপডেট করা মিডিয়া প্লেলিস্ট পাঠালে, এটি কোনও সমস্যা হবে না।

৪০০ (ত্রুটিযুক্ত অনুরোধ)

HTTP 400 (অনুরোধ ঠিক নয়) উত্তরটি নিম্নলিখিত সমস্যাগুলির মধ্যে একটি ঘটেছে বলে ইঙ্গিত করে:

  • URLটি বিকৃত
  • প্লেলিস্ট পার্স করা যাচ্ছে না বা এতে কাজ করে না এমন ট্যাগ আছে
৪০১ (অননুমোদিত)

HTTP 401 (অননুমোদিত) উত্তর থেকে বোঝা যায় যে YouTube HLS এন্ডপয়েন্টের বেস URL-এর cid প্যারামিটারটি খারাপ হয়ে গেছে বা সেটির মেয়াদ শেষ হয়ে গেছে। এগিয়ে যাওয়ার জন্য ক্লায়েন্টকে cid প্যারামিটার আপডেট করতে হবে।

৪০৫ (পদ্ধতি অনুমোদিত নয়)

HTTP 405 (অনুমতি নেই এমন পদ্ধতি) উত্তর থেকে বোঝা যায় যে অনুরোধটি POST, PUT বা DELETE অনুরোধ ছিল না।

500 (ইন্টার্নাল সার্ভার এরর)

HTTP 500 (ইন্টার্নাল সার্ভার সমস্যা) উত্তর থেকে বোঝা যায় যে সার্ভার অনুরোধ প্রসেস করতে পারেনি। এই সমস্যার জন্য, আমরা সাজেস্ট করি যে আপনি এক্সপোনেনশিয়াল ব্যাকঅফ সহ অনুরোধ আবার করুন।