×

📺 IPTV

B2C · Xtream · Reseller

IPTV صارفین کا نظم کریں۔

آرکائیو اسٹوریج ٹائرز

500+ سمورتی کلائنٹس کے لیے تین درجے کا آرکائیو سسٹم۔

انکوڈر

بفر لکھیں۔

2h ہاٹ ونڈو (NVMe یا tmpfs)

→ آئینہ (مسلسل)

HDD RAID 5

50 ٹی بی، 14 دن برقرار رکھنا

→ ڈیمانڈ پر پیشگی بازیافت کریں۔

پلے بیک کیشے

1 TB گرم کیش، 500+ کلائنٹس

کلائنٹس

آئینہ، حرکت نہیں۔

mirror_min_age_minutes سے زیادہ پرانے حصوں کو مسلسل RAID میں کاپی کیا جاتا ہے۔

ٹائر

مقصد

ترتیبات

بفر لکھیں۔

سیگمنٹس 24/7 وصول کرتا ہے، تیزی سے حالیہ ریوائنڈ پلے بیک کے لیے 2h ہاٹ ونڈو رکھتا ہے، RAID کو بے ترتیب IO سے بچاتا ہے۔

device_path (بلاک ڈیوائس یا 'tmpfs')، tmpfs_size_pct (tmpfs ہونے پر 10-50% MemAvailable)، mirror_min_age_minutes، evict_age_minutes، flush_threshold_percent (فورس فلش ٹرگر)

HDD RAID آرکائیو

مکمل برقرار رکھنے کے لیے طویل دم والا ذخیرہ (پہلے سے طے شدہ 14 دن)۔

برقراری_دن، چھاپہ_ڈیوائس، nginx_location، min_free_percent

پلے بیک کیشے (اختیاری)

2h سے پرانی مشہور فائلوں کے لیے ریڈ سائیڈ کیشے (جیسے EPG کیچ اپ)۔

prefetch_hours، max_sessions، eviction_policy (session/lru/fifo)

صلاحیت کا حساب

live writes × 2h = write_buffer hot window size.

پڑھتا ہے (درجہ آگاہی تلاش)

Stream.dvr_file_path/2 probes write_buffer → playback_cache → آرکائیو ترتیب میں۔

tmpfs ورچوئل ڈسک (dev/test)

ہر ٹائر فزیکل بلاک ڈیوائس کے بجائے RAM کی حمایت یافتہ tmpfs ورچوئل ڈسک استعمال کرسکتا ہے۔

% مفت RAM میں سائز

مختص کو MemAvailable کے فیصد کے طور پر متعین کیا گیا ہے (/proc/meminfo سے) — مرحلہ 10، درست قدریں 10/20/30/40/50۔

OOM سیفٹی گارڈ

اگر حسابی ہدف موجودہ میم دستیاب کے 60% سے زیادہ ہو جائے تو، ماؤنٹ سے انکار کر دیا جاتا ہے اور ٹائر آف لائن رہتا ہے (Stream.archive_path اگلے صحت مند درجے میں آتا ہے)۔

استقامت کو دوبارہ شروع کریں۔

tmpfs RAM میں رہتا ہے — میزبان کے دوبارہ شروع ہونے پر کوئی بھی ان فلائٹ بفر مواد ضائع ہو جاتا ہے۔

tmpfs کب استعمال کریں۔

رائٹ_بفر کے لیے tmpfs کا استعمال کریں جب: (a) dev/test box میں کوئی اضافی NVMe نہیں ہے لیکن آپ پھر بھی انٹیگریشن ٹیسٹنگ کے لیے مکمل DVR پائپ لائن چلانا چاہتے ہیں، (b) آپریٹر NVMe کو خریدے بغیر آئینہ + آرکائیو کے رویے کی توثیق کرنا چاہتا ہے، (c) عارضی ٹیسٹنگ جہاں قابل قبول نقصان ہے۔

tmpfs کے لیے تیز تر فلش

جب تحریر کا درجہ tmpfs ہوتا ہے تو، StorageTierFlush سخت ڈیفالٹس استعمال کرتا ہے — mirror_min_age 2 منٹ، evict_age 15 منٹ (بمقابلہ 5 منٹ / 120 منٹ برائے فزیکل NVMe)۔

ٹائر آٹو پروویژننگ اور سیفٹی

ٹائرز کو ایک بار Config > Storage > Storage Tiers کے ذریعے ترتیب دیا جاتا ہے اور خود بخود فراہم کیا جاتا ہے — میزبان پر کوئی دستی mkfs/mount/fstab ایڈیٹنگ نہیں ہوتی ہے۔

پہلے سے طے شدہ بوٹ بیج

پہلے بوٹ پر (DB میں کوئی رائٹ ٹائر نہیں)، سسٹم خودکار طور پر 30% MemAvailable ایلوکیشن، mount point /mnt/nvme_write کے ساتھ tmpfs بیکڈ رائٹ ٹائر بناتا ہے۔

