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