×

📺 IPTV

B2C · Xtream · Reseller

IPTV إدارة المستخدمين

أرشيف طبقات التخزين

نظام أرشيف ثلاثي المستويات لأكثر من 500 عميل متزامن.

التشفير

اكتب المخزن المؤقت

نافذة ساخنة لمدة ساعتين (NVMe أو tmpfs)

→ مرآة (مستمرة)

الأقراص الصلبة ريد 5

50 تيرابايت، احتفاظ لمدة 14 يومًا

→ الجلب المسبق عند الطلب

ذاكرة التخزين المؤقت للتشغيل

ذاكرة تخزين مؤقت بسعة 1 تيرابايت، لأكثر من 500 عميل

العملاء

مرآة، لا تتحرك

يتم نسخ المقاطع الأقدم من Mirror_min_age_Minutes إلى RAID بشكل مستمر.

الطبقة

غاية

إعدادات

اكتب المخزن المؤقت

يستقبل المقاطع على مدار الساعة طوال أيام الأسبوع، ويحتفظ بنافذة ساخنة لمدة ساعتين للتشغيل السريع للترجيع الأخير، ويحمي RAID من عمليات الإدخال والإخراج العشوائية.

مسار_الجهاز (حظر الجهاز أو "tmpfs")، tmpfs_size_pct (10-50% MemAvailable عند tmpfs)، مرآة_دقيقة_عمر_دقيقة، إخلاء_عمر_دقيقة، تدفق_عتبة_النسبة المئوية (مشغل تدفق القوة)

أرشيف الأقراص الصلبة RAID

تخزين طويل الأمد للاحتفاظ الكامل (الافتراضي 14 يومًا).

أيام الاحتفاظ، RAID_DEVICE، nginx_location، min_free_percent

ذاكرة التخزين المؤقت للتشغيل (اختياري)

ذاكرة التخزين المؤقت من جانب القراءة للملفات الشائعة الأقدم من ساعتين (مثل متابعة EPG).

الجلب المسبق للساعات، الحد الأقصى للجلسات، سياسة الإخلاء (جلسة/lru/fifo)

حساب السعة

الكتابة المباشرة × 2 ساعة = حجم النافذة الساخنة لـ write_buffer.

القراءات (بحث مدرك للطبقة)

يستكشف Stream.dvr_file_path/2 write_buffer → playback_cache → الأرشيف بالترتيب.

القرص الظاهري tmpfs (تطوير/اختبار)

يمكن لكل طبقة استخدام قرص tmpfs الظاهري المدعوم بذاكرة الوصول العشوائي (RAM) بدلاً من جهاز الكتلة الفعلي.

الحجم في٪ ذاكرة الوصول العشوائي المجانية

يتم تحديد التخصيص كنسبة مئوية من MemAvailable (من /proc/meminfo) - الخطوة 10، القيم الصالحة 10/20/30/40/50.

حارس السلامة OOM

إذا تجاوز الهدف المحسوب 60% من MemAvailable الحالي، فسيتم رفض التثبيت وتبقى الطبقة غير متصلة بالإنترنت (ينتقل Stream.archive_path إلى الطبقة السليمة التالية).

إعادة تشغيل المثابرة

يوجد tmpfs في ذاكرة الوصول العشوائي (RAM) - يتم فقدان أي محتوى مخزن مؤقت أثناء الرحلة عند إعادة تشغيل المضيف.

متى يتم استخدام tmpfs

استخدم tmpfs لـ write_buffer عندما: (أ) لا يحتوي صندوق التطوير/الاختبار على NVMe احتياطي ولكنك لا تزال ترغب في تشغيل خط DVR الكامل لاختبار التكامل، (ب) يريد المشغل التحقق من صحة سلوك المرآة + الأرشيف دون شراء NVMe مقدمًا، (ج) اختبار سريع الزوال حيث تكون الخسارة عند إعادة التشغيل مقبولة.

تدفق أسرع لـ tmpfs

عندما تكون طبقة الكتابة هي tmpfs، يستخدم StorageTierFlush إعدادات افتراضية أكثر صرامة — Mirror_min_age 2 دقيقة، evct_age 15 دقيقة (مقابل 5 دقائق / 120 دقيقة لـ NVMe الفعلي).

مستوى التزويد التلقائي والسلامة

يتم تكوين الطبقات مرة واحدة عبر التكوين > التخزين > طبقات التخزين ويتم توفيرها تلقائيًا - لا يوجد تحرير يدوي لـ mkfs/mount/fstab على المضيف.

