التحكم في OBS باستخدام Social Stream Ninja

تحكم في OBS مباشرة من Event Flow — دون الحاجة إلى Streamer.bot. يغطي هذا الدليل الإعداد وكل مشغّلات وإجراءات OBS ووصفات عملية وعناصر التحكم الأقدم في لوحة الإرساء ومصدر المتصفح.

العربية

1. توصيل Flow Actions بـ OBS

OBS WebSocket v5 مدمج في OBS 28 والإصدارات الأحدث. يستخدمه Social Stream Ninja للتحكم الكامل في OBS وأحداث الوسائط.

  1. في OBS، افتح الأدوات (Tools) → إعدادات خادم WebSocket (WebSocket Server Settings).
  2. فعّل خادم WebSocket. أبقِ المنفذ الافتراضي 4455؛ واضبط كلمة مرور إن رغبت.
  3. في Social Stream Ninja، افتح Flow Actions واضبط رابط OBS WebSocket وكلمة المرور الاختيارية.
  4. انسخ رابط Flow Actions وأبقِه مفتوحًا. يُنصح باستخدام مصدر متصفح OBS لإجراءات التراكب والصوت.
  5. استخدم أداة اختبار OBS WebSocket لتأكيد الاتصال قبل إنشاء تدفق.
مثال رابط مباشر
https://socialstream.ninja/actions.html?session=YOUR_SESSION&obsws=ws://127.0.0.1:4455

أضف &obspw=YOUR_PASSWORD فقط عندما يتطلب OBS المصادقة. أضف &obsdebug=1 لإظهار شارة صغيرة لحالة الاتصال أثناء تشخيص المشكلات.
أبقِ صفحة Flow Actions تعمل. هو الجسر الذي يستقبل إجراءات Event Flow ويرسل طلبات OBS WebSocket. إذا كان مصدر متصفح OBS، فأوقف إيقاف المصدر عندما لا يكون ظاهرًا (Shutdown source when not visible) عندما يجب أن يواصل المصدر التحكم في OBS وهو مخفي.
حدث دردشة أو بث │ ▼ Event Flow في Social Stream Ninja │ معرّف الجلسة نفسه ▼ صفحة Flow Actions ‏(actions.html) │ OBS WebSocket v5 · ws://127.0.0.1:4455 ▼ OBS Studio

وضعا الاتصال بـ OBS

الوضعما الذي يدعمهالمتطلب
OBS WebSocket v5كل مشغّل وإجراء في هذا الدليل.OBS 28 أو أحدث، وخادم WebSocket مفعّل، وصفحة Flow Actions مفتوحة.
OBS Browser Source APIبديل احتياطي لتغيير المشاهد وبدء البث وإيقافه وبدء التسجيل وإيقافه وحفظ مخزن الإعادة.Flow Actions محمّل داخل OBS بمستوى وصول Advanced. تظل ميزات المصدر والمرشح والنص ومستوى الصوت والوسائط والتحديث وانتهاء الوسائط تتطلب WebSocket.

2. إضافة عقد OBS إلى تدفق

  1. افتح محرر Event Flow وأنشئ تدفقًا أو عدّله.
  2. اسحب مشغّلًا إلى مساحة العمل.
  3. وسّع OBS Studio في قائمة الإجراءات واسحب إجراء OBS الذي تحتاجه.
  4. اربط المشغّل بالإجراء، واضبط أسماء مشاهد ومصادر OBS بدقة، ثم احفظ التدفق وفعّله.
قائمة إجراءات OBS Studio في محرر Event Flow في Social Stream Ninja
تحتوي مجموعة OBS Studio على عناصر تحكم بالمشاهد والمصادر والنص والوسائط والصوت والمرشحات والإخراج ومخزن الإعادة.
يجب أن تتطابق أسماء OBS تمامًا، بما فيها المسافات وعلامات الترقيم. تستهدف إجراءات المصدر اسم المُدخل في OBS، وليس تسمية عنصر المشهد إن غُيّرت بشكل مستقل.

3. مشغّلات OBS

تبدأ هذه المشغّلات تدفقًا عندما يبلغ OBS عن حدث مطابق. وتصل بوصفها type: "obs"؛ وتوجد تفاصيل OBS ضمن meta.

