الرئيسية
XtreamUIPro

دليل الإعداد

دليل إعداد الأندية والأكاديميات الرياضية

اظبط المنصة كخدمة فيديو لنادي أو أكاديمية: بث المباريات والتدريبات، ومكتبة تحليل لكل فريق، ووصول للأعضاء والعائلات بيتبع الموسم.

الأدلة دي بتطابق مفاهيم المجال مع العناصر الموجودة في المنصة دلوقتي (bouquets وخطوط وحزم وحسابات موزّعين وعقد والـ API). دي مطابقات مفاهيمية، مش ميزات خاصة بمجال، وحساب الموزّع حساب مفوَّض، مش tenant معزول.

المطابقة المفاهيمية

مفيش حاجة في اللوحة اسمها فريق أو عضو. الجدول بيقول أنهي كائن بيلعب أنهي دور؛ والفصول اللي تحت بتظبطهم بالترتيب ده.

في مجالكعلى المنصةفين في اللوحة
بث مباراة أو تدريبقناة مباشرة: بث بمصادره وEPG وصيغ الإخراجStreams → ضيف بث مباشر (رابط المصدر أو RTMP push)
مكتبة التحليل والإعادةكتالوج VOD: أفلام ومسلسلات بمواسم وحلقات وتصنيفات وبيانات وصفيةMovies وSeries، أو مهمة استيراد VOD
حزمة فريق أو مسابقةBouquet: مجموعة مسمّاة من القنوات أو الأفلام أو المسلسلات اللي الحزمة بتديهاBouquets، من Streams وMovies / Series
وصول عضو أو عائلةالخط: وصول واحد بحزمته وbouquets وانتهائه وحد اتصالاته ومخرجاتهLines → إضافة، أو أكواد التفعيل، أو الـ Reseller API
الموسم أو فترة العضويةتاريخ انتهاء الخط، بيتجدّد بحزمة أو كريديت أو الـ APIتاريخ انتهاء الخط ومدة الحزمة
حساب موظفي الفريق أو الأكاديميةحساب موزّع (reseller): لوحة مفوَّضة بكريديت وصلاحيات وخطوطه الخاصةUsers → ضيف موزّع؛ Groups لصلاحياته
تكامل المتجر أو إدارة الناديReseller API وwebhooks: عمليات اللوحة من نظامك إنتمفاتيح Reseller API وwebhooks في لوحة الموزّع

المتطلبات

اللي لازم يكون موجود قبل التثبيت.

  1. سيرفر (Ubuntu 22.04 أو 24.04) بعنوان عام أو نطاق، وعرض نطاق صاعد كفاية للمباريات اللي ناوي تبثها.
  2. الكاميرا والمشفّر في الملعب اللي يقدروا يدفعوا RTMP، وملفات التدريب والتحليل المسجّلة اللي مدربينك محتفظين بيها فعلًا.
  3. قرار بخصوص مين بيشوف إيه: أنهي فرق بتتشارك المواد، وأنهي مباريات للأعضاء بس، ومين في الجهاز الفني ياخد حساب في اللوحة.

نشر البنية

الأكاديمية الأول، وNode لما أيام المباريات تحتاجها.

  1. شغّل المثبّت على سيرفر الأكاديمية وحط اللوحة ورا ريفرس بروكسي مع TLS؛ واضبط الوكلاء الموثوقين عشان السجلات وقواعد IP تشوف عنوان المشاهد الحقيقي.
  2. اضبط عنوان أساس التشغيل على العنوان العام اللي المشاهدين بيوصلوله، عشان الروابط اللي اللوحة بتصدرها تشتغل من البيت.
  3. لو عائلات كتير بتتفرج على نفس المباراة، سجّل Node من Servers؛ اللوحة بتثبّتها عبر SSH وبتوزّع منها القناة المباشرة.
  4. اعمل حساب شريك (موزّع) للجهاز الفني بصلاحيات للكتالوج ومن غير صلاحيات لخطوط الأعضاء.

تنظيم المحتوى

الفرق والمواسم كتصنيفات، والوصول كـ bouquets.

  1. اعمل تصنيفات لكل فئة عمرية ولكل موسم، ومسلسلات للمسابقات بحلقة لكل مباراة.
  2. اعمل bouquet لمواد تحليل كل فريق، وواحد لقنوات المباريات المباشرة، وواحد للأكاديمية كلها.
  3. اعمل حزمة لكل نوع عضوية: الـ bouquets اللي بتديها، والموسم كمدة، وسعر بالكريدت لو الموظفين بيبيعوها.
  4. سمّي الـ bouquets باسم الفريق أو المسابقة اللي تبعها، عشان الموظفين يعرفوا أنهي حزمة يدّوها للعائلة.

إعداد الشركاء (الموزّعين)

