كيفية إعداد خادم تسجيل وبث Jibri لـ Jitsi Meet

يوثق دليل Docker الحالي لـ Jitsi تغييرًا هامًا في عملية النشر: فمنذ الإصدار 1000 stable-11146، تعمل حاوياتها بمعرف مستخدم/مجموعة غير مميز (UID/GID 1000)، ويجب أن تكون مجلدات البيانات الدائمة قابلة للكتابة من قِبل مستخدم الحاوية هذا. كما لم تعد خدمة Jibri بحاجة إلى هذه SYS_ADMINالإمكانية. لذا، يُنصح بعدم نسخ الأدلة القديمة التي توصي باستخدام حاويات مميزة أو 777صلاحيات واسعة النطاق إلى عملية نشر حالية دون مراجعة التعليمات الخاصة بالإصدار.

يستخدم هذا الدليل Docker Compose لتثبيت Jitsi Meet مُستضاف ذاتيًا. وهو يتبع مثالًا افتراضيًا واضحًا: فريق Riverview يُشغّل Jitsi بالفعل على [عنوان URL] meet.example.net، ويخزن الإعدادات في [موقع ملف الإعدادات] /opt/jitsi-meet-cfg، ويريد من المشرفين تسجيل الاجتماعات محليًا وبثها أحيانًا إلى وجهة RTMP. هذا مثال على الإعدادات، وليس تقريرًا عن تثبيت أو اختبار حقيقي.

ملاحظة توضيحية: الصور المعروضة أدناه هي أمثلة تخطيطية، وليست لقطات من خادم حقيقي؛ مخرجات الأوامر المعروضة وحالات الاجتماع هي لأغراض التوضيح فقط.

ما يفعله جبري، وما يحتاجه

Jibri هي البنية التحتية للبث التابعة لـ Jitsi لتسجيل المؤتمرات أو بثها مباشرةً. تنضم Jibri إلى الاجتماع عبر جلسة متصفح، وتلتقط الصوت والفيديو، ثم تُشفّر الناتج. ولذلك، يعتمد إعداد Jibri الفعال على توافق خدمة Jitsi على الويب، وخادم Prosody XMPP، وJicofo على حساب المُسجّل الداخلي وغرفة Jibri "brewery" حيث تُعلن النسخ المتاحة عن نفسها.

استخدم تثبيتًا كاملاً لـ Jitsi Meet تحت إدارتك؛ لا يمكن ربط Jibri بخدمة meet.jit.si العامة كما لو كانت خادمك الخاص. يوضح مشروع Jibri الأصلي تشغيله على جهاز منفصل أو جهاز افتراضي، دون أي استخدام غير ذي صلة لشاشته أو أجهزة الصوت الخاصة به. تُضمّن حزمة Docker Compose الرسمية Jibri كخدمة إضافية. بالنسبة للتثبيتات الصغيرة، يمكن أن يكون ذلك عبارة عن حاوية منفصلة على مضيف Compose؛ أما للاستخدام المستدام، فخصص له وحدة معالجة مركزية وذاكرة ومساحة تخزين كافية، أو ضعه على مضيف ذي موارد مناسبة.

يمكن لنسخة واحدة من Jibri التعامل مع جلسة تسجيل أو بث واحدة في كل مرة. إذا كان Riverview يتوقع جلسات متزامنة، فعليه تخطيط مجموعة Jibri تضم نسخًا متعددة، مع مراعاة إعدادات إعادة توجيه الصوت الإضافية الموضحة في دليل Jitsi. إن إضافة المزيد من الحاويات دون أجهزة صوتية فريدة لا يُعد خطة توسع كاملة.

مثال على ملف بيئة Docker مع تمكين التسجيل وإخفاء كلمات مرور Jibri XMPP والمسجل
مثال على إعدادات البيئة لتمكين Jibri؛ قيم كلمة المرور عبارة عن عناصر نائبة مخفية.

الخطوة 1: تجهيز بيئة Docker Jitsi Meet