المشغّلمتى يعملبيانات مفيدة
بدء بث OBS (OBS Stream Started)يصل البث إلى حالة البدء.meta.outputState, meta.outputActive
إيقاف بث OBS (OBS Stream Stopped)يصل البث إلى حالة التوقف.meta.outputState, meta.outputActive
بدء تسجيل OBS (OBS Recording Started)يبدأ التسجيل.meta.outputState
إيقاف تسجيل OBS (OBS Recording Stopped)يتوقف التسجيل.meta.outputState
تغيير مشهد OBS (OBS Scene Changed)يتغير مشهد البرنامج النشط.meta.sceneName
انتهاء وسائط OBS (OBS Media Ended) WebSocketينتهي تشغيل مُدخل وسائط. يمكنك اختياريًا الترشيح حسب اسم مصدر الوسائط الدقيق (Media Source Name).meta.inputName, meta.inputUuid
حفظ مخزن إعادة OBS (OBS Replay Buffer Saved)ينتهي OBS من حفظ إعادة.meta.savedReplayPath

4. إجراءات OBS

الإجراءالضبط والسلوكالاتصال
تغيير المشهد (Change Scene)يبدّل مشهد البرنامج النشط باستخدام اسم المشهد الدقيق.WebSocket أو OBS Browser Source API كبديل احتياطي
تبديل المصدر (Toggle Source)إظهار عنصر مشهد أو إخفاؤه أو تبديل ظهوره. المشهد والمجموعة حقلا استهداف اختياريان.WebSocket
ضبط مصدر النص (Set Text Source)يحدّث Text (GDI+) أو Text (FreeType 2) مع عناصر نائبة للقالب.WebSocket
التحكم بمصدر الوسائط (Control Media Source)تشغيل أو استئناف أو إيقاف مؤقت أو إعادة تشغيل أو إيقاف أو التالي أو السابق.WebSocket
ضبط مستوى صوت المصدر (Set Source Volume)يضبط مُدخلًا ضمن النطاق من -100 إلى +26 ديسيبل.WebSocket
تحديث مصدر المتصفح (Refresh Browser Source)يعيد تحميل مصدر متصفح دون ذاكرة مؤقتة.WebSocket
تبديل المرشح (Toggle Filter)تفعيل مرشح مصدر مسمى أو تعطيله أو تبديله.WebSocket
كتم الصوت أو إلغاء كتمه (Mute/Unmute Audio)كتم مُدخل أو إلغاء كتمه أو تبديل حالته.WebSocket
بدء التسجيل (Start Recording)يبدأ تسجيل OBS.WebSocket أو OBS Browser Source API كبديل احتياطي
إيقاف التسجيل (Stop Recording)يوقف تسجيل OBS.WebSocket أو OBS Browser Source API كبديل احتياطي
بدء البث (Start Streaming)يبدأ إخراج البث المضبوط في OBS.WebSocket أو OBS Browser Source API كبديل احتياطي
إيقاف البث (Stop Streaming)يوقف إخراج البث في OBS.WebSocket أو OBS Browser Source API كبديل احتياطي
التحكم بمخزن الإعادة (Control Replay Buffer)بدء مخزن الإعادة أو إيقافه أو تبديل حالته.WebSocket
حفظ مخزن الإعادة (Save Replay Buffer)يحفظ مخزن الإعادة الجاري تشغيله.WebSocket أو OBS Browser Source API كبديل احتياطي

ضبط مصدر النص ومتغيرات التدفق

يدعم حقل النص العناصر النائبة المعتادة للرسائل مثل {username}, {message}, {source}، و {donation}، بالإضافة إلى القيم التي أضافتها عقد التدفق السابقة مثل {counterValue}, {counterTarget}، و {counterRemaining}.

{username}: now {counterValue}, need {counterTarget}
خصائص Set Text Source مع متغيرات قالب العداد
يكتب Set Text Source القيمة بعد استبدال المتغيرات مباشرة في مُدخل النص المسمى في OBS.
لمصدر Text (GDI+) أو Text (FreeType 2)، أوقف القراءة من ملف (Read from file). وإلا فقد يستمر OBS في عرض محتويات الملف بدلًا من النص الذي يرسله Event Flow.