بذور التمهيد الافتراضية

في التمهيد الأول (لا توجد طبقة كتابة في قاعدة البيانات)، يقوم النظام تلقائيًا بإنشاء طبقة كتابة مدعومة بـ tmpfs مع تخصيص MemAvailable بنسبة 30%، ونقطة التثبيت /mnt/nvme_write.

الصحة والفشل

يقوم Stream.archive_path/1 بإرجاع الطبقة "السليمة" الأولى - write_buffer إذا تم تركيبه + writable+free_pct فوق مستوى الأمان، وإلا فسيعود إلى الأرشيف (الوضع المتدهور).

تغيير الحجم المباشر

يؤدي تغيير tmpfs_size_pct في واجهة المستخدم إلى تشغيل umount + إعادة التحميل بالحجم الجديد عند الحفظ.

عنوان URL الأساسي — مشغل OSTV

حقول الحزمة

واجهة برمجة تطبيقات الحزم

سياسة كلمة المرور

واجهة برمجة تطبيقات الموزع

إعدادات

حقول المستخدم

إدارة المستخدم

IPTV إدارة المستخدمين

عنوان URL الأساسي — مشغل OSTV

يتيح تطبيق OSTV Player للمستخدمين تغيير عنوان URL الأساسي للخادم (عنوان API).

السبب: تغيير عنوان URL الأساسي مخصص فقط للمسؤولين/المستخدمين الجذريين حتى يتمكنوا من التبديل بين الخوادم (على سبيل المثال، الإنتاج مقابل الاختبار).

حقول المستخدم

واجهة برمجة تطبيقات الحزم

إرجاع قائمة بجميع الحزم النشطة مع الأسعار وفترات الفاتورة.

قائمة مستخدمي الإدارة (الموزعين / مقدمي الخدمة).

إرجاع الرصيد الدائن لمستخدم إدارة محدد.

حقول الحزمة

واجهة برمجة تطبيقات الموزع

واجهة برمجة التطبيقات (API) للموزعين/مقدمي الخدمات.

سياسة كلمة المرور

كلمة المرور مطلوبة عند إنشاء مشترك.

الحد الأدنى 8 أحرف

حرف كبير واحد على الأقل (A-Z)

