عن المشروع

RxPlayer هو محرك وسائط جافا سكريبت مفتوح المصدر للمتصفحات والبيئات المشابهة للمتصفح. ينفذ تشغيل DASH وMicrosoft Smooth Streaming عبر واجهات HTML5 Media Source Extensions وEncrypted Media Extensions. يمكن استخدام HLS وMP4 وWebM في وضع الملف المباشر على المتصفحات المتوافقة، مثل Safari لتشغيل HLS الأصلي. يوفر المشروع نواة البث والتشغيل بدلاً من واجهة مستخدم نهائية: توفر التطبيقات عناصر التحكم والمرئيات الخاصة بها، بينما يتعامل RxPlayer مع تحميل المحتوى، ومنطق معدل البت التكيفي، وإدارة المسارات، والتخزين المؤقت، وتكامل فك التشفير، وأحداث التشغيل. يتم توفير عرض توضيحي عبر الإنترنت مبني على React وأمثلة CodeSandbox. تشمل القدرات الموثقة DASH المباشر وعند الطلب، وDASH منخفض التأخير، وSmooth Streaming، وتشغيل المحتوى الذي تم تنزيله، ومفاتيح وتراخيص DRM متعددة، وتراخيص دائمة، وسلوك احتياطي للجودات غير القابلة لفك التشفير أو الترميز، وخيارات MediaKeySystemConfiguration قابلة للتخصيص. يدعم ترجمات TTML وWebVTT وSAMI وSRT. صُمم RxPlayer لمرونة التكامل والأجهزة المحدودة. يمكن نقل منطقه الأساسي إلى خيط منفصل، ويكشف عن واجهات برمجة للتشغيل الصوتي فقط، واختيار مسارات الفيديو والصوت، وتصفية الجودة، وجمع القمامة للمقاطع، وتكامل الند للند، ومعالجة الأحداث، ومراقبة حالة المشغل التفصيلية. تستخدم الخوارزميات التكيفية معلومات الشبكة للبدء ومعلومات المخزن المؤقت لاختيار الجودة، بينما تهدف الاستدلالات في الجدولة وفك التشفير إلى تقليل إعادة التخزين المؤقت ومواصلة التشغيل على الأجهزة الضعيفة. يتوفر محلل MPD اختياري مبني على WebAssembly لملفات DASH الكبيرة جدًا. تُنشر المكتبة كحزمة npm باسم "rx-player" ويمكن تثبيتها باستخدام npm أو Yarn. يمكن استيراد بناء كامل مباشرة، أو تمديد بناء مصغر بالميزات المطلوبة فقط مثل DASH وEME. يربط المستودع بوثائق API، ودروس البدء، وأدلة DRM واختيار المسارات، والعروض التوضيحية، وصفحات الإصدارات، وتعليمات المساهمة.