Kick ক্লিপ ও VOD: লিংকটি ডাউনলোডারকে যা বলে
আপনি যে লিংক পেস্ট করেন তার ওপর নির্ভর করে Kick তিনটি আলাদা প্রশ্নের উত্তর দেয়: একটি ক্লিপ, একটি পুরনো সম্প্রচার, নাকি এমন একটি চ্যানেল যা এই মুহূর্তে লাইভ। ডাউনলোডার আগে URL পড়ে নেয়, তারপর ঠিকটিই বেছে নেয়।
Kick-এর নিজের ঠিকানা-গঠনই সবচেয়ে পরিষ্কার মানচিত্র — আপনার হাতে কী আছে তা বোঝায়। ক্লিপ হলো ছোট, সম্পাদিত একটি মুহূর্ত। VOD হলো পুরো একটি পুরনো সম্প্রচার। চ্যানেল পেজ কোনোটিই নয়, আর স্ট্রিমার সেই মুহূর্তে লাইভ থাকলে ডাউনলোড করার মতো কিছুই নেই — লাইভ স্ট্রিমের শেষ নেই, তাই ফাইলও নেই।
তিনটি লিংক, আর প্রতিটি কী হয়ে ওঠে
| লিংকের গঠন | রিজলভার কী করে |
|---|---|
kick.com/<channel>/clips/clip_… | ক্লিপ API পড়ে ক্লিপটির অরিজিনাল কোয়ালিটি ফেরত দেয়। |
kick.com/<channel>/videos/<id> ও /video/<id> | ভিডিও API পড়ে VOD-এর মাস্টার প্লেলিস্টে থাকা প্রতিটি রেন্ডিশন তালিকাভুক্ত করে। |
kick.com/<channel> | চ্যানেলের সাম্প্রতিক VOD তালিকা করে; লাইভ চ্যানেল বদলে live উত্তর দেয়। |
| শুধু একটি ক্লিপ আইডি | আগে চ্যানেল চায় (need_channel), কারণ Kick-এর ক্লিপ API-এর দুটোই দরকার। |
ক্লিপ আইডির গঠন নির্দিষ্ট — clip_ তারপর একটি ULID-ধাঁচের কোড — তাই রিজলভার কোনো নেটওয়ার্ক কল ছাড়াই একটি চিনে ফেলতে পারে। শুধু আইডি একা যথেষ্ট নয়; Kick-এর API পাথে চ্যানেল চায়, তাই একা আইডি পেস্ট করলে সে আরও তথ্য চেয়ে ফেরত পাঠায়।
কোয়ালিটিগুলো কোথা থেকে আসে
একটি VOD-এর জন্য Kick একটি HLS মাস্টার প্লেলিস্ট প্রকাশ করে: ছোট একটি ফাইল যেখানে প্রতিটি রেন্ডিশন তালিকাভুক্ত, প্রতিটির নিজস্ব রেজোলিউশন, ব্যান্ডউইথ ও ফ্রেম রেট সহ। রিজলভার কেবল সেই মাস্টারই পড়ে, আর কিছু নয় — ফ্র্যাগমেন্ট ডাউনলোড করে না, আর Kick-এর কাছে জোড়া-লাগানো ফাইলও চায় না, কারণ Kick তা দেয় না।
- প্রতিটি রেন্ডিশন তার রেজোলিউশনের জন্য পাওয়া সেরা বিটরেট রাখে, তাই তালিকায় একই মাপের দুটি এন্ট্রি কখনো দেখায় না।
- ভ্যারিয়েন্টগুলো ব্যান্ডউইথ অনুযায়ী সাজানো, সবচেয়ে বেশি আগে — ওপরের সারিটিই সোর্স।
- 50 fps বা বেশি ফ্রেমের রেন্ডিশনে ফ্রেম রেট লেখা থাকে, যেমন
1080p60; এর কম হলে লেবেলে কেবল উচ্চতা থাকে। - মাস্টার পড়া না গেলে রিজলভার প্লেলিস্টের দিকেই দেখানো একটিমাত্র
sourceএন্ট্রিতে গিয়ে ভরসা করে।
ক্লিপগুলো সরল: সাধারণত ক্লিপ যে কোয়ালিটিতে কাটা হয়েছে সেই মাপের একটিই ফাইল থাকে, তাই ক্লিপ ডাউনলোডে খুব একটা কিছু বেছে নিতে হয় না।
লাইভ স্ট্রিম কেন নাকচ হয়
লাইভ স্ট্রিম একটি ঘুরতে থাকা জানালা, ফাইল নয়। Kick একটি লাইভ চ্যানেলকে তিন জায়গায় লাইভ বলে জানায় — VOD অবজেক্ট, চ্যানেলের ভিডিও তালিকা আর চ্যানেল পেজ নিজেই — আর রিজলভার তিনটিকেই একই উত্তরে পরিণত করে: live। বদলে একটি ক্লিপ বা VOD চেষ্টা করুন।
আরও দুটি অবস্থা দেখতে ভুলের মতো, কিন্তু তা নয়: processing মানে সম্প্রচার কয়েক মিনিট আগে শেষ হয়েছে আর Kick এখনো VOD কাটা শেষ করেনি, আর no_source মানে VOD মুছে ফেলা হয়েছে বা মেয়াদ শেষ। দুটোই Kick-এর অবস্থা, ডাউনলোডের ব্যর্থতা নয়।
কিছুই সংরক্ষণ হয় না
Kick-এর CDN access-control-allow-origin: * পাঠায়, তাই ব্রাউজার সরাসরি ফাইলটি পড়তে পারে। ডাউনলোড পেজেই চলে, Kick-এর এজ থেকে সোজা আপনার ডিস্কে; রিজলভার কেবল মেটাডেটা নিয়ে কাজ করেছে। কিছুই রি-এনকোড, ওয়াটারমার্ক বা রাখা হয় না।
একটি বাস্তব পরামর্শ: লম্বা VOD ডেস্কটপ ব্রাউজারে সেভ করাই ভালো, যেখানে ফাইল সোজা ডিস্কে স্ট্রিম হয়। ফোনে কয়েক ঘণ্টার সম্প্রচার ডাউনলোডের সময় মেমোরিতে ধরে রাখা হয়, আর ফাইল শেষ হওয়ার আগেই ব্রাউজার হাল ছেড়ে দিতে পারে।
সংক্ষেপে
- ক্লিপ লিংক ক্লিপ ফেরত দেয়; VOD লিংক রেন্ডিশনের তালিকা দেয়; চ্যানেল লিংক সাম্প্রতিক VOD তালিকা করে।
- লাইভ স্ট্রিম নাকচ — স্ট্রিম চলার সময় সেভ করার মতো কোনো ফাইল নেই।
- কোয়ালিটি সারিগুলো আসে Kick-এর নিজের HLS মাস্টার প্লেলিস্ট থেকে, প্রতি রেজোলিউশনে সেরা বিটরেট।
- বাইটগুলো Kick-এর CDN থেকে আপনার ব্রাউজারে যায়; রিজলভার কিছুই রাখে না।
প্রশ্ন
চলমান Kick লাইভস্ট্রিম কি ডাউনলোড করা যায়?
না। লাইভ স্ট্রিমের শেষ নেই, ফাইলও নেই; Kick এটিকে লাইভ বলে জানায় আর রিজলভার নাকচ করে। সম্প্রচার শেষ হয়ে Kick প্রসেস করা শেষ করলে VOD লিংক কাজ করে।
VOD-এ কয়েকটি কোয়ালিটি থাকে, কিন্তু ক্লিপে কেবল একটি কেন?
একটি VOD-এর সঙ্গে থাকে এমন HLS মাস্টার প্লেলিস্ট যেখানে Kick এনকোড করা প্রতিটি রেন্ডিশন আছে, তাই রিজলভার প্রতিটি দেখাতে পারে। ক্লিপ কাটা হয় একটিমাত্র ফাইল থেকে, তাই সাধারণত দিতে পারে কেবল সেই একটি কোয়ালিটিই।
`source` কোয়ালিটি মানে কী?
এটি নিজেই মাস্টার প্লেলিস্ট, যা তখন দেওয়া হয় যখন আলাদা রেন্ডিশনগুলো পড়া যায়নি। একই ভিডিও, শুধু প্রতি-রেজোলিউশনের ভাগাভাগি ছাড়া।