عناصر تحكم مصدر الوسائط

تشغيل / إيقاف مؤقت

تشغيل (Play) يستأنف الوسائط الموقوفة مؤقتًا. إيقاف مؤقت (Pause) يحتفظ بموضعه الحالي.

إعادة التشغيل / الإيقاف

إعادة التشغيل (Restart) يبدأ من البداية. إيقاف (Stop) ينهي التشغيل ويعيد ضبط المُدخل.

التالي / السابق

ينتقل بين عناصر المُدخلات التي تدعم قوائم التشغيل، مثل VLC Video Source. قد يتجاهل مصدر الوسائط ذو الملف الواحد هذه الإجراءات.

مستوى الصوت والكتم والمرشحات

ضبط مستوى صوت المصدر (Set Source Volume) يستخدم الديسيبل، بما يتوافق مع مقياس مازج OBS: 0 dB يعني عدم تغيير الكسب، والقيم السالبة تخفض الصوت، و -100 dB صامت فعليًا. الكتم حالة منفصلة. لا يغيّر Toggle Filter إلا حالة تفعيل مرشح موجود؛ ولا يعدّل إعدادات المرشح.

مخزن الإعادة (Replay Buffer)

فعّل مخزن الإعادة أولًا في إعدادات OBS (Settings) → الإخراج (Output). استخدم التحكم بمخزن الإعادة (Control Replay Buffer) لبدئه أو إيقافه، ثم حفظ مخزن الإعادة (Save Replay Buffer) لكتابة المقطع الأخير المخزن مؤقتًا على القرص.

تحذير بشأن الإخراج المباشر: تعمل إجراءات بدء البث وإيقافه وبدء التسجيل وإيقافه فورًا. استخدم مشغّلات مقيّدة وأذونات وفترات انتظار حتى لا تفعّلها رسائل الدردشة العادية عن طريق الخطأ.

5. وصفات مفيدة

رسالة كل ساعة أثناء بث OBS المباشر

في محرر Event Flow، اختر البدء بقالب (Start with a template) → متوسط (Intermediate) → رسالة كل ساعة أثناء بث OBS المباشر (Hourly message while OBS is live). يبدأ معطلًا ويحتوي على ثلاثة فروع ضمن تدفق واحد:

  • بدء بث OBS → ضبط حالة البوابة: ON
  • فاصل زمني (3600 ثانية) → مفتاح ON/OFF → إرسال رسالة
  • إيقاف بث OBS → ضبط حالة البوابة: OFF

يستهدف إجراءا Set Gate State بالفعل المفتاح نفسه، الذي يبدأ افتراضيًا على OFF. عدّل إرسال رسالة (Send Message) لاختيار منصة الدردشة (يستخدم المثال Twitch) والرسالة. اختر منصة أو All Platforms؛ فلا يستطيع Reply to Source الرد على حدث OBS أو نبضة مؤقت.

توصيل Flow Actions بـ OBS، وأبقِ Social Stream والدردشة المستهدفة متصلين، ثم احفظ التدفق وفعّله قبل بدء البث. ينتظر المفتاح حدث بدء من OBS؛ وتحميله أثناء بث قائم لا يحوله إلى ON. كما تعيد إعادة تشغيل Social Stream ضبط المفتاح على OFF.

التوقيت: يعمل الفاصل الزمني وفق جدوله الخاص، لذا قد يصل التذكير الأول قبل مرور ساعة على بدء البث. وتتكرر التذكيرات اللاحقة كل ساعة ما دام المفتاح ON. غيّر قيمة Time Interval لتغيير التواتر؛ وتقاس بالثواني.

نص العداد في OBS

ضع ضبط مصدر النص (Set Text Source) بعد مسار العداد أو الفحص واستخدم:

{username}: now {counterValue}, need {counterTarget}

تشغيل شيء بعد فيديو

انتهاء وسائط OBS (OBS Media Ended) (رشّح إلى Intro Video) → تغيير المشهد (Change Scene) إلى Main.

إعادة تشغيل الوسائط بتحكم الدردشة

الرسالة تساوي (Message Equals) !replayintro → شرط الصلاحية → التحكم بمصدر الوسائط: إعادة التشغيل (Control Media Source: Restart).