موظفين بيديروا أعضاءهم بنفسهم، لو النادي عايز كده.

  1. اعمل مجموعة بصلاحيات الكتالوج للمدربين ومجموعة بصلاحيات الخطوط لسكرتير العضوية.
  2. ضيف كل واحد منهم كموزّع بالمجموعة المناسبة؛ وادّي السكرتير كريدت لو العضويات بتتباع من اللوحة بس.
  3. أكاديمية تابعة أو نادي مشجعين ليه أعضاؤه بياخد حساب شريك وحزم خاصة بيه.

إعداد وصول الأعضاء والعائلات

خط لكل عضو أو لكل عائلة.

  1. اعمل مفتاح Reseller API للمتجر أو نظام إدارة النادي واحتفظ بيه في أسرار النظام ده.
  2. عند التسجيل النظام بينادي action=create_line مع حزمة العضوية ومعرّف الطلب؛ والموسم هو مدة الحزمة.
  3. اضبط max connections على الأجهزة اللي العيلة محتاجاها (عادةً تلاتة أو أربعة) عشان عضوية واحدة ما تتشاركش برا البيت.
  4. ليوم مباراة تجريبي، ضيف خط من Lines ← إضافة بحزمة تجريبية، أو اطبع رموز تفعيل للمشجعين في المدرجات.

مكتبة التحليل والإعادة

المباريات والحصص عند الطلب.

  1. ارفع كل مباراة أو حصة كمصدر حلقة، أو استوردها بمهمة استيراد الفيديو عند الطلب؛ واحتفظ بالتاريخ والخصم والفريق في العنوان.
  2. اربط التسجيل بـ bouquet الفريق من خلال مسلسله، فخطوط الفريق ده بس هي اللي تشوفه.
  3. افحص التشغيل بخط تجريبي من كل عضوية عشان تتأكد مين بيشوف إيه.

بث المباريات والتدريبات

كاميرا الملعب كقناة مباشرة.

  1. ضيف بث مباشر لكل مشفّر في الملعب (دفع RTMP) وحطه في bouquet يوم المباراة.
  2. فعّل Catch-up عشان العيلة اللي بتنضم متأخرة تقدر ترجع لورا، وضيف التسجيل للمكتبة بعد صافرة النهاية.
  3. في يوم مباراة زحمة، اتأكد إن الـ Node بتاخد القناة مرة واحدة من المصدر الأصلي وبتخدم المشاهدين المتوجّهين ليها.

انتهاء العضوية

الوصول بيتبع الموسم.

  1. الخط بينتهي في نهاية فترة حزمته؛ والمتجر بيجدّده بـ action=renew_line لما رسوم الموسم الجاي تتدفع.
  2. اشترك المتجر في webhooks عشان يبعت تذكير عند line.expiring ويقفل العضوية عند line.expired.
  3. اللاعب اللي بيسيب في نص الموسم المتجر بيوقفه بـ action=disable_line؛ والخط بيتحتفظ بيه للسجلات.

التكامل مع المتجر أو برنامج النادي

الأنظمة بتدير الوصول؛ والمشغّل بيشغّل.

  1. ثبّت موصّل منصة التجارة (WooCommerce وShopify وغيرهم) في ناحية المتجر عشان الشراء يعمل الخط والدفع يجدّده.
  2. نظام إدارة النادي أو التذاكر بيتوصّل عبر Reseller API وwebhooks؛ ومفيش موصّل أصلي ليه.
  3. مفيش تسجيل دخول موحّد للمشاهدين: الأعضاء بيسجّلوا الدخول للمشغّل ببيانات خطوطهم، اللي المتجر بيبعتها ليهم.

اعتبارات الأمان

مواد الفريق بتفضل مع الفريق.

  1. قدّم اللوحة وعنوان أساس التشغيل عبر TLS واضبط TRUSTED_PROXIES على الريفرس بروكسي بتاعك.
  2. تسجيل دخول بخطوتين لكل حساب في اللوحة، ومجموعات صلاحيات عشان السكرتير ما يغيّرش الكتالوج والمدربين ما يشوفوش الخطوط.
  3. روابط تشغيل موقّعة وبتنتهي، وحد اتصالات لكل خط، وربط بعنوان IP أو بلد لخطوط الموظفين.
  4. نسخ احتياطية مشفّرة لقاعدة البيانات مع نسخة برا الموقع، وسجل التدقيق لكل تغيير في الخطوط والكتالوج.

حل المشاكل

الفحوص الأولى المعتادة.

  1. ولي أمر شايف تحليل الفريق الأول: افحص حزمة الخط والـ bouquets اللي بتديها.
  2. عضو جديد من غير وصول بعد ما دفع: افحص سجل نداءات Reseller API لطلب المتجر وتاريخ انتهاء الخط.
  3. بث المباراة بيتقطّع عند الانطلاق: افحص رفع المشفّر في الملعب، ونبض الـ Node لو في واحدة بتخدم المشاهدين.
  4. سجل التدقيق بيعرض عنوان البروكسي: اضبط TRUSTED_PROXIES على البروكسي وأعد تشغيل اللوحة.