حرف خاص واحد على الأقل (!@#$%^&* وما إلى ذلك)

ينطبق على واجهة المستخدم وواجهة برمجة التطبيقات.

إعدادات

مستوى التزويد التلقائي والسلامة

الكشف التلقائي عن السعة + نظام الملفات: عند تحديد NVMe مجاني من القائمة المنسدلة، تتم قراءة السعة (جيجابايت) من lsblk -bn -o SIZE وFS الحالي من blkid (مع احتياطي القرص بالكامل).

آلية تدفق الطبقة – المرآة المستمرة

يعمل StorageTierFlush GenServer كل 60 ثانية.

لماذا تتفوق المرآة المستمرة على "الانتظار 60 دقيقة، نقل الدفعة": (1) يكون تحميل RAID متساويًا - لا يوجد 5 جيجابايت من الاندفاعات عند حدود الساعة، فقط القليل من المقاطع 7 ميجابايت؛

أمان المقطع قيد التقدم: تقوم المرآة فقط باختيار الملفات الأقدم من MIRROR_MIN_AGE_MINUTES عبر البحث -mmin +5.

الضبط لكل عملية نشر (.env)

500-1000

قاعدة التحجيم:

تقويم معاينة DVR

تعرض علامة التبويب معاينة DVR تقويمًا مقدمًا من الخادم يسلط الضوء فقط على الأيام التي توجد فيها التسجيلات على القرص.

الأيام التي تحتوي على تسجيلات قابلة للنقر عليها (باللون الأزرق) - يؤدي النقر فوق إلى ملء إدخال التاريخ والوقت مسبقًا بهذا اليوم عند الساعة 00:00؛

تم تنفيذه في Stream.available_dvr_days/1 من خلال البحث عن -minديبوث 4 -ماكسديبيت 4 -تايب د على كل طبقة تثبيت؛

واجهة برمجة تطبيقات مشغل B2C

ملخص

توفر واجهة برمجة التطبيقات B2C (الأعمال إلى المستهلك) المصادقة والوصول إلى الدفق لتطبيقات مشغل المستخدم النهائي.

المصادقة

قم بمصادقة المستخدم واحصل على auth_token لاستدعاءات API اللاحقة.

طريقة

نقطة النهاية

هيئة الطلب

المعلمة

يكتب

مطلوب

وصف

نعم

اسم تسجيل دخول المستخدم

كلمة مرور المستخدم

طلب مثال

مجالات الاستجابة

استجابة النجاح (200)

رمز المصادقة المشفر لاستدعاءات API اللاحقة

تاريخ/وقت انتهاء صلاحية الرمز المميز بتنسيق ISO 8601

مثال على استجابة النجاح

الاستجابة للخطأ (403)

رسالة وصف الخطأ

رمز حالة HTTP

مثال على الاستجابة للخطأ

معلومات المستخدم

استرجع معلومات حول المستخدم الذي تمت مصادقته باستخدام رمز المصادقة المميز.

مجالات الاستجابة

اسم المستخدم للمستخدم المصادق عليه

رسالة الخادم (فارغة في حالة عدم وجودها)

حالة المصادقة (1 = مصادق عليها)

حالة الحساب: نشط، محظور، معطل، تجريبي

تاريخ انتهاء الحساب (فارغ إذا كان غير محدود)

عدد الاتصالات النشطة الحالية

تاريخ إنشاء الحساب بتنسيق ISO 8601

الحد الأقصى المسموح به من الاتصالات المتزامنة

قائمة تنسيقات دفق الإخراج المسموح بها

اسم الموفر لمالك/بائع المستخدم (خالي في حالة عدم وجوده)

عنوان URL لصورة شعار الموفر (خالي في حالة عدم وجوده)

عنوان URL لصورة شعار طي الموفر 208 × 208 (خالي في حالة عدم وجوده)

وقت الخادم الحالي بتنسيق ISO 8601

طلب مثال

فئات

استرداد الفئات التي تمت تصفيتها حسب النوع.

نوع الفئة: مباشر أو فيديو أو مسلسل

معرف الفئة كسلسلة

اسم عرض الفئة

معرف الفئة الأصلية (0 إذا كان الجذر)

تجزئة محتوى MD5 لإبطال ذاكرة التخزين المؤقت

طلب مثال

تفاصيل الفيديو حسب الطلب

استرجع معلومات مفصلة عن عنصر VOD محدد، بما في ذلك البيانات التعريفية وروابط الدفق.

معرف دفق VOD (UUID)

حقول كائنات المعلومات

عنوان URL لصورة الغلاف

معرف TMDB

عنوان URL لصورة الخلفية

سلسلة النوع

مؤامرة / وصف

أعضاء فريق التمثيل

قيمة التصنيف (0-10)

اسم المدير

تاريخ الافراج عنه

المدة بالثواني

المدة كسلسلة منسقة

مجموعة من معرفات الفئة

1 إذا كان المحتوى للبالغين، 0 بخلاف ذلك

حقول كائن VOD

معرف دفق VOD

عنوان VOD

تاريخ الإضافة (ISO 8601)

دفق عناوين URL الارتباط

البيانات التعريفية لترميز الفيديو/الصوت

تفاصيل السلسلة

استرجع معلومات المسلسل مع قوائم الموسم والحلقات الكاملة، مجمعة حسب رقم الموسم.

معرف السلسلة (UUID)

حقول صفيف المواسم

رقم الموسم

اسم عرض الموسم

عدد حلقات الموسم

تاريخ الهواء لهذا الموسم

نظرة عامة على الموسم / الوصف

عنوان URL لصورة غلاف الموسم

كائن الحلقات

خريطة مرتبطة بسلسلة رقم الموسم.

حقول كائن الحلقة

معرف الحلقة

معرف حلقة TMDB

رقم الحلقة ضمن الموسم

عنوان الحلقة

تاريخ الإضافة (ISO 8601)

رقم الموسم

كائن معلومات الحلقة (نفس بنية معلومات VOD)

دفق عناوين URL الارتباط

البيانات التعريفية لترميز الفيديو/الصوت

ملحوظات

تعتمد انتهاء صلاحية الرمز المميز على دور المستخدم: المشرف = 365 يومًا، أخرى = 30 يومًا|لا يمكن مصادقة الحسابات المعطلة (إرجاع 403)|كل تسجيل دخول ناجح يقوم بتحديث الطابع الزمني لتسجيل الدخول الأخير للمستخدم|الرموز المميزة مشفرة وتحتوي على معرف المستخدم واسم المستخدم والدور وانتهاء الصلاحية

استجابة النجاح (200)

تم الحصول على رمز المصادقة من نقطة النهاية /auth