عن المشروع
تعد أداة Douyu Multi-Room أداة خارجية تتيح مشاهدة عدة غرف بث مباشر على منصة Douyu في صفحة واحدة. تتوفر الأداة بنسختين: نسخة ويب محلية وإضافة لمتصفح Chrome، مما يجعلها مناسبة لمتابعة البطولات من زوايا تصوير متعددة أو مشاهدة عدة مذيعين في وقت واحد.
تشمل الميزات الرئيسية:
- تخطيط الشاشة: دعم التخطيط التكيفي أو الثابت (من 1 إلى 5 أعمدة)، مع ميزات التركيز، تكبير النوافذ، السحب والإفلات للترتيب، وضع ملء الشاشة، وصورة داخل صورة، بالإضافة إلى إمكانية إخفاء شريط الأدوات تلقائياً.
- التحكم المستقل في التشغيل: يمكن ضبط مستوى الصوت، كتم الصوت، تغيير الجودة، وإعادة تحميل كل غرفة على حدة، مع دعم خيارات الاستماع الفردي، كتم جميع الغرف، وتغيير الجودة بشكل جماعي.
- التعليقات (Danmu): استقبال التعليقات في الوقت الفعلي مع دعم التحكم المستقل في التفعيل، تعديل الشفافية، ضبط السرعة العامة، ومفتاح تشغيل/إيقاف شامل.
- إدارة الغرف: دعم إضافة الغرف عبر رقم الغرفة أو الرابط، مع إمكانيات الإضافة الجماعية، البحث، تصفية الحالة، الترتيب بالسحب، والفتح أو الإغلاق أو الحذف الجماعي.
- خطط المشاهدة: إمكانية إنشاء ونسخ وإعادة تسمية والتبديل بين خطط المشاهدة، مع حفظ قوائم الغرف والتخطيطات والإعدادات الفردية، ودعم النسخ الاحتياطي والاستيراد بصيغة JSON.
- حالة البث: فحص دوري لحالة البث، مع إمكانية إخفاء النوافذ غير النشطة وإظهارها تلقائياً عند بدء البث، بالإضافة إلى تنبيهات بدء البث.
- الأداء والتشخيص: توفير وضع استهلاك منخفض للموارد، كشف تقطع البث وإعادة المحاولة التلقائية، تشخيص الاتصال والأداء، وإعادة محاولة فتح النوافذ التي فشل تحميلها.
- بيانات اليوم: عرض بيانات الغرف عبر صفحة خارجية.
تتطلب نسخة الويب Node.js 20.9 أو أحدث مع npm، وتعمل عبر الوصول إلى العنوان المحلي بعد التشغيل. تعتمد إضافة Chrome على Manifest V3 ولا تتطلب تشغيل خدمة محلية. يعتمد المشروع على JavaScript وHTML وCSS الأصلية، ويستخدم mpegts.js لتشغيل بث FLV، وWebSocket لاستقبال التعليقات، وCanvas لرسمها.
يتم حفظ الإعدادات في localStorage الخاص بالمتصفح، ولا توجد ميزة مزامنة سحابية، لذا لا يتم مشاركة البيانات تلقائياً بين المتصفحات المختلفة أو بين نسخة الويب والإضافة. يوفر المشروع اختبارات وحدوية واختبارات طرف إلى طرف باستخدام Playwright. هذه الأداة ليست منتجاً رسمياً من Douyu، وقد تتأثر وظائفها بأي تغييرات في واجهات البرمجة الخاصة بالمنصة.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.