Loading...
Loading...
Perform video editing. Execute FFmpeg editing based on confirmed deletion tasks, loop until there are no verbal slips, and generate subtitles. Trigger words: Execute editing, Start editing, Confirm editing
npx skill4agent add zrt-ai-lab/opencode-skills videocut-clipExecute deletion → Re-review → Loop until no verbal slips → Generate subtitles
User: Confirm, execute editing
User: Delete all
User: Keep silent segments 3 and 5, delete the rest/videocut:edit-voiceover1. Read the user's confirmed deletion tasks
↓
2. Calculate the reserved time segments
↓
3. Generate FFmpeg filter_complex
↓
4. Execute editing
↓
5. Re-transcribe + Review ←───┐
↓ │
Any verbal slips? ──Yes─────────┘
↓ No
6. Generate subtitles (SRT)
↓
7. Complete- [ ] Confirm deletion tasks
- [ ] Execute FFmpeg editing
- [ ] Re-transcribe and review
- [ ] Generate subtitles/videocut:edit-voiceoverVerbal slips (N instances):
- [x] 1. `(start-end)` Delete "incorrect text" → Keep "correct text" ← Checked = Delete
Fillers (N instances):
- [x] 1. `(previous word end - next word start)` Delete "um" ← Checked = Delete
Silent segments (N instances):
- [x] 1. `(start-end)` Delete silent segment of Xs ← Checked = Delete
- [ ] 2. `(start-end)` Delete silent segment of Xs ← Unchecked = Keep(start-end)ffmpeg -y -i input.mp4 \
-filter_complex_script filter.txt \
-map "[outv]" -map "[outa]" \
-c:v libx264 -crf 18 -c:a aac \
output.mp4[0:v]trim=start=0:end=1.36,setpts=PTS-STARTPTS[v0];
[0:a]atrim=start=0:end=1.36,asetpts=PTS-STARTPTS[a0];
[0:v]trim=start=2.54:end=10.5,setpts=PTS-STARTPTS[v1];
...
[v0][a0][v1][a1]...concat=n=N:v=1:a=1[outv][outa]/videocut:edit-voiceover01-xxx-v2.mp4 # Edited video
01-xxx-v2_transcript.json # Re-transcription (for verification)
01-xxx-v2.srt # Subtitle fileA [silent segment] filler Bpreceding word.endnext word.start(start-end)