تحديث صفحة تنبيه

الرسالة تساوي (Message Equals) !refreshalerts → شرط المشرف → تحديث مصدر المتصفح (Refresh Browser Source).

خفض الموسيقى مؤقتًا لتنبيه

ضبط مستوى صوت المصدر (Set Source Volume) إلى -24 dB → إجراء تنبيه → تأخير → استعادة القيمة إلى 0 dB.

مسار عمل الإعادة

بدء بث OBS (OBS Stream Started) → التحكم بمخزن الإعادة: بدء (Control Replay Buffer: Start)؛ وينفّذ أمر منفصل موثوق حفظ مخزن الإعادة (Save Replay Buffer).

6. عناصر تحكم OBS المدمجة الأخرى

يتضمن Social Stream Ninja أيضًا عناصر تحكم أقدم لـ OBS Browser Source في لوحة إرساء Streaming Chat. لا تستخدم هذه جسر WebSocket الخاص بـ Flow Actions.

الخيارما الذي يفعلهالمتطلب
مؤشر مشهد OBS الحالييعرض المشهد النشط في لوحة إرساء Streaming Chat.لوحة إرساء محمّلة داخل OBS بإذن القراءة.
يمكن للضيوف استخدام !cycleينتقل إلى مشهد OBS التالي، مع حد مرة واحدة كل 10 ثوانٍ.فعّل خيار النافذة المنبثقة؛ مع تحميل لوحة الإرساء داخل OBS بصلاحية Advanced.
يمكن للمستخدمين ذوي الصلاحيات استخدام !start / !stopيبدأ البث أو يوقفه بناءً على أوامر مستخدمي دردشة موثوقين.فعّل خيار النافذة المنبثقة؛ مع تحميل لوحة الإرساء داخل OBS بصلاحية تحكم Full أو Advanced.
لوحة تحكم OBS عن بُعديعرض المشاهد ويمكنه تبديل المشاهد أو تشغيل البث والتسجيل وإيقافهما عندما تمنح لوحة إرساء OBS المستهدفة مستوى التحكم المطلوب.لوحة إرساء Streaming Chat مقترنة بلوحة إرساء تعمل داخل OBS.
أداة اختبار OBS WebSocketيفحص الإصدار والاتصال والمشاهد والطلبات الفردية قبل استخدام Event Flow.فتح أداة الاختبار

7. استكشاف الأخطاء

المشكلةتحقق من
لا يحدث شيءالتدفق محفوظ ومفعّل؛ وFlow Actions مفتوح؛ ويستخدمان معرّف الجلسة نفسه.
OBS لا يتصلخادم WebSocket مفعّل، والرابط هو ws://127.0.0.1:4455، وأن كلمة المرور مطابقة. المنفذ 4444 هو المنفذ الافتراضي القديم للإصدار v4.
لم يُعثر على المشهد أو المصدر أو المرشحانسخ اسم OBS الدقيق. للتحكم في الظهور، حدد المشهد أو المجموعة عندما يكون العنصر متداخلًا أو خارج المشهد الحالي.
النص لا يتغيراستخدم Text (GDI+) أو Text (FreeType 2)، وتأكد من اسم المُدخل، وعطّل القراءة من ملف (Read from file).
حدث Media Ended لا يعمل أبدًااستخدم OBS WebSocket v5 ومُدخل وسائط حقيقيًا. لا تصل الوسائط المتكررة إلى حالة انتهاء.
التالي والسابق لا يفعلان شيئًااستخدم مصدرًا يدعم قوائم التشغيل، مثل VLC Video Source.
فشل حفظ الإعادةفعّل مخزن الإعادة في إعدادات إخراج OBS وابدأه قبل الحفظ.
تتوقف الإجراءات عند تغيير المشهدتعطيل (Disable) إيقاف المصدر عندما لا يكون ظاهرًا (Shutdown source when not visible) في مصدر متصفح Flow Actions، أو أبقِ الصفحة مفتوحة في مكان آخر.
ترتيب التشخيص: افتح أداة الاختبار → تأكد من GetVersion → تأكد من المشاهد والمُدخلات → اختبر الطلب الفردي → اختبر Event Flow كاملًا.