这个项目能做什么

小白自动剪辑(Badminton Auto-Editing)是一个开源的羽毛球比赛视频自动剪辑系统,主要面向羽毛球爱好者和教练,帮助快速提取比赛中的有效回合片段。 项目包含四个主要部分: - **后端**:基于 Python FastAPI 构建,集成音视频分析、FFmpeg 和 TrackNetV3 羽毛球轨迹检测模型,实现回合识别与剪辑处理。 - **前端**:响应式 H5 界面,支持视频上传、AI 识别切片时间轴可视微调、压缩导出。 - **桌面壳**:macOS / Windows 原生桌面应用,自动启动本地服务并在窗口中打开工作台,无需手动运行 Uvicorn。 - **Android 端侧 App**:支持本地分析和本地导出,可在手机端运行。 核心功能流程: 1. 上传录像后,在画面上拖动四个角点框住目标球场。 2. 点击“开始识别”,系统结合 2kHz-6kHz 击球声、球场多边形内局部运动与 TrackNetV3 羽毛球轨迹,向前回溯到发球动作启动,向后保留落地轨迹。 3. 低置信度回合以琥珀色显示,用户可在时间轴中调整或删除后再导出。 导出策略:通过 POST /api/v1/video/export/{task_id} 在系统临时目录完成剪辑编码,直接返回 MP4 或 ZIP 文件。浏览器使用一次性 Blob URL 下载,响应传输结束后服务端立即删除临时目录,不保存成片。响应头包含 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 许可。