ابدأ بإصدار رسمي من Docker Jitsi Meet وملفات Compose الخاصة به. احتفظ .envبالملفات من نفس الإصدار. في ملف البيئة، فعّل التسجيل.

ENABLE_RECORDING=1

يستخدم إعداد Compose الخاص بـ Jitsi حسابات XMPP داخلية لـ Jibri نفسه ولجلسة متصفح المُسجِّل. عيّن قيمًا قوية ومميزة لكلمات مرور Jibri والمُسجِّل، واحرص على سريتها. بالنسبة للبنية الجديدة كليًا، gen-passwords.shيمكن لبرنامج المشروع النصي إنشاء كلمات مرور الخدمة الداخلية. سيؤدي ذلك إلى تغيير ملف البيئة، لذا قم بعمل نسخة احتياطية منه أولًا. إذا كانت بنية Jitsi قيد التشغيل بالفعل، فلا تُعِد إنشاء جميع كلمات المرور بشكل عشوائي: يجب أن تتلقى جميع المكونات قيد التشغيل بيانات الاعتماد المُحدَّثة المطابقة أثناء إعادة التشغيل المُخطَّطة.

في مثال ريفرفيو، ENABLE_RECORDING=1يُعدّ هذا الخيار مطلوبًا، بينما يُوفّر قالب بيئة الإصدار أسماء المستخدمين والإعدادات الافتراضية لمستخدم XMPP، ومستخدم المُسجّل، ومنصة Brewery MUC، ومسار التخزين، وخيارات أخرى. يُرجى عدم لصق كلمات المرور في مشكلة عامة، أو لقطة شاشة طرفية، أو دردشة اجتماع مشتركة.

مثال على الطرفية: إنشاء دليل تخزين Jibri وتعيينه لمالك رقمي 1000:1000
قم بإعداد دليل Jibri الدائم لمستخدم الحاوية غير المميز قبل بدء الخدمة.

الخطوة الثانية: إنشاء وحدة تخزين دائمة قابلة للكتابة

يجب أن تبقى التسجيلات محفوظة بعد استبدال الحاوية، لذا يقوم إعداد Compose الخاص بـ Jitsi بتثبيت وحدة تخزين مضيفة دائمة لـ Jibri. في المثال المذكور CONFIG=/opt/jitsi-meet-cfg، يكون دليل المضيف هو /opt/jitsi-meet-cfg/storage/jibri. أنشئه قبل بدء الخدمة واجعله قابلاً للكتابة بواسطة UID/GID الخاص بالحاوية 1000.

sudo mkdir -p /opt/jitsi-meet-cfg/storage/jibri
sudo chown 1000:1000 /opt/jitsi-meet-cfg/storage/jibri
sudo chmod 750 /opt/jitsi-meet-cfg/storage/jibri
ls -ldn /opt/jitsi-meet-cfg/storage/jibri

يجب أن تُظهر القائمة الرقمية المالك والمجموعة 1000. استخدم المسار الفعلي CONFIGمن ملف بيئتك إذا كان مختلفًا. تجنب تغيير ملكية دليل تكوين Jitsi بالكامل بشكل متكرر؛ طبّق الملكية المطلوبة على مسار تخزين Jibri، واحتفظ بالتسجيلات الموجودة عند تعديل مضيف قائم. في أنظمة SELinux، احتفظ بإعدادات تسمية وحدة التخزين من ملف Compose الرسمي المطابق بدلاً من حذفها.

يمكن تهيئة دليل التسجيل الخاص بالحاوية؛ والمثال الموثق في الدليل JIBRI_RECORDING_DIRهو `<اسم الدليل /storage/recordings>`، المُثبَّت أسفل دليل تخزين Jibri الخاص بالمضيف. تحقق من قالب بيئة الإصدار قبل تغييره. تأكد من أن المضيف لديه مساحة كافية على القرص وخطة احتفاظ بالبيانات: قد يملأ مسجل البيانات مساحة تخزين صغيرة بمرور الوقت.

