إحصاءات الفيديو ومعدل البت

اعرض معدل بت البث الوارد في أعلى يمين لوحة إرساء Social Stream Ninja.

مهم: لا يقرأ SSN معدل البت تلقائيًا من OBS أو منصة بث. بل يستقصي API الإحصاءات الخاصة بخادم الفيديو الذي يتلقى بثك.

الغرض منه

يوفر هذا للمضيف أو المنتج قراءة صغيرة ومباشرة لمعدل البت في لوحة الإرساء. ويفيد عندما ينشر OBS أو مرمّز هاتف أو مرسِل آخر إلى خادم الترحيل أو الاستقبال الخاص بك.

يوحّد SSN أيضًا بيانات التأخير والتخزين المؤقت وفقد الحزم ومدة التشغيل والمرمّز والمشاهدين المتاحة ضمن حدث video_stats للبيانات الوصفية. تعرض القراءة القياسية في لوحة الإرساء معدل البت فقط.

التوافق

  • SRT Live Server / SLS: JSON /stats نقطة نهاية تحتوي على publishers كائن.
  • Belabox Cloud: استجابة إحصاءات المستقبِل أو المرحّل بصيغة JSON وبنمط SRT.
  • NGINX RTMP: XML من وحدة حالة NGINX RTMP.
  • Node Media Server: واجهة JSON API الخاصة بالبث فيه، مع مصادقة HTTP Basic اختيارية.
OBS ليس مصدر إحصاءات: يمكن لـ OBS إرسال فيديو إلى خادم متوافق، لكن OBS WebSocket ومصادر متصفح SSN لا توفر هذه البيانات.

كيفية الاستخدام

  1. فعّل نقطة نهاية إحصاءات HTTP في الخادم المتوافق وتأكد من أن الكمبيوتر الذي يشغّل SSN يستطيع فتح رابطها.
  2. في SSN الإعدادات العامة، فعّل استقصاء إحصاءات الفيديو (Video stats polling).
  3. اختر نوع المصدر وأدخل رابط الإحصاءات.
  4. بالنسبة إلى SRT أو Belabox، أدخل معرّف الناشر الدقيق، مثل publish/live/feed1. يستخدمه SSN تلقائيًا عندما تحتوي الاستجابة على ناشر واحد فقط.
  5. بالنسبة إلى NGINX RTMP أو Node Media Server، أدخل التطبيق ومفتاح البث أو اسمه، مثل live و feed1.
  6. أضف بيانات التفويض عند الحاجة. يُرسل حقل مفتاح SRT API بوصفه القيمة الكاملة لترويسة Authorization . يستخدم Node Media Server اسم المستخدم وكلمة المرور لمصادقة HTTP Basic.
  7. اختر فاصل استقصاء من 1 إلى 60 ثانية؛ والقيمة الافتراضية خمس ثوانٍ.
  8. في خيارات لوحة الإرساء، فعّل إظهار بيانات معدل البت عند توفرها؛ أعلى اليمين (Show bitrate metadata if available; top-right)، ثم افتح رابط لوحة الإرساء أو حدّثه.
  9. ابدأ نشر الفيديو. يظهر معدل البت بعد استجابة صالحة تفيد بأن البث متصل.

إذا لم يظهر شيء

  • تأكد من تفعيل خياري إحصاءات الفيديو في SSN.
  • تأكد من استجابة نقطة النهاية خلال خمس ثوانٍ ومن تطابق نوع المصدر ومعرّفات البث.
  • 127.0.0.1 يعني الكمبيوتر الذي يشغّل SSN. استخدم عنوان الخادم على الشبكة المحلية عندما يكون جهازًا آخر.
  • تختفي القراءة عندما يصبح البث غير متصل، أو يغيب معدل البت أو يصبح صفرًا، أو لا تصل إحصاءات جديدة لمدة نحو 130 ثانية.

متقدم: البروتوكول والتنسيقات والوحدات

ينفّذ SSN طلب HTTP أو HTTPS من نوع GET بالفاصل المضبوط مع تعطيل التخزين المؤقت ومهلة قدرها خمس ثوانٍ.

SRT Live Server / SLS وBelabox Cloud

{
  "publishers": {
    "publish/live/feed1": {
      "bitrate": 4500, "rtt": 32.5, "msRcvBuf": 120,
      "mbpsRecvRate": 4.5, "mbpsBandwidth": 12.8,
      "pktRcvDrop": 2, "pktRcvLoss": 1,
      "bytesRcvDrop": 2632, "bytesRcvLoss": 1316, "uptime": 3600
    }
  }
}

bitrate بوحدة Kbps؛ وRTT ومخزن الاستقبال بالمللي ثانية؛ ومعدل الاستقبال وعرض النطاق بوحدة Mbps؛ ومدة التشغيل بالثواني؛ وقيم الفقد والإسقاط بأعداد الحزم أو البايتات.

NGINX RTMP

يجب أن يُرجع الرابط XML لحالة NGINX RTMP. يطابق SSN التطبيق والبث المضبوطين. ويقرأ bw_video بوصفه بايتات في الثانية ويقسم على 1024 للحصول على bitrateKbps. ويقرأ أيضًا وقت البث والبيانات الوصفية الاختيارية لمرمّز الفيديو والصوت.

Node Media Server

يطلب SSN STATS_URL/APPLICATION/STREAM_NAME. قد تكون الحقول في المستوى الأعلى أو داخل data.

{ "data": { "isLive": true, "bitrate": 4500, "viewers": 3, "duration": 3600 } }

معدل البت بوحدة Kbps، والمشاهدون عدد، والمدة بالثواني.

حدث SSN موحّد

{
  "type": "generic",
  "event": "video_stats",
  "meta": {
    "provider": "srt-live-server", "source": "srt-live-server",
    "label": "SRT", "online": true,
    "updatedAt": "2026-07-13T14:45:00.000Z",
    "bitrateKbps": 4500, "rttMs": 32.5, "bufferMs": 120,
    "summary": "4500 Kbps, 33 ms, 120 ms"
  }
}
الحقلالوحدة أو النوع
bitrateKbpsKbps، عدد صحيح
rttMs / bufferMsمللي ثانية
recvRateMbps / bandwidthMbpsMbps
حقول الفقد أو الإسقاطأعداد الحزم أو البايتات
uptimeSeconds / durationSecondsثوانٍ
onlineقيمة منطقية؛ false يُخفي قيمة لوحة الإرساء

تقبل لوحة الإرساء meta.bitrateKbps، مع meta.bitrate و meta.kbps كبدائل احتياطية. تُعرض القيم الأقل من 1000 بوحدة Kbps بعد التقريب؛ وتُعرض القيم الأكبر بوحدة Mbps مقربة إلى منزلة عشرية واحدة. لا يُرسل رابط الإحصاءات أو مفتاح البث أو بيانات الاعتماد إلى التراكبات إطلاقًا.