بث فيديو Discourse 🎥

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

نظرة عامة

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

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

  • :clapper_board: تكامل المحرر: زر شريط أدوات اختياري للتحميل المباشر لمقاطع الفيديو من المحرر
  • :outbox_tray: اعتراض التحميل التلقائي: يتم تحميل مقاطع الفيديو التي تتجاوز حد حجم قابل للتكوين تلقائيًا إلى Cloudflare Stream بدلاً من التخزين المحلي
  • :high_voltage: تحميلات قابلة للاستئناف: مبنية على tus-js-client لتحميلات موثوقة للملفات التي تتجاوز 200 ميجابايت مع استئناف تلقائي عند مشاكل الاتصال
  • :locked: وكيل آمن: نقطة نهاية من جانب الخادم تنشئ عناوين URL تحميل Cloudflare Stream قصيرة الأجل، مما يحافظ على أمان بيانات اعتماد API الخاصة بك
  • :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

التكوين

انتقل إلى Admin → Settings → Video streaming وقم بالتكوين:

الإعداد الوصف الافتراضي
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

الحصول على بيانات اعتماد 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"] التي يتم عرضها كلاعب بث تكيفي مع عناصر تحكم الدقة والسرعة.

لماذا 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


ملاحظة: هذه الإضافة ليست رسمية.

12 إعجابًا