صحت اور ناکامی۔

Stream.archive_path/1 پہلا 'صحت مند' درجے کو لوٹاتا ہے — رائٹ_بفر اگر حفاظتی منزل کے اوپر+لکھنے کے قابل+فری_پی سی ٹی نصب کیا گیا ہو، بصورت دیگر آرکائیو (ڈیگریڈڈ موڈ) میں واپس آجاتا ہے۔

لائیو سائز میں تبدیلی

UI میں tmpfs_size_pct کو تبدیل کرنا Save پر نئے سائز کے ساتھ umount + remount کو متحرک کرتا ہے۔

بیس یو آر ایل - OSTV پلیئر

پیکیج فیلڈز

پیکجز API

پاس ورڈ کی پالیسی

ری سیلر API

ترتیبات

یوزر فیلڈز

یوزر مینجمنٹ

IPTV صارفین کا نظم کریں۔

بیس یو آر ایل - OSTV پلیئر

OSTV پلیئر ایپلی کیشن صارفین کو سرور بیس یو آر ایل (API ایڈریس) کو تبدیل کرنے کی اجازت دیتی ہے۔

وجہ: بنیادی URL کو تبدیل کرنے کا مقصد صرف منتظمین/روٹ صارفین کے لیے ہے تاکہ وہ سرورز کے درمیان سوئچ کر سکیں (جیسے پروڈکشن بمقابلہ ٹیسٹنگ)۔

یوزر فیلڈز

پیکجز API

قیمتوں اور بلنگ کی مدت کے ساتھ تمام فعال پیکجوں کی فہرست لوٹاتا ہے۔

انتظامی صارفین کی فہرست (ری سیلرز / فراہم کنندگان)۔

ایک مخصوص مینجمنٹ صارف کے لیے کریڈٹ بیلنس لوٹاتا ہے۔

پیکیج فیلڈز

ری سیلر API

ری سیلرز/فراہم کنندگان کے لیے API۔

پاس ورڈ کی پالیسی

سبسکرائبر بناتے وقت پاس ورڈ کی ضرورت ہوتی ہے۔

کم از کم 8 حروف

کم از کم 1 بڑے حروف (A-Z)

