عن المشروع

VLX FrameFlow هي مجموعة معيارية بلغة Go مصممة لتحويل الحواسيب أحادية اللوحة (SBCs) العاملة بنظام Debian وخوادم VPS إلى أجهزة بث مباشر بمستوى احترافي. تعمل كطبقة الالتقاط والنقل الطرفية ضمن منظومة VLX Stream Flow الأوسع، والتي تشمل أيضاً VisionBridge للتأليف وChatBridge للتحكم. تشمل القدرات الرئيسية: 1. **موجّه الترابط عالي التوافر**: يجمع اتصالات إنترنت متعددة باستخدام ترابط ثنائي البروتوكول. يتم تجميع حركة UDP (مثل تدفقات فيديو SRT) عبر MLVPN، بينما تستخدم حركة TCP (القياسات عن بعد، واجهة برمجة التطبيقات، الإنترنت العام) بروتوكول MPTCP مع Shadowsocks كوكيل شفاف. يضمن ذلك وصلات صاعدة مرنة حتى في حال فشل أحد الاتصالات. 2. **مُرمِّز بث متعدد الكاميرات**: يستخدم V4L2 وFFmpeg لالتقاط الفيديو والصوت من الكاميرات المتصلة، وترميزها إلى تدفقات SRT. تُدفع هذه التدفقات عبر النفق المترابط إلى خادم ترحيل (MediaMTX)، مما يتيح تراجعاً دون فقدان ونقلاً عالي الجودة. 3. **قياسات GPS في الوقت الفعلي**: يتكامل مع gpsd للكشف التلقائي عن أجهزة GPS عبر USB/التسلسلي. يقرأ بيانات الموقع ويرسل قياسات JSON عبر POST إلى نقاط نهاية بعيدة، مما يتيح التتبع في الوقت الفعلي والتكامل مع مكونات المنظومة الأخرى مثل ChatBridge. 4. **ترحيل الخادم والتحكم**: يعمل مكون الخادم على VPS، بصفته عقدة ترحيل ومدير جدار حماية. يعيد توجيه الأوامر من التطبيقات المرافقة (مثل ChatBridge) إلى عميل SBC بأمان عبر نفق MLVPN. كما يدير خدمة MediaMTX المحلية للاستقبال والإرسال. 5. **واجهة إدارة عن بعد**: توفر تطبيق صفحة واحدة (SPA) خفيفاً مضمّناً بإطار Svelte، يمكن الوصول إليه عبر متصفح ويب. تستعلم الواجهة الأمامية من واجهة برمجة التطبيقات الخلفية لعرض حالة النظام وحالات systemd ومخرجات وحدة التحكم الملوّنة، مما يتيح للمشغلين إدارة الوحدة الميدانية عن بعد. البنية والنشر: - تفصل المجموعة الأدوار إلى عميل (SBC) وخادم (VPS). يعمل العميل كمستخدم غير مميز عبر systemd في مساحة المستخدم، مع فرض الأمان برفض التنفيذ كجذر لوحدات سطر الأوامر. يتطلب الخادم صلاحيات الجذر لإدارة قواعد التوجيه وجدار الحماية. - تُدار التهيئة عبر ملفات بيئة مصدرها shell وتعريفات أقران YAML، مع دعم نماذج فتحات حتمية لإعدادات متعددة العملاء. - المشروع مرخّص بموجب رخصة GNU General Public License v3.0.