Об этом проекте
小白自动剪辑 (Badminton Auto-Editing) — это опенсорсная система автоматического монтажа видео бадминтонных матчей, ориентированная на любителей бадминтона и тренеров и помогающая быстро извлекать полезные фрагменты розыгрышей.
Проект состоит из четырёх основных частей:
- **Бэкенд**: построен на Python FastAPI, интегрирует анализ аудио и видео, FFmpeg и модель отслеживания траектории волана TrackNetV3 для распознавания розыгрышей и обработки монтажа.
- **Фронтенд**: адаптивный H5-интерфейс с поддержкой загрузки видео, визуальной тонкой настройки таймлайна срезов после ИИ-распознавания и экспорта со сжатием.
- **Настольная оболочка**: нативное настольное приложение для macOS / Windows, автоматически запускает локальный сервис и открывает рабочую панель в окне, без необходимости вручную запускать Uvicorn.
- **Android-приложение на устройстве**: поддерживает локальный анализ и локальный экспорт, может работать на телефоне.
Основной процесс работы:
1. После загрузки записи перетащите четыре угловые точки на изображении, чтобы ограничить целевую площадку.
2. Нажмите «Начать распознавание» — система объединяет звук удара по волану в диапазоне 2–6 кГц, локальное движение внутри полигона площадки и траекторию волана 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.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.