عن المشروع
小白自动剪辑 (Badminton Auto-Editing) هو نظام مفتوح المصدر للتحرير التلقائي لفيديوهات مباريات الريشة الطائرة، يستهدف بشكل أساسي عشاق الريشة الطائرة والمدربين، ويساعد على استخراج مقاطع الأشواط الفعالة من المباريات بسرعة.
يتكون المشروع من أربعة أجزاء رئيسية:
- **الخلفية (Backend)**: مبنية على Python FastAPI، وتدمج تحليل الصوت والفيديو وFFmpeg ونموذج TrackNetV3 لتتبع مسار الريشة، لتحقيق التعرف على الأشواط ومعالجتها.
- **الواجهة الأمامية (Frontend)**: واجهة H5 متجاوبة تدعم رفع الفيديو، والضبط الدقيق المرئي على الخط الزمني لشرائح التعرف بالذكاء الاصطناعي، والتصدير المضغوط.
- **غلاف سطح المكتب (Desktop Shell)**: تطبيق سطح مكتب أصلي لنظامي macOS وWindows، يشغّل الخدمة المحلية تلقائيًا ويفتح مساحة العمل في نافذة، دون الحاجة لتشغيل Uvicorn يدويًا.
- **تطبيق Android على الجهاز (Android App)**: يدعم التحليل المحلي والتصدير المحلي، ويمكن تشغيله على الهاتف.
مسار الوظائف الأساسية:
1. بعد رفع التسجيل، اسحب النقاط الزاوية الأربع على الصورة لتحديد ملعب الهدف.
2. انقر على "بدء التعرف"، فيدمج النظام صوت ضرب الكرة بتردد 2kHz-6kHz، والحركة المحلية داخل مضلع الملعب، ومسار الريشة من TrackNetV3، ويعود للخلف حتى بداية حركة الإرسال، ويحتفظ للخلف بمسار السقوط.
3. تظهر الأشواط منخفضة الثقة باللون الكهرماني، ويمكن للمستخدم تعديلها أو حذفها في الخط الزمني قبل التصدير.
استراتيجية التصدير: عبر POST /api/v1/video/export/{task_id} يتم إتمام ترميز المونتاج في الدليل المؤقت للنظام، ويُعاد مباشرة ملف MP4 أو ZIP. يستخدم المتصفح رابط Blob لمرة واحدة للتنزيل، وبعد انتهاء نقل الاستجابة يحذف الخادم الدليل المؤقت فورًا، ولا يحفظ الفيديو النهائي. تتضمن رؤوس الاستجابة X-Export-Filename وX-File-Size-MB وCache-Control: no-store.
الحد الأقصى لأبعاد الإخراج هو 1080p و720p، ولن يتم تكبير الفيديوهات المصدرية الأصغر من ذلك. يستخدم الترميز البرمجي افتراضيًا libx264 / libx265، ويمكن تمكين الترميز العتادي عبر FFMPEG_HWACCEL=true.
يمكن التحكم في نموذج TrackNetV3 عبر متغيرات البيئة: TRACKNET_ENABLED=false للإيقاف، وTRACKNET_MODEL_PATH لتحديد مسار الأوزان، وTRACKNET_DEVICE=cpu|mps|cuda لاختيار الجهاز. عند عدم توفر النموذج أو عدم كفاية الثقة، يتم الرجوع تلقائيًا إلى نتائج الحركة داخل الملعب.
يدعم إصدار سطح المكتب نظامي macOS وWindows، ويُبنى عبر build_macos.sh أو build_windows.ps1 لإنشاء حزم التثبيت. ينشئ GitHub Actions تلقائيًا إصدار Release مرفقًا بحزم التثبيت.
يستخدم المشروع رخصة MIT، وملفات الأوزان الافتراضية تتبع أيضًا رخصة MIT.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.