ScoutCode is a Windows-first, local-first football (soccer) video analysis workstation.
This repository currently implements the M0-M2 vertical slice:
- Electron desktop shell with a safe preload API.
- React + TypeScript + Vite renderer.
- Local
.scoutcodeproject folders withproject.json,project.sqlite, media folders, exports, backups, and logs. - SQLite persistence for projects, media assets, events, default templates, template buttons, and settings.
- Video import in copy/link mode, local media protocol playback, and optional
ffprobemetadata probing. - Default football coding template, keyboard shortcuts, event creation/editing/soft delete, phase filtering, and timeline selection.
npm run desktop:dev
npm run typecheck
npm run lint
npm run test
npm run build
npm run smoke:electronnpm run desktop:dev starts Vite and then opens Electron. The renderer can also be viewed with npm run dev, but real project, media, and SQLite behavior requires Electron.
Windows installer packaging and full video export are intentionally left as M3+ work in this slice.
Apache-2.0. See LICENSE.
ScoutCode supports video exports from a single coded event and from playlists.
- Supported output formats:
mp4(default),mov,webm. - Export variants:
- single clip export (
video_clip) with optional pre/post roll - playlist montage export (
video_playlist) by concatenating ordered playlist clips - optional overlay burn-in (annotation banner via ffmpeg filter graph)
- single clip export (
- Job tracking is persisted in
export_jobswith status, progress, selected format, generated ffmpeg args, output duration, and error message when failures occur.
ffmpeg must be installed and available on the system PATH for desktop export actions.
- Open project and import source media.
- Code events and optionally group them into a playlist.
- Use 导出片段 for selected event clip export, or use 导出视频 in playlist panel.
- Check export job status/progress in the playlist panel export job summary.