الخطوة 3: ابدأ تشغيل Jibri باستخدام ملف Compose المطابق

من الدليل الذي يحتوي على ملفات Jitsi Compose الرسمية وملف البيئة المُهيأ، ابدأ تشغيل الحزمة الأساسية باستخدام تجاوز Jibri:

docker compose -f docker-compose.yml -f jibri.yml up -d

يستخدم الدليل الرسمي نمط Compose هذا لإضافة Jibri إلى نشر Docker. يحدد ملف Jibri المُعدّل صورة حاوية الخدمة، وتكوينها، ومواقع تخزينها، وتخصيص الذاكرة المشتركة. استخدم الملف المرفق مع الإصدار الذي اخترته؛ تجنب مزج الإصدار الحالي jibri.ymlمع إصدار أقدم .envأو حزمة Compose.

تحقق مما إذا كانت خدمة Jibri تعمل بشكل مستمر، وراجع سجلاتها مع Jicofo و Prosody:

docker compose ps jibri
docker compose logs --tail=100 jibri jicofo prosody

يُعد تشغيل الحاوية فحصًا أوليًا، وليس دليلًا على إمكانية تسجيل المؤتمر. يجب على Jibri المصادقة على مضيف XMPP الصحيح والانضمام إلى غرفة الدردشة الداخلية المتوقعة. إذا أظهرت السجلات حالات فشل في المصادقة، فقارن نطاق XMPP، وغرفة الدردشة الداخلية، وحساب Jibri، وحساب المُسجِّل، وكلمات المرور بين ملف البيئة وتكوين الخدمة المُنشأ. يجب أن تتطابق القيم؛ إذ أن تغيير كلمة مرور أحد المكونات فقط سيؤدي إلى فشل عملية المصافحة.

طرفية توضيحية تعرض أمر Docker Compose مع تجاوز Jibri وقائمة حالة الخدمة
قم بتشغيل خدمة Jibri Compose وافحص حالتها؛ هذه الشاشة توضيحية وليست دليلاً على عملية نشر تم اختبارها.

الخطوة 4: اختبار التسجيل وبث RTMP

انضم إلى اجتماع تجريبي meet.example.netباستخدام حساب مشرف. في قائمة "المزيد من الإجراءات" الخاصة بالاجتماع، تأكد من توفر خياري التسجيل والبث المباشر. ابدأ بتسجيل قصير، وانتظر حتى تنتهي الجلسة، ثم تحقق من مسار التخزين المضيف المُهيأ للعثور على التسجيل. سيظل التسجيل موجودًا بعد إعادة إنشاء حاوية Jibri، لأنه يُخزن على وحدة التخزين المضيفة المُثبتة وليس فقط في الطبقة القابلة للكتابة داخل الحاوية.

للبث المباشر، استخدم عنوان URL الخاص باستقبال RTMP ومفتاح البث المُقدم من خدمة الوجهة. أدخل قيم الموفر الحالية في سير عمل البث المباشر في Jitsi، وتحقق من حالة معاينة أو استقبال الوجهة. قد تتغير لوحات معلومات الموفر وتسمياته، لذا استخدم تعليمات RTMP الحالية للوجهة. تعامل مع مفتاح البث ككلمة مرور: لا تنشره في دردشة الاجتماع أو لقطات شاشة المقالات. يُعد التسجيل على وحدة التخزين المحلية وإرسال البث المباشر إلى خدمة RTMP من وظائف Jibri ذات الصلة، لكن لكل منهما وجهات وفحوصات مختلفة.

اجتماع Jitsi توضيحي - قائمة "المزيد من الإجراءات" مع خياري "بدء التسجيل" و"بدء البث المباشر"
يمكن لقائمة الاجتماع أن تعرض إجراءات التسجيل والبث المباشر بعد تكوين Jibri؛ ويعتمد توفر القائمة على عملية النشر.

