Kick کلپس اور VODs: لنک ڈاؤن لوڈر کو کیا بتاتا ہے
Kick آپ کے پیسٹ کیے گئے لنک کے مطابق تین مختلف سوالوں کے جواب دیتا ہے: ایک کلپ، ایک پرانا براڈکاسٹ، یا ایسا چینل جو ابھی لائیو ہو۔ ڈاؤن لوڈر پہلے URL پڑھتا ہے اور صحیح چیز چنتا ہے۔
Kick کا اپنا ایڈریس ڈھانچہ سب سے صاف نقشہ ہے کہ آپ کے ہاتھ میں کیا ہے۔ کلپ ایک مختصر، ایڈٹ شدہ لمحہ ہے۔ VOD ایک مکمل پرانا براڈکاسٹ ہے۔ چینل صفحہ نہ یہ ہے نہ وہ، اور اگر اسٹریمر اُس وقت لائیو ہو تو ڈاؤن لوڈ کرنے کو کچھ نہیں — لائیو اسٹریم کا کوئی اختتام نہیں، اس لیے کوئی فائل بھی نہیں۔
تین لنکس، اور ہر ایک کیا بنتا ہے
| لنک کی شکل | ریزولور کیا کرتا ہے |
|---|---|
kick.com/<channel>/clips/clip_… | کلپ API پڑھتا ہے اور کلپ کی اصل کوالٹی واپس دیتا ہے۔ |
kick.com/<channel>/videos/<id> اور /video/<id> | ویڈیو API پڑھتا ہے اور VOD کی ماسٹر پلے لسٹ کے ہر ورژن کی فہرست دیتا ہے۔ |
kick.com/<channel> | چینل کے حالیہ VODs کی فہرست دیتا ہے؛ لائیو چینل اس کے بجائے 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 کے CDNs access-control-allow-origin: * بھیجتے ہیں، اس لیے براؤزر فائل سیدھی پڑھ سکتا ہے۔ ڈاؤن لوڈ صفحے میں چلتا ہے، Kick کے ایج سے سیدھا آپ کی ڈسک تک؛ ریزولور نے صرف میٹا ڈیٹا ہینڈل کیا۔ کچھ دوبارہ انکوڈ، واٹر مارک یا محفوظ نہیں کیا جاتا۔
ایک عملی بات: لمبے VODs ڈیسک ٹاپ براؤزر پر محفوظ کرنا بہتر ہے، جہاں فائل سیدھی ڈسک پر اسٹریم ہوتی ہے۔ فون پر کئی گھنٹے کا براڈکاسٹ ڈاؤن لوڈ کے دوران میموری میں رکھا جاتا ہے، اور براؤزر فائل مکمل ہونے سے پہلے ہار مان سکتا ہے۔
مختصر بات
- کلپ لنکس کلپ واپس دیتے ہیں؛ VOD لنکس ورژنز کی فہرست؛ چینل لنکس حالیہ VODs کی فہرست۔
- لائیو اسٹریمز مسترد ہوتی ہیں — اسٹریم چلتے ہوئے محفوظ کرنے کو کوئی فائل نہیں۔
- کوالٹی قطاریں Kick کی اپنی HLS ماسٹر پلے لسٹ سے آتی ہیں، ہر ریزولوشن کے لیے بہترین بٹ ریٹ۔
- بائٹس Kick کے CDN سے آپ کے براؤزر تک جاتے ہیں؛ ریزولور کچھ نہیں رکھتا۔
سوالات
کیا میں Kick لائیو اسٹریم چلتے ہوئے ڈاؤن لوڈ کر سکتا ہوں؟
نہیں۔ لائیو اسٹریم کا نہ اختتام ہوتا ہے نہ فائل؛ Kick اسے لائیو بتاتا ہے اور ریزولور انکار کر دیتا ہے۔ براڈکاسٹ ختم ہونے اور Kick کے پروسیس مکمل کرنے کے بعد VOD لنک کام کرتا ہے۔
VODs میں کئی کوالٹیز کیوں ہوتی ہیں مگر کلپ میں صرف ایک؟
VOD کے ساتھ HLS ماسٹر پلے لسٹ آتی ہے جس میں Kick کا انکوڈ کردہ ہر ورژن ہوتا ہے، اس لیے ریزولور ہر ایک کی فہرست دے سکتا ہے۔ کلپ ایک ہی فائل سے کاٹا جاتا ہے، اس لیے عام طور پر وہی ایک کوالٹی دستیاب ہوتی ہے۔
`source` کوالٹی کا کیا مطلب ہے؟
یہ ماسٹر پلے لسٹ خود ہے، جو اُس وقت دی جاتی ہے جب انفرادی ورژنز پارس نہ ہو سکیں۔ ویڈیو وہی ہے، بس ہر ریزولوشن کی الگ تفصیل کے بغیر۔