À propos du projet
小白自动剪辑 (Badminton Auto-Editing) est un système open-source de montage automatique de vidéos de matchs de badminton, principalement destiné aux amateurs et entraîneurs de badminton, afin d'extraire rapidement les échanges pertinents des matchs.
Le projet comprend quatre parties principales :
- **Backend** : Construit avec Python FastAPI, intégrant l'analyse audio-vidéo, FFmpeg et le modèle de détection de trajectoire de volant TrackNetV3, pour la reconnaissance des échanges et le traitement de montage.
- **Frontend** : Interface H5 réactive, prenant en charge le téléchargement de vidéos, le réglage visuel fin de la timeline des segments identifiés par IA, et l'exportation compressée.
- **Coque de bureau** : Application native de bureau pour macOS / Windows, qui démarre automatiquement le service local et ouvre le poste de travail dans une fenêtre, sans avoir à exécuter manuellement Uvicorn.
- **Application Android** : Prend en charge l'analyse locale et l'exportation locale, pouvant fonctionner sur un téléphone mobile.
Flux de fonctionnalités principales :
1. Après avoir téléchargé l'enregistrement, faites glisser les quatre coins sur l'image pour encadrer le terrain cible.
2. Cliquez sur "Démarrer la reconnaissance", le système combine le son de frappe (2kHz-6kHz), le mouvement local dans le polygone du terrain et la trajectoire du volant TrackNetV3, pour remonter jusqu'au début du service et conserver la trajectoire jusqu'à la chute.
3. Les échanges de faible confiance sont affichés en ambre ; l'utilisateur peut les ajuster ou les supprimer dans la timeline avant l'exportation.
Stratégie d'exportation : Via POST /api/v1/video/export/{task_id}, le codage et le montage sont effectués dans le répertoire temporaire du système, et le fichier MP4 ou ZIP est directement renvoyé. Le navigateur télécharge via une URL Blob unique ; après la fin du transfert de la réponse, le serveur supprime immédiatement le répertoire temporaire, sans conserver le fichier final. Les en-têtes de réponse incluent X-Export-Filename, X-File-Size-MB et Cache-Control: no-store.
La taille de sortie maximale est de 1080p et 720p ; les vidéos sources de taille inférieure ne sont pas agrandies. Le codage logiciel utilise par défaut libx264 / libx265, et le codage matériel peut être activé via FFMPEG_HWACCEL=true.
Le modèle TrackNetV3 peut être contrôlé via des variables d'environnement : TRACKNET_ENABLED=false pour le désactiver, TRACKNET_MODEL_PATH pour spécifier le chemin des poids, TRACKNET_DEVICE=cpu|mps|cuda pour choisir le périphérique. En cas d'indisponibilité du modèle ou de confiance insuffisante, le système revient automatiquement aux résultats de mouvement sur le terrain.
La version de bureau prend en charge macOS et Windows, et les packages d'installation sont construits via build_macos.sh ou build_windows.ps1. GitHub Actions crée automatiquement une Release avec le package d'installation.
Le projet utilise la licence MIT, et le fichier de poids par défaut suit également la licence MIT.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.