Te przewodniki odwzorowują pojęcia branży na obiekty, które platforma ma dziś (bukiety, linie, pakiety, konta partnerów, węzły, API). To odwzorowania koncepcyjne, a nie funkcje specyficzne dla branż, a konto partnera jest kontem delegowanym, a nie odizolowanym najemcą.
Odwzorowanie koncepcyjne
Nic w panelu nie nazywa się drużyną ani członkiem. Tabela mówi, który obiekt pełni jaką rolę; kolejne rozdziały konfigurują je w tej kolejności.
| W Twojej branży | Na platformie | Gdzie w panelu |
|---|---|---|
| Transmisja meczu lub treningu | Kanał na żywo: strumień ze źródłami, EPG i formatami wyjściowymi | Streams → dodaj strumień na żywo (adres źródła lub wysyłka RTMP) |
| Biblioteka analiz i powtórek | Katalog VOD: filmy i seriale z sezonami i odcinkami, kategorie i metadane | Movies i Series lub zadanie pobierania VOD |
| Pakiet drużyny lub rozgrywek | Bukiet: nazwany zestaw kanałów, filmów lub seriali przyznawany przez pakiet | Bouquets, ze Streams oraz Movies / Series |
| Dostęp członka lub rodziny | Linia: jeden dostęp z pakietem, bukietami, datą wygaśnięcia, limitem połączeń i wyjściami | Lines → dodaj, albo kody aktywacyjne, albo Reseller API |
| Sezon lub okres członkostwa | Data wygaśnięcia linii, odnawiana przez pakiet, kredyt lub API | Data wygaśnięcia linii i czas trwania pakietu |
| Konto personelu drużyny lub akademii | Konto partnera (reseller): delegowany panel z kredytami, uprawnieniami i własnymi liniami | Users → dodaj resellera; Groups dla jego uprawnień |
| Integracja ze sklepem lub zarządzaniem klubem | Reseller API i webhooki: operacje panelu z Twojego własnego systemu | Klucze Reseller API i webhooki w panelu resellera |
Wymagania wstępne
Co mieć przed instalacją.
- Serwer (Ubuntu 22.04 lub 24.04) z publicznym adresem lub domeną i wystarczającą przepustowością wysyłania dla meczów, które planujesz streamować.
- Kamerę i enkoder na obiekcie, które potrafią wysyłać RTMP, oraz nagrane pliki treningów i analiz, które trenerzy już przechowują.
- Decyzję, kto co widzi: które drużyny współdzielą materiały, które mecze są tylko dla członków i którzy pracownicy dostaną konto w panelu.
Wdrożenie infrastruktury
Najpierw akademia, węzeł, gdy potrzebują go dni meczowe.
- Uruchom instalator na serwerze akademii i umieść panel za reverse proxy z TLS; ustaw zaufane proxy, aby logi i reguły IP widziały prawdziwy adres widza.
- Ustaw bazowy URL odtwarzania na publiczny adres, pod którym łączą się widzowie, aby linki wydawane przez panel działały z domu.
- Jeśli ten sam mecz ogląda wiele rodzin, zarejestruj węzeł w sekcji Serwery; panel instaluje go przez SSH i rozprowadza z niego kanał na żywo.
- Utwórz konto partnerskie (reseller) dla sztabu trenerskiego z uprawnieniami do katalogu i bez uprawnień do linii członków.
Organizacja treści
Drużyny i sezony jako kategorie, dostęp jako bukiety.
- Utwórz kategorie według grupy wiekowej i sezonu oraz seriale dla rozgrywek z jednym odcinkiem na mecz.
- Utwórz jeden bukiet na materiały analityczne każdej drużyny, jeden dla kanałów meczowych na żywo i jeden dla całej akademii.
- Utwórz jeden pakiet na rodzaj członkostwa: bukiety, które przyznaje, z sezonem jako czasem trwania i ceną w kredytach, jeśli sprzedaje go personel.
- Nazwij bukiety od drużyny lub rozgrywek, do których należą, aby personel wiedział, który pakiet dać rodzinie.
Konfiguracja partnerów (resellerów)
Personel zarządzający własnymi członkami, jeśli klub tego chce.
- Utwórz grupę z uprawnieniami do katalogu dla trenerów i grupę z uprawnieniami do linii dla sekretarza ds. członkostwa.
- Dodaj każdego z nich jako resellera z odpowiednią grupą; sekretarzowi przyznaj kredyty tylko wtedy, gdy członkostwa są sprzedawane przez panel.
- Filialna akademia lub klub kibiców z własnymi członkami dostaje własne konto partnerskie i własne pakiety.
Konfiguracja dostępu członków i rodzin
Jedna linia na członka lub na rodzinę.
- Utwórz klucz Reseller API dla sklepu lub systemu zarządzania klubem i przechowuj go w sekretach tego systemu.
- Przy rejestracji system wywołuje action=create_line z pakietem członkostwa i identyfikatorem żądania; sezon to czas trwania pakietu.
- Ustaw maksymalną liczbę połączeń na urządzenia potrzebne rodzinie (zwykle trzy lub cztery), aby jedno członkostwo nie było współdzielone poza gospodarstwem domowym.
- Na próbny dzień meczowy dodaj linię w sekcji Linie → dodaj z pakietem próbnym albo wydrukuj kody aktywacyjne dla kibiców na trybunie.
Biblioteka analiz i powtórek
Mecze i treningi na żądanie.
- Prześlij każdy mecz lub trening jako źródło odcinka albo zaimportuj go zadaniem importu VOD; w tytule zachowaj datę, przeciwnika i drużynę.
- Przypisz nagranie do bukietu drużyny przez jej serial, aby widziały je tylko linie tej drużyny.
- Sprawdź odtwarzanie linią testową każdego członkostwa, aby potwierdzić, kto co widzi.
Transmisje meczów i treningów
Kamera boiska jako kanał na żywo.
- Dodaj stream na żywo dla każdego enkodera na obiekcie (push RTMP) i umieść go w bukiecie dnia meczowego.
- Włącz catch-up, aby rodzina, która dołączy późno, mogła przewinąć wstecz, i dodaj nagranie do biblioteki po końcowym gwizdku.
- W gorący dzień meczowy sprawdź, czy węzeł pobiera kanał raz z origin i obsługuje kierowanych do niego widzów.
Wygasanie członkostwa
Dostęp podąża za sezonem.
- Linia wygasa z końcem okresu swojego pakietu; sklep odnawia ją przez action=renew_line, gdy zostanie opłacona składka na kolejny sezon.
- Zasubskrybuj webhooki w sklepie, aby wysyłać przypomnienie przy line.expiring i zamykać członkostwo przy line.expired.
- Zawodnik odchodzący w trakcie sezonu jest wyłączany przez sklep za pomocą action=disable_line; linia zostaje zachowana w dokumentacji.
Integracja ze sklepem lub oprogramowaniem klubu
Systemy sterują dostępem; odtwarzacz odtwarza.
- Zainstaluj konektor swojej platformy handlowej (WooCommerce, Shopify i inne) po stronie sklepu, aby zakup tworzył linię, a płatność ją odnawiała.
- System zarządzania klubem lub biletowy łączy się przez Reseller API i webhooki; nie ma dla niego natywnego konektora.
- Nie ma logowania jednokrotnego dla widzów: członkowie logują się do odtwarzacza danymi swojej linii, które wysyła im sklep.
Kwestie bezpieczeństwa
Materiały drużyny zostają przy drużynie.
- Udostępniaj panel i bazowy URL odtwarzania przez TLS i ustaw TRUSTED_PROXIES na swoje reverse proxy.
- Logowanie dwuskładnikowe dla każdego konta panelu oraz grupy uprawnień, aby sekretarz nie mógł zmieniać katalogu, a trenerzy nie widzieli linii.
- Podpisane i wygasające linki odtwarzania, limit połączeń na linię oraz przypisanie do IP lub kraju dla linii personelu.
- Szyfrowane kopie zapasowe bazy z kopią zewnętrzną oraz dziennik audytu każdej zmiany linii i katalogu.
Rozwiązywanie problemów
Typowe pierwsze kontrole.
- Rodzic widzi analizę pierwszego zespołu: sprawdź pakiet linii i bukiety, które przyznaje.
- Nowy członek nie ma dostępu po zapłaceniu: sprawdź w logu wywołań Reseller API żądanie sklepu i datę ważności linii.
- Transmisja meczu się zacina przy rozpoczęciu: sprawdź wysyłanie z enkodera na obiekcie oraz heartbeat węzła, jeśli któryś obsługuje widzów.
- Dziennik audytu pokazuje adres proxy: ustaw TRUSTED_PROXIES na to proxy i zrestartuj panel.