قم بتشخيص المشكلة من نقطة الفشل

  • لا يظهر أي تسجيل أو بث: تأكد ENABLE_RECORDING=1من وجود ملف البيئة النشط وأن حزمة Compose المطابقة قد أُعيد إنشاؤها بعد التغيير. تحقق من إعدادات الويب وProsody وJicofo المُنشأة بدلاً من تعديل الملفات داخل حاوية قيد التشغيل؛ إذ يُعيد Docker إنشاء إعدادات الخدمة من مُدخلات المضيف.
  • يظهر الإجراء، لكن لا يمكن لـ Jibri الانضمام: راجع سجلات Jibri وJicofo بحثًا عن أخطاء مصادقة XMPP أو أخطاء MUC. تحقق من المضيف الداخلي، ونطاق المُسجِّل، واسم المُنشئ، وكلا كلمتي المرور الداخليتين باستخدام نفس إصدار Compose.
  • إذا توقف الحاوية أو أعيد تشغيلها: تحقق من سجلاتها بحثًا عن مسار تخزين مفقود أو غير قابل للكتابة. في الصور الحالية غير الجذرية، تأكد من إمكانية الكتابة إلى الدليل المُثبَّت بواسطة UID/GID 1000. تحقق أيضًا من ذاكرة المضيف وتكوين الذاكرة المشتركة المُقدَّم من ملف Jibri Compose الرسمي.
  • تبدأ الجلسة ولكن لا يظهر أي ملف تسجيل: تأكد من أن دليل التسجيل المُكوّن مُطابق لوحدة التخزين المضيفة وأن الجلسة قد أُوقفت/انتهت بشكل طبيعي. تحقق من مساحة القرص الحرة وأذونات الملفات.
  • التسجيل يعمل لكن البث يفشل: أعد التحقق من عنوان URL الخاص باستقبال RTMP ومفتاح البث، ومتطلبات الوجهة الحالية، ومسار الشبكة الصادر للمضيف. راجع سجلات Jibri لمعرفة سبب فشل البث بدلاً من فتح منافذ واردة إضافية دون دليل.

عندما ينجح اجتماع ما، ولكنك تحتاج إلى تسجيلات متزامنة أكثر، قم بزيادة السعة بشكل مدروس. يُشير حدّ جلسة واحدة لكل مثيل في Jibri إلى أن المهام المتزامنة تتطلب المزيد من المثيلات؛ كما يُشير دليل Docker إلى ضرورة اختيار واجهات إعادة توجيه صوتية منفصلة للمثيلات المتعددة. اختبر مثيلًا إضافيًا واحدًا قبل توسيع المجموعة، وتأكد من قدرة كل مثيل على إنشاء تسجيل منفصل.

استخدم هذه المراجع الرسمية

اتبع التعليمات الخاصة بنشرك بدلاً من نسخ الإعدادات من إصدار Jibri آخر. يوثق دليل Jitsi Docker سير عمل Compose، ومتغيرات التسجيل، ومسار التخزين، وأذونات الحاويات غير الجذرية، وملاحظات Jibri الحالية. يشرح ملف README الخاص بمشروع Jibri دور Jibri، وحدود الجلسة الواحدة، ونموذج التكوين. يُعد تعريف خدمة Jibri Compose الرسمي وقالب البيئة المصدر الموثوق لأسماء المتغيرات ونقاط التحميل الخاصة بكل إصدار.

اترك تعليقاً

أفضل 10 أدوات مسح Ping للعثور على الأجهزة على شبكتك

أفضل 10 أدوات مسح Ping للعثور على الأجهزة على شبكتك

قارن بين 10 أدوات مسح الشبكة المحلية (Ping) لاكتشاف الشبكات المحلية بسرعة، وإجراء مسح شامل للأنظمة الأساسية المختلفة، وإدارة عناوين IP. تعرّف على ما يمكن أن يكشفه لك المسح وما لا يمكنه كشفه.

أفضل 6 أدوات لإدارة الشبكة لتتبع الأداء

أفضل 6 أدوات لإدارة الشبكة لتتبع الأداء

