6 Commits
Author SHA1 Message Date
nite 23e0529461 fix: lock PyTorch CUDA builds for transcription 2026-07-14 15:30:53 +08:00
nite 790c775eac fix: pin transcription project to Python 3.12
- Set bundled FunASR transcription project to Python 3.12
- Restrict requires-python to >=3.12,<3.13 and refresh uv.lock
- Document Windows editdistance wheel issue on Python 3.13
- Update README/SKILL prerequisites to recommend Python 3.12
- Add Windows FunASR uv setup troubleshooting reference
2026-07-14 14:40:01 +08:00
nite c771bdcfaf refactor: switch index from SQLite to JSON with relative paths
manage_index.py:
- Complete rewrite from SQLite to JSON file format
- All file paths stored as relative (relative to video directory)
- Moving the entire video directory does not break references
- Paths outside video dir stored as absolute (editable in text editor)
- Same 8 subcommands, same CLI interface

SKILL.md:
- Step 5: SQLite schema replaced with JSON structure example
- Verification checklist: .vedit.db → .vedit.json

README.md + README.zh.md:
- Features: 'SQLite database' → 'JSON file with relative paths'
- Project structure: 'SQLite index management' → 'JSON index management'
- 'Index Database' section → 'Index File' with relative path explanation

.gitignore:
- *.vedit.db → *.vedit.json
2026-07-14 13:12:54 +08:00
nite e56723a68f feat: multi-track transcription support
SKILL.md:
- Step 2: user can provide multiple track indexes (e.g. mic + Discord)
- Step 4: transcribe each track separately, cross-reference all transcripts
- Step 5: get-transcription supports --track filter

manage_index.py:
- get-transcription: optional --track flag to filter by track index
- Without --track, returns all transcription records (was: latest only)
2026-07-14 12:19:42 +08:00
nite 8fbb7f176e feat: preserve multi-track audio in clip extraction
SKILL.md:
- Step 6: two clip modes — video-only (frame extraction) vs all-streams (editor use)
- Pitfall #10: warn about dropping audio tracks with default -map 0:v:0
- Note on keyframe accuracy vs frame-exact re-encode

extract_frames.py:
- New --all-streams flag on clip subcommand
- -map 0 preserves video + all audio tracks + subtitles
- Default remains -map 0:v:0 for fast frame extraction
2026-07-14 12:16:17 +08:00
nite a565382a52 feat: video-edit-planner skill — transcribe, extract frames, plan edits
A conversational video-editing planning assistant. Provides tools for:
- Audio transcription via bundled funasr-script (Fun-ASR-Nano / SenseVoice)
- On-demand clip extraction and frame sampling (ffmpeg, hardware-accelerated)
- SQLite index to track all artifacts and avoid duplicate processing
- Vision analysis guidance with binary-search-style frame sampling
- Iterative Markdown-table edit plan output

Agent-agnostic: no platform-specific tool names, works with any agent runtime.
Dependencies checked at guidance level with OS package manager install hints.
2026-07-14 11:07:57 +08:00