بث فيديو Discourse 🎥

Discourse Video Stream يضيف تكاملاً سلسًا مع Cloudflare Stream لتحميل وتضمين محتوى الفيديو الطويل عالي الجودة والبث المباشر في موقع Discourse الخاص بك.

نظرة عامة

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

الميزات الرئيسية

  • :clapper_board: تكامل المُنشئ: زر شريط أدوات اختياري للتحميل المباشر للفيديو من المُنشئ
  • :outbox_tray: اعتراض التحميل التلقائي: يتم تحميل مقاطع الفيديو التي تتجاوز عتبة حجم قابلة للتكوين تلقائيًا إلى Cloudflare Stream بدلاً من التخزين المحلي
  • :high_voltage: عمليات تحميل قابلة للاستئناف: مبني على tus-js-client لعمليات تحميل موثوقة للملفات التي تتجاوز 200 ميجابايت بكثير مع استئناف تلقائي عند حدوث مشكلات في الاتصال
  • :locked: وكيل آمن: نقطة نهاية من جانب الخادم تُنشئ عناوين URL تحميل Cloudflare Stream قصيرة الأجل، مما يحافظ على أمان بيانات اعتماد واجهة برمجة التطبيقات الخاصة بك
  • :satellite_antenna: البث المباشر: إنشاء بث مباشر باستخدام بث RTMPS مباشرة من المُنشئ
  • :movie_camera: BBCode مخصص: صيغة [video-stream id="..."] بسيطة لتضمين مقاطع الفيديو
  • :television: البث التكيفي: تكامل Shaka Player مع بيانات بيان DASH لتشغيل سلس عبر سرعات الشبكة المتغيرة
  • :gear: عناصر تحكم التشغيل: واجهة مستخدم مدمجة لاختيار الدقة والتحكم في سرعة التشغيل

التثبيت

أضف المكون الإضافي إلى ملف app.yml الخاص بك:

hooks:
  after_code:
    - exec:
        cd: $home/plugins
        cmd:
          - git clone https://github.com/xfalcox/discourse-video-stream.git

ثم أعد بناء الحاوية الخاصة بك:

./launcher rebuild app

الإعداد

انتقل إلى المسؤول ← الإعدادات ← بث الفيديو وقم بتكوين ما يلي:

الإعداد الوصف الافتراضي
video_stream_enabled تمكين مكون بث الفيديو الإضافي false
video_stream_account_id مُعرف حساب Cloudflare الخاص بك -
video_stream_api_token رمز API مميز بأذونات Stream:Edit -
video_stream_customer_subdomain نطاق Cloudflare Stream الخاص بك (على سبيل المثال، customer-xxxxx.cloudflarestream.com) -
video_stream_allowed_extensions قائمة مفصولة بفواصل بتنسيقات الفيديو المسموح بها mp4,webm,mov
video_stream_max_file_size الحد الأقصى لحجم الملف بالميجابايت (1-2000) 500
video_stream_intercept_native_uploads اعتراض تحميلات الفيديو الكبيرة تلقائيًا true
video_stream_intercept_threshold_mb عتبة الحجم بالميجابايت للاعتراض التلقائي (1-2000) 10
video_stream_enable_live_streams تمكين ميزة البث المباشر false

الحصول على بيانات اعتماد Cloudflare Stream

  1. سجّل الدخول إلى لوحة تحكم Cloudflare الخاصة بك
  2. انتقل إلى Stream ضمن حسابك
  3. انسخ مُعرف الحساب الخاص بك من نظرة عامة على Stream
  4. أنشئ رمز API مميزًا بأذونات Stream:Edit
  5. لاحظ النطاق الفرعي للعميل الخاص بك من إعدادات Stream

الاستخدام

بمجرد التكوين، لدى المستخدمين طريقتان لتحميل مقاطع الفيديو:

الاعتراض التلقائي