قارن بين ست أدوات لإدارة الشبكة لمراقبة الأداء، بما في ذلك تغطية SNMP، ورسم الخرائط، والتنبيهات، ونماذج النشر، والمفاضلات المتعلقة بالتكلفة.

أفضل برامج تحليل شبكة الواي فاي لأنظمة ويندوز، وiOS، وأندرويد

أفضل برامج تحليل شبكة الواي فاي لأنظمة ويندوز، وiOS، وأندرويد

قارن بين أفضل برامج تحليل شبكة Wi-Fi لأنظمة Windows و iPhone و Android، بما في ذلك أدوات ازدحام القنوات وتغطية الإشارة والخرائط الحرارية واستكشاف أخطاء الشبكة وإصلاحها.

مراقبة الاتصال: 7 أدوات مجانية ومفتوحة المصدر لمراقبة توافر الشبكة

مراقبة الاتصال: 7 أدوات مجانية ومفتوحة المصدر لمراقبة توافر الشبكة

قارن بين سبعة برامج مراقبة زمن الاستجابة المجانية والمفتوحة المصدر، بدءًا من مجموعات الشبكة الكاملة وحتى مجسات زمن الاستجابة المركزة، واختر البرنامج المناسب من حيث التوافر وفقدان الحزم والسجل.

جودة الخدمة في الشبكات: ما هي جودة الخدمة وكيف تعمل

جودة الخدمة في الشبكات: ما هي جودة الخدمة وكيف تعمل

تعرف على معنى جودة الخدمة في الشبكات، وكيف تحدد علامات DSCP وقوائم انتظار حركة المرور أولويات تطبيقات الصوت والفيديو والأعمال، وما لا تستطيع جودة الخدمة إصلاحه.

أفضل الممارسات لمراقبة الشبكات: ما الذي يجب تتبعه وما هي الأدوات التي يجب استخدامها

أفضل الممارسات لمراقبة الشبكات: ما الذي يجب تتبعه وما هي الأدوات التي يجب استخدامها

قم ببناء نظام مراقبة شبكة عملي مع تغطية واضحة للأجهزة، ومقاييس أداء مفيدة، وتنبيهات قابلة للتنفيذ، ومقارنة بين SolarWinds NPM وPRTG وOpManager.

أفضل برامج خادم SFTP لنقل الملفات بشكل آمن

أفضل برامج خادم SFTP لنقل الملفات بشكل آمن

قارن بين برامج خوادم SFTP الموثوقة لأنظمة ويندوز ولينكس، بما في ذلك OpenSSH وBitvise وSolarWinds وSFTPGo. اعثر على الخيار الأمثل الذي يلبي احتياجاتك الأمنية واحتياجات نقل الملفات.

أفضل 7 أدوات لإدارة عناوين IP لفرق الشبكات

أفضل 7 أدوات لإدارة عناوين IP لفرق الشبكات

قارن بين سبع أدوات لإدارة عناوين IP لاكتشاف الشبكات الفرعية، وتنسيق DNS وDHCP، وجرد الشبكة، وIPAM مفتوح المصدر.

أفضل 10 أدوات لفحص الشبكات لاكتشاف الأجهزة وعناوين IP

أفضل 10 أدوات لفحص الشبكات لاكتشاف الأجهزة وعناوين IP

قارن بين أدوات فحص الشبكة لاكتشاف الأجهزة بسرعة، وعمليات فحص IP عبر الأنظمة الأساسية، وإدارة عناوين IP للمؤسسات، مع إرشادات حول مطابقة كل خيار مع شبكتك.

كيفية استخدام Nmap لتتبع المسار وقراءة مسار الشبكة

كيفية استخدام Nmap لتتبع المسار وقراءة مسار الشبكة

استخدم خيار --traceroute في Nmap لرسم خرائط القفزات إلى مضيف مصرح به، وفهم مخرجات القفزة وRTT، واستكشاف الأخطاء وإصلاحها في الاستجابات المفقودة دون الإفراط في المسح.