تم إطلاق منصة لا مركزية لتنظيم استضافة الفيديو وبث الفيديو PeerTube 6.0. تقدم PeerTube بديلاً محايدًا لمواقع YouTube وDailymotion وVimeo، وذلك باستخدام شبكة توزيع محتوى تعتمد على اتصالات P2P وربط متصفحات الزوار معًا. يتم توزيع تطورات المشروع بموجب ترخيص AGPLv3.
الابتكارات الرئيسية:
- تمت إضافة القدرة على نشر مقاطع الفيديو المحمية بكلمة مرور. يمكن تعيين كلمة مرور عند التنزيل أو الاستيراد أو التحديث، وبعد ذلك لن يتمكن سوى المستخدمين الذين يعرفون كلمة المرور من الوصول إلى المحتوى. من خلال REST API، يمكنك تعيين كلمات مرور متعددة (على سبيل المثال، يمكن إعطاء كل مستخدم كلمة مرور منفصلة) وإلغاء كلمات المرور الصادرة.
- من الممكن عرض الصور المصغرة عند تحريك مؤشر الماوس فوق شريط التمرير الذي يعكس موضع التشغيل، مما يسمح لك بالتنقل بصريًا عبر الدفق. يتم إنشاء لوحة العمل مع الصور المصغرة أثناء تحميل الفيديو أو استيراده، أي. لن يتوفر دعم الصور المصغرة إلا لمقاطع الفيديو الجديدة التي تم تحميلها بعد الترقية إلى PeerTube 6.0. لإنشاء صور مصغرة لمقاطع الفيديو القديمة، يجب على المسؤول تشغيل الأمر "npm run create-generate-storyboard-job".
- تمت إضافة إمكانية تنزيل نسخة جديدة من الفيديو، والتي يمكن استخدامها لتحديث الفيديو، على سبيل المثال، بعد إصلاح خطأ أو إضافة معلومات مفقودة. بعد التحديث، يتم فقدان الإصدار القديم من الفيديو بشكل لا رجعة فيه ويصبح الإصدار المحدث متاحًا عبر الرابط القديم (يتم أيضًا حفظ التعليقات والإحصائيات). ونظرًا لإمكانية استخدام هذه الميزة لإساءة الاستخدام، مثل وضع إعلان ما بعد التحقق، يجب على المسؤولين تمكين الدعم بشكل صريح لتنزيل التحديثات على نظامهم الأساسي.
- تمت إضافة إمكانية إرفاق جدول محتويات بمقطع فيديو، مما يتيح لك عرض قائمة الحلقات والتبديل بينها بسرعة. لتحديد الحلقات، تم إضافة علامة تبويب "الفصول" إلى صفحة الإعدادات، حيث يمكنك تحديد وقت البدء ووصف النقاط الرئيسية في الفيديو. يتم أيضًا نقل الحلقات تلقائيًا عند استيراد مقاطع الفيديو من YouTube.
- واصلنا إجراء التغييرات والتحسينات بناءً على اختبار التحمل للبث المباشر وبث الفيديو الكلاسيكي مع عدة آلاف من المشاركين المتزامنين. على سبيل المثال، قمنا بتحسين معالجة HTTP أحادي البث في سلاسل العمليات، ومصادقة طلبات ActivityPub، ومعالجة التوصيات، واستعلامات SQL مع التصفية حسب العلامات، والاستعلامات المجمعة /videos/{id}/views. تمت إضافة القدرة على تعطيل سجل HTTP.
- تمت إزالة دعم بروتوكول WebTorrent، ويركز التطوير على استخدام بروتوكول HLS (HTTP Live Streaming) مع WebRTC لـ P2P.
- تم تحسين كفاءة مشغل الفيديو، مما يسمح بالاختيار التلقائي لحجم النافذة مع مراعاة نسبة العرض إلى الارتفاع للفيديو وذاكرة الإعدادات وإزالة إعادة الترتيب عند تغيير مقاطع الفيديو.
- تحسين الدعم لميزات مُحسِّن محركات البحث (SEO).
- تم توسيع المرافق للأشخاص ذوي الإعاقة.
اعتمدت منصة PeerTube في البداية على برنامج WebTorrent BitTorrent، الذي كان يعمل داخل المتصفح ويستخدم تقنية WebRTC لإنشاء قناة اتصال مباشرة بين المتصفحات. لاحقًا، تم استبدال WebTorrent ببروتوكول HLS (البث المباشر عبر HTTP) بالتزامن مع WebRTC، مما أتاح إدارة البث بشكل تكيفي بناءً على عرض النطاق الترددي. لتوحيد الأنظمة المتباينة الخوادم يُستخدم بروتوكول ActivityPub لدمج مقاطع الفيديو في شبكة اتحادية مشتركة، حيث يشارك الزوار في تقديم المحتوى ويمكنهم الاشتراك في القنوات وتلقي إشعارات حول مقاطع الفيديو الجديدة. تم بناء واجهة الويب الخاصة بالمشروع باستخدام إطار عمل Angular.
تتكون شبكة PeerTube الموحدة من مجموعة من الخوادم الصغيرة المتصلة ببعضها البعض. الاستضافة مقاطع الفيديو، لكل منها مديرها الخاص وقواعدها الخاصة. يعمل كل خادم فيديو كمتتبع BitTorrent، حيث يستضيف حسابات المستخدمين ومقاطع الفيديو الخاصة بهم. تُشكّل معرّفات المستخدمين على شكل "@اسم المستخدم@نطاق الخادم". يتم نقل البيانات أثناء المشاهدة مباشرةً من متصفحات الزوار الآخرين الذين يشاهدون المحتوى.
إذا لم يشاهد أحد الفيديو، فسيتم تنظيم التحميل بواسطة الخادم الذي تم تحميل الفيديو إليه في الأصل (يتم استخدام بروتوكول WebSeed). بالإضافة إلى توزيع حركة المرور بين المستخدمين الذين يشاهدون مقاطع الفيديو، يسمح PeerTube أيضًا للعقد التي أطلقها منشئو المحتوى باستضافة مقاطع فيديو في البداية لتخزين مقاطع فيديو مؤقتًا من منشئي محتوى آخرين، وتشكيل شبكة موزعة ليس فقط من العملاء ولكن أيضًا من الخوادم، فضلاً عن توفير التسامح مع الأخطاء. يوجد دعم للبث المباشر مع تسليم المحتوى في وضع P2P (يمكن استخدام البرامج القياسية مثل OBS للتحكم في البث).
لبدء البث عبر PeerTube، يحتاج المستخدم فقط إلى تحميل مقطع فيديو ووصف ومجموعة من العلامات إلى أحد الخوادم. بعد ذلك، سيصبح الفيديو متاحًا عبر الشبكة الموحدة، وليس فقط من خادم التنزيل الأولي. للعمل مع PeerTube والمشاركة في توزيع المحتوى، يكفي وجود متصفح عادي ولا يتطلب تثبيت برامج إضافية. يمكن للمستخدمين تتبع النشاط في قنوات الفيديو المحددة من خلال الاشتراك في القنوات ذات الاهتمام في الشبكات الاجتماعية الموحدة (على سبيل المثال، Mastodon وPleroma) أو عبر RSS. لتوزيع مقاطع الفيديو باستخدام اتصالات P2P، يمكن للمستخدم أيضًا إضافة أداة خاصة مع مشغل ويب مدمج إلى موقعه على الويب.
يوجد حاليًا 1122 خادمًا لاستضافة المحتوى تتم صيانتها بواسطة متطوعين ومنظمات مختلفة. إذا لم يكن المستخدم راضيًا عن قواعد نشر مقاطع الفيديو على خادم PeerTube معين، فيمكنه الاتصال بخادم آخر أو بدء خادم خاص به. للنشر السريع للخادم، يتم توفير صورة تم تكوينها مسبقًا بتنسيق Docker (chocobozzz/peertube).
المصدر: opennet.ru