کم از کم 1 خصوصی کردار (!@#$%^&* وغیرہ)

UI اور API پر لاگو ہوتا ہے۔

ترتیبات

ٹائر آٹو پروویژننگ اور سیفٹی

Capacity + فائل سسٹم آٹو ڈیٹیکشن: جب ڈراپ ڈاؤن سے ایک مفت NVMe کا انتخاب کیا جاتا ہے، صلاحیت (GB) کو lsblk -bn -o SIZE سے اور موجودہ FS کو blkid سے پڑھا جاتا ہے (پوری ڈسک فال بیک کے ساتھ)۔

ٹائر فلش میکانزم - مسلسل آئینہ

StorageTierFlush GenServer ہر 60 کے بعد چلتا ہے۔

مسلسل آئینہ کیوں دھڑکتا ہے "60 منٹ انتظار کرو، بیچ موو": (1) RAID لوڈ برابر ہے — گھنٹے کی حدود میں کوئی 5GB نہیں پھٹتا، صرف 7MB سیگمنٹس کا ٹکرانا؛

جاری سیگمنٹ سیفٹی: آئینہ صرف MIRROR_MIN_AGE_MINUTES سے پرانی فائلوں کو فائنڈ -mmin +5 کے ذریعے چنتا ہے۔

فی تعیناتی ٹیوننگ (.env)

500-1000

سائز کا اصول:

ڈی وی آر پیش نظارہ کیلنڈر

ڈی وی آر پیش نظارہ ٹیب سرور کی طرف سے پیش کردہ کیلنڈر دکھاتا ہے جو صرف ان دنوں کو نمایاں کرتا ہے جن کی ریکارڈنگ ڈسک پر موجود ہے۔

ریکارڈنگ والے دن کلک کرنے کے قابل ہیں (نیلا) — کلک کرنے سے اس دن کے ساتھ 00:00 پر ڈیٹ ٹائم ان پٹ پہلے سے بھر جاتا ہے۔

تلاش کے ذریعے Stream.available_dvr_days/1 میں لاگو کیا گیا -mindepth 4 -maxdepth 4 -type d ہر ٹائر ماؤنٹ پر؛

B2C پلیئر API

جائزہ

B2C (بزنس ٹو کنزیومر) API اختتامی صارف پلیئر ایپلی کیشنز کے لیے تصدیق اور سلسلہ تک رسائی فراہم کرتا ہے۔

تصدیق

صارف کی توثیق کریں اور بعد میں آنے والی API کالوں کے لیے ایک auth_token حاصل کریں۔

طریقہ

اختتامی نقطہ

جسم کی درخواست کریں۔

پیرامیٹر

قسم

درکار ہے۔

تفصیل

جی ہاں

صارف کا لاگ ان نام

صارف کا پاس ورڈ

مثال کی درخواست

رسپانس فیلڈز

کامیابی کا جواب (200)

بعد میں API کالوں کے لیے مرموز تصدیقی ٹوکن

ISO 8601 فارمیٹ میں ٹوکن کی میعاد ختم ہونے کی تاریخ/وقت

کامیابی کے جواب کی مثال

غلطی کا جواب (403)

خرابی کی وضاحت کا پیغام

HTTP اسٹیٹس کوڈ

غلطی کے جواب کی مثال

صارف کی معلومات

auth ٹوکن کا استعمال کرتے ہوئے تصدیق شدہ صارف کے بارے میں معلومات حاصل کریں۔

رسپانس فیلڈز

تصدیق شدہ صارف کا صارف نام

سرور کا پیغام (خالی اگر کوئی نہیں)

توثیق کی حیثیت (1 = تصدیق شدہ)

اکاؤنٹ کی حیثیت: فعال، ممنوعہ، غیر فعال، آزمائش

اکاؤنٹ کی میعاد ختم ہونے کی تاریخ (اگر لامحدود ہے تو کالعدم)

موجودہ فعال کنکشنز کی تعداد

ISO 8601 فارمیٹ میں اکاؤنٹ بنانے کی تاریخ

زیادہ سے زیادہ اجازت شدہ بیک وقت کنکشن

اجازت شدہ آؤٹ پٹ اسٹریم فارمیٹس کی فہرست

صارف کے مالک/ری سیلر کا فراہم کنندہ کا نام (نقل اگر کوئی نہیں)

فراہم کنندہ کے لوگو کی تصویر کا URL (اگر کوئی نہیں تو کالعدم)

فراہم کنندہ کے ٹوٹنے والے لوگو کی تصویر کا URL 208x208 (اگر کوئی نہیں)

ISO 8601 فارمیٹ میں موجودہ سرور کا وقت

مثال کی درخواست

زمرہ جات

قسم کے لحاظ سے فلٹر کردہ زمرے بازیافت کریں۔

زمرہ کی قسم: لائیو، ووڈ، یا سیریز

زمرہ ID بطور سٹرنگ

زمرہ ڈسپلے نام

پیرنٹ زمرہ ID (0 اگر جڑ)

کیشے کی غلط کاری کے لیے مواد کا MD5 ہیش

مثال کی درخواست

VOD تفصیل

کسی مخصوص VOD آئٹم کے لیے تفصیلی معلومات حاصل کریں، بشمول میٹا ڈیٹا اور اسٹریم لنکس۔

VOD سٹریم ID (UUID)

انفارمیشن آبجیکٹ فیلڈز

کور تصویر URL

TMDB شناخت کنندہ

پس منظر کی تصویر کا URL

صنف کی تار

پلاٹ / تفصیل

کاسٹ ممبران

درجہ بندی کی قدر (0-10)

ڈائریکٹر کا نام

ریلیز کی تاریخ

سیکنڈ میں دورانیہ

فارمیٹ شدہ سٹرنگ کے طور پر دورانیہ

زمرہ IDs کی صف

1 اگر بالغ مواد، 0 بصورت دیگر

VOD آبجیکٹ فیلڈز

VOD سلسلہ ID

VOD عنوان

شامل کرنے کی تاریخ (ISO 8601)

سٹریم لنک یو آر ایل

ویڈیو/آڈیو کوڈیک میٹا ڈیٹا

سیریز کی تفصیل

پورے سیزن اور ایپی سوڈ کی فہرستوں کے ساتھ سیریز کی معلومات بازیافت کریں، سیزن نمبر کے لحاظ سے گروپ کردہ۔

سیریز ID (UUID)

سیزن اری فیلڈز

سیزن نمبر

سیزن ڈسپلے کا نام

سیزن میں اقساط کی تعداد

موسم کی ہوا کی تاریخ

موسم کا جائزہ / تفصیل

سیزن کور تصویر کا URL

اقساط آبجیکٹ

سیزن نمبر سٹرنگ کے ذریعے کلید کردہ نقشہ۔

ایپی سوڈ آبجیکٹ فیلڈز

ایپی سوڈ آئی ڈی

TMDB ایپی سوڈ ID

سیزن کے اندر ایپی سوڈ نمبر

قسط کا عنوان

شامل کرنے کی تاریخ (ISO 8601)

سیزن نمبر

ایپی سوڈ انفارمیشن آبجیکٹ (وی او ڈی انفارمیشن جیسی ساخت)

سٹریم لنک یو آر ایل

ویڈیو/آڈیو کوڈیک میٹا ڈیٹا

نوٹس

ٹوکن کی میعاد ختم ہونے کا انحصار صارف کے کردار پر ہوتا ہے: منتظم = 365 دن، دیگر = 30 دن

کامیابی کا جواب (200)

/auth اینڈ پوائنٹ سے حاصل کردہ تصدیقی ٹوکن