Discourse Video Stream يضيف تكامل Cloudflare Stream السلس لتحميل وتضمين محتوى الفيديو عالي الجودة والطويل في موقع Discourse الخاص بك.
نظرة عامة
توفر هذه الإضافة سير عمل كامل للتعامل مع ملفات الفيديو الكبيرة مع بث بمعدل بت تكيفي، مما يسمح للمستخدمين بتحميل مقاطع الفيديو مباشرة من المحرر وتشغيلها مع تعديل الجودة التلقائي بناءً على ظروف الشبكة الخاصة بهم.
الميزات الرئيسية
تكامل المحرر: زر شريط أدوات اختياري للتحميل المباشر لمقاطع الفيديو من المحرر
اعتراض التحميل التلقائي: يتم تحميل مقاطع الفيديو التي تتجاوز حد حجم قابل للتكوين تلقائيًا إلى Cloudflare Stream بدلاً من التخزين المحلي
تحميلات قابلة للاستئناف: مبنية على tus-js-clientلتحميلات موثوقة للملفات التي تتجاوز 200 ميجابايت مع استئناف تلقائي عند مشاكل الاتصال
وكيل آمن: نقطة نهاية من جانب الخادم تنشئ عناوين URL تحميل Cloudflare Stream قصيرة الأجل، مما يحافظ على أمان بيانات اعتماد API الخاصة بك
BBCode مخصص: صيغة بسيطة [video-stream id="..."]لتضمين مقاطع الفيديو
بث تكيفي: تكامل Shaka Player مع قوائم DASH لتشغيل سلس عبر سرعات شبكة متغيرة
عناصر تحكم التشغيل: واجهة مستخدم مدمجة لاختيار الدقة والتحكم في سرعة التشغيل
التثبيت
أضف الإضافة إلى ملف 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
- سجل الدخول إلى لوحة تحكم Cloudflare الخاصة بك
- انتقل إلى Stream ضمن حسابك
- انسخ معرف حسابك من نظرة عامة على Stream
- أنشئ رمز API بأذونات Stream:Edit
- لاحظ نطاق العميل الفرعي الخاص بك من إعدادات Stream
الاستخدام
بمجرد التكوين، لدى المستخدمين طريقتان لتحميل مقاطع الفيديو:
الاعتراض التلقائي
عندما يقوم المستخدم بسحب وإسقاط أو تحديد ملف فيديو يتجاوز إعداد video_stream_intercept_threshold_mb، تتعامل الإضافة تلقائيًا معه عبر Cloudflare Stream بدلاً من التخزين المحلي. تحتاج إلى السماح بامتدادات ملفات الفيديو في إعدادات الامتداد المسموح بها لكي يعمل هذا.
التحميل اليدوي
يمكن للمستخدمين النقر فوق قائمة القائمة المنبثقة لشريط أدوات المحرر (
) واختيار خيار تحميل الفيديو للتحميل صراحةً إلى Cloudflare Stream.
تقوم كلتا الطريقتين بإدراج علامة BBCode [video-stream id="video_id"] التي يتم عرضها كلاعب بث تكيفي مع عناصر تحكم الدقة والسرعة.
لماذا Cloudflare Stream؟
لدينا دعم للقيام بنفس الشيء باستخدام AWS في الكود، ومع Mux في https://github.com/discourse/discourse-video، لذلك بدا أن بديلاً أرخص فكرة جيدة.
المتطلبات
- حساب Cloudflare نشط مع تمكين Stream
المصدر والدعم
- المستودع: GitHub - xfalcox/discourse-video-stream
لقطات الشاشة
العرض التجريبي
قم بزيارة موقع الاختبار الخاص بي وقم بتحميل بعض مقاطع الفيديو
https://discourse-on-a-pi5.falco.dev/t/test-video-upload-plugin/20?u=falco
ملاحظة: هذه الإضافة ليست رسمية.

