این راهنماها مفاهیم یک صنعت را روی اشیایی که پلتفرم امروز دارد (بوکهها، لاینها، بستهها، حسابهای پارتنر، نودها، API) نگاشت میکنند. اینها نگاشتهای مفهومیاند، نه قابلیتهای مخصوص صنعت، و حساب پارتنر یک حساب تفویضی است، نه tenant ایزوله.
نگاشت مفهومی
در پنل چیزی به نام برنامه یا حامی نیست. جدول میگوید کدام شیء چه نقشی دارد؛ بخشهای زیر آنها را به همین ترتیب راه میاندازند.
| در صنعت شما | روی پلتفرم | کجا در پنل |
|---|---|---|
| کانال استودیو | کانال زنده: یک استریم با منابع، EPG و فرمتهای خروجیاش | Streams ← افزودن استریم زنده (URL منبع یا RTMP push) |
| کتابخانه برنامهها | کاتالوگ VOD: فیلم و سریال با فصل و قسمت، دستهبندیها و اطلاعات متادیتا | Movies و Series، یا کار ingest VOD |
| سطح اشتراک | بوکه: مجموعهای نامدار از کانالها، فیلمها یا سریالها که یک بسته میدهد | Bouquets، از Streams و Movies / Series |
| دسترسی حامی | لاین: یک دسترسی با بسته، بوکهها، انقضا، محدودیت اتصال و خروجیهایش | Lines ← افزودن، یا کدهای فعالسازی، یا Reseller API |
| دوره صورتحساب | تاریخ انقضای لاین، که با بسته، کردیت یا API تمدید میشود | تاریخ انقضای لاین و مدت بسته |
| حساب افیلیت یا توزیعکننده | حساب پارتنر (ریسلر): داشبورد تفویضی با کردیت، مجوزها و لاینهای خودش | Users ← افزودن ریسلر؛ Groups برای مجوزهای آن |
| یکپارچگی با فروشگاه یا عضویت | Reseller API و وبهوکها: عملیات پنل از سیستم خودتان | کلیدهای Reseller API و وبهوکها در داشبورد ریسلر |
پیشنیازها
آنچه پیش از نصب باید داشته باشید.
- یک سرور (Ubuntu 22.04 یا 24.04) با آدرس عمومی یا دامنه و پهنایباند بالادستی کافی برای مخاطبی که انتظار دارید.
- قسمتهای آماده، پلیاوت یا انکودر استودیو برای کانال، و فروشگاهی روی پلتفرمی با کانکتور، یا توانایی صدا زدن یک API روی HTTP.
- تصمیم درباره سطوح و افیلیتها: هر اشتراک چه میدهد و چه کسی میتواند آن را بفروشد.
استقرار زیرساخت
اول یک سرور، نودها با رشد مخاطب.
- نصبکننده را روی سرور مدیریت اجرا کنید و پنل را پشت ریورسپراکسی با TLS بگذارید؛ پراکسیهای مورد اعتماد را تنظیم کنید تا قواعد IP آدرس واقعی بیننده را ببینند.
- URL پایه پخش را روی آدرس عمومی که مخاطبتان به آن میرسد بگذارید.
- در منطقهای که حامیان زیادی تماشا میکنند از Servers یک نود ثبت کنید؛ پنل آن را با SSH نصب میکند و بینندگان آن منطقه را به آن هدایت میکند.
- برای هر عضو کارکنان که کاتالوگ یا حامیان را اداره میکند حساب پارتنر (ریسلر) با گروه مجوز خودش بسازید.
سازماندهی محتوا
برنامهها بهصورت سریال، سطوح بهصورت بوکه.
- برای هر ژانر دستهبندی بسازید و برای هر برنامه یک سریال با یک فصل به ازای هر دسته انتشار و یک قسمت به ازای هر ویدیو.
- یک بوکه برای کانال زنده، یکی برای محتوای رایگان یا ورودی و یکی برای هر سطح بالاتر بسازید.
- برای هر سطح یک بسته بسازید که مدتش دوره صورتحساب است، اگر خواستید یک بسته آزمایشی برای بازدیدکنندگان تازه، و قیمتی به کردیت برای افیلیتها.
- کاتالوگ قدیمی را در دستهبندی جداگانه نگه دارید تا بدون دستزدن به سریالها بین سطوح جابهجا شود.
پیکربندی پارتنر (ریسلر)
افیلیتها و توزیعکنندگان.
- برای افیلیتها گروهی فقط با مجوز لاین بسازید تا نتوانند کاتالوگ را تغییر دهند.
- هر افیلیت را با آن گروه و موجودی کردیت بهعنوان ریسلر اضافه کنید؛ قیمت بستهاش همان است که استودیو تعیین میکند.
- توزیعکنندهای که زیرافیلیت دارد میتواند زیر حساب خودش تا پنج سطح زیرریسلر بسازد.
پیکربندی دسترسی حامیان
یک لاین برای هر حامی.
- کانکتور فروشگاه خود (مثلاً WooCommerce) را نصب کنید و کلید Reseller API و بسته متناسب با هر محصول را وارد کنید.
- هنگام اشتراک، کانکتور create_line را با بسته و یک شناسه درخواست صدا میزند؛ دوره صورتحساب همان مدت بسته است.
- حداکثر اتصال را روی تعداد دستگاههایی که حامی میتواند استفاده کند بگذارید، معمولاً دو یا سه.
- برای هدیه یا راهاندازی، کدهای فعالسازی را انبوه بسازید یا از Lines → افزودن لاینهایی با بسته آزمایشی اضافه کنید.
کتابخانه برنامهها
قسمتها بهصورت درخواستی.
- هر قسمت را بهعنوان منبع آپلود کنید یا با کار ingest مربوط به VOD وارد کنید؛ عنوان، فصل، شماره قسمت و اگر برنامه دارد فراداده TMDB را پر کنید.
- هر سریال را به بوکههای سطحهایی که میتوانند ببینند وصل کنید.
- پیش از اعلام انتشار، پخش را با لاین آزمایشی هر سطح بررسی کنید.
کانال استودیو
یک کانال شبانهروزی.
- یک استریم زنده برای پلیاوت استودیو (RTMP پوش) اضافه کنید و آن را در بوکههای هر سطحی که کانال را شامل میشود بگذارید.
- راهنمای کانال را بهصورت XMLTV بارگذاری کنید تا حامیان ببینند چه پخش میشود، و catch-up را برای برنامههایی که ارزش پخش دوباره دارند فعال کنید.
- پلیاوت را بین انتشارها با محتوای زمانبندیشده خود استودیو در حال اجرا نگه دارید؛ پنل فقط استریم را منتقل میکند.
انقضای اشتراک
دسترسی دنبال پرداخت است.
- لاین در پایان دوره بستهاش منقضی میشود؛ فروشگاه با رسیدن پرداخت بعدی آن را با renew_line تمدید میکند.
- فروشگاه را به وبهوکها مشترک کنید تا در line.expiring یادآوری بفرستد و در line.expired حامی را تنزل دهد.
- حامیای که لغو میکند توسط فروشگاه با disable_line غیرفعال میشود و لاین را بعداً بدون حساب جدید میشود تمدید کرد.
یکپارچگی با فروشگاه
فروشگاه میفروشد؛ پخشکننده پخش میکند.
- کانکتور هماهنگ با سفارشها لاین میسازد، تمدید و غیرفعال میکند؛ هر فروشگاه دیگری از Reseller API و وبهوک استفاده میکند.
- افیلیتها لاینهای خودشان را در داشبوردشان میبینند و Reseller API به آنها اجازه میدهد آن را خودکار کنند.
- ورود یکپارچه برای بینندگان نیست: حامیان با اطلاعات لاین خود که فروشگاه برایشان میفرستد وارد پخشکننده میشوند.
ملاحظات امنیتی
از اشتراک محافظت کنید، نه فقط سرور.
- پنل و URL پایه پخش را روی TLS ارائه دهید و TRUSTED_PROXIES را روی ریورسپراکسی خود تنظیم کنید.
- ورود دومرحلهای برای هر حساب پنل، و گروههای مجوز تا افیلیتها نتوانند کاتالوگ را تغییر دهند.
- لینکهای پخش امضاشده و منقضیشونده و سقف اتصال برای هر لاین؛ اگر مجوز قلمروی است لاین را به یک کشور ببندید.
- پشتیبانهای رمزگذاریشده پایگاه داده با نسخه بیرونی و گزارش ممیزی برای هر تغییر لاینها و کاتالوگ.
عیبیابی
بررسیهای اولیه معمول.
- حامی تازه بعد از پرداخت نمیتواند تماشا کند: فراخوانی کانکتور فروشگاه را در لاگ Reseller API و تاریخ انقضای لاین بررسی کنید.
- حامی محتوای سطح بالاتر را میبیند: بسته لاین و بوکههایی که میدهد را بررسی کنید.
- کانال در پایان چرخه پلیاوت قطع میشود: پوش انکودر به استریم زنده و وضعیت probe استریم را بررسی کنید.
- فروش یک افیلیت دیده نمیشود: کردیت او را بررسی کنید و اینکه بستهای که استفاده کرده به گروه او تعلق دارد.