عندما يقوم المستخدم بسحب وإسقاط أو تحديد ملف فيديو يتجاوز الإعداد video_stream_intercept_threshold_mb، يتعامل المكون الإضافي معه تلقائيًا عبر Cloudflare Stream بدلاً من التخزين المحلي. تحتاج إلى السماح بملحقات ملفات الفيديو في إعدادات الامتدادات المسموح بها لكي يعمل هذا .

التحميل اليدوي

يمكن للمستخدمين النقر على القائمة المنبثقة لشريط أدوات المُنشئ (:plus:) واختيار خيار تحميل الفيديو للتحميل صراحةً إلى Cloudflare Stream.

تقوم كلتا الطريقتين بإدراج علامة BBCode [video-stream id="video_id"] التي يتم عرضها كلاعب بث تكيفي مع عناصر تحكم في الدقة والسرعة.

البث المباشر

عند تمكين video_stream_enable_live_streams، يمكن للمستخدمين إنشاء بث مباشر:

  1. انقر على القائمة المنبثقة لشريط أدوات المُنشئ (:plus:) وحدد “إنشاء بث مباشر”
  2. يُنشئ نموذج منبثق بيانات اعتماد RTMPS عبر واجهة برمجة تطبيقات Cloudflare Stream
  3. انسخ عنوان URL الخاص بـ RTMPS ومفتاح البث باستخدام أزرار النسخ المريحة
  4. استخدم بيانات الاعتماد مع OBS أو Streamlabs أو أي برنامج بث متوافق مع RTMPS
  5. انقر فوق “إدراج التضمين” لإضافة علامة BBCode [video-stream id="..."] إلى منشورك
  6. ابدأ البث فورًا

ميزات البث المباشر:

  • التسجيل التلقائي ممكّن بشكل افتراضي (يتم حفظ البثوث للتشغيل لاحقًا)
  • نفس المشغل التكيفي يعمل للمحتوى المباشر والمسجل
  • يرى المستخدمون المحتوى المباشر أثناء البث، ثم يمكنهم مشاهدة التسجيل بعد ذلك
  • معالجة آمنة لبيانات الاعتماد مع رسائل تحذير

لماذا Cloudflare Stream؟

لدينا دعم للقيام بنفس الشيء باستخدام AWS في الكود، ومع Mux في https://github.com/discourse/discourse-video، لذا كان البديل الأرخص يبدو فكرة جيدة.

المتطلبات

  • حساب Cloudflare نشط مع تمكين Stream

المصدر والدعم

لقطات الشاشة

تجريبي

قم بزيارة موقع الاختبار الخاص بي وقم بتحميل بعض مقاطع الفيديو
https://discourse-on-a-pi5.falco.dev/t/test-video-upload-plugin/20?u=falco


ملاحظة: هذا ليس مكونًا إضافيًا #رسميًا.

15 إعجابًا

تحديث: دعم البث المباشر متاح الآن! :satellite_antenna:

يدعم المكوّن الإضافي الآن البث المباشر عبر بث RTMPS!

ما الجديد:

  • إنشاء بثوث مباشرة مباشرة من قائمة شريط أدوات الإنشاء
  • الحصول على بيانات اعتماد RTMPS فورًا عبر واجهة برمجة تطبيقات Cloudflare Stream
  • البث باستخدام OBS أو Streamlabs أو أي برنامج متوافق مع RTMPS
  • تمكين التسجيل التلقائي - يتم حفظ البثوث لتشغيلها بعد انتهاء البث
  • نفس تنسيق BBCode [video-stream id="..."] والمشغل التكيفي للمحتوى المباشر والمسجل

كيفية التمكين:
قم بتعيين video_stream_enable_live_streams على true في المسؤول ← الإعدادات ← بث الفيديو

راجع المنشور الأصلي المحدّث للحصول على التفاصيل الكاملة حول سير عمل البث المباشر.

6 إعجابات