Video Editing Standard Workflow
Core Sequence: Clarify requirements → Get all footage → Review each file → Select shots by narrative → Fine edit → Audio → Verify → Deliver only the final video. By default, download and intermediate files are not placed on the user's local machine.
0. Ask Once Before Starting
Purpose/platform, aspect ratio (horizontal 16:9 / vertical 9:16), target duration, pacing (fast/slow), audio (pure BGM/ambient sound/narration), subtitles & titles, color style (determined by user; no hardcoded filters).
1. Footage Acquisition (No User Local Disk Usage)
Footage is downloaded to the assistant's persistent working directory. Cloud drive MCP generally only manages files, cannot download or edit in the cloud. Official client single concurrent download is usually fastest and most stable; use download watchdog for resume support and low-memory restarts. Use ffprobe to verify count and integrity.
2. Review Each File, No Misses
For each file, extract multiple frames and assemble them into a grid for complete review. Annotate scene, lighting, composition, and reason for use/exclusion.
3. Shot Selection (Narrative + Variety)
Emotional arc: eye-catching opening → establishment → development → climax → closing with breathing room. Alternate between close/far, bright/dark, water/bridge/tree-lined path/curves/open vistas to avoid monotony. Record source file + exact in-point.
4. Fine Edit
Unify aspect ratio and fps. Color grade per user's request for that session; maintain overall atmosphere but adapt per shot if needed; do not reuse old filter values. Slow pacing: soft dissolves. Low-memory: process step by step, allow idempotent resume on interruption.
5. Subtitles (Only When User Requests)
Thin white font with soft shadow, fade in/out, do not obstruct scenery. Use Noto CJK for Chinese.
6. Audio
Pure BGM: discard ambient sound, align duration, afade for fade in/out, loudnorm for mobile-comfortable loudness (approx I=-16).
7. Compression & Packaging
Target bitrate with VBV control (relax bitrate for grainy/atmospheric content). H264 + AAC, -movflags +faststart.
8. Verification
ffprobe for specs; blackdetect to ensure no black frames; extract frames to verify color grading, order, no missing shots, music start/end. Redo damaged segments.
9. Delivery
Only use present_files to send the final video. Provide a brief table with specs and processing notes. Iterate based on feedback; each round only modify parts the user points out.
Resource Navigation
Scripts in scripts/ (executable, adjust parameters as indicated):
make_grid.py: Batch extract frames and assemble into grids for review (Step 2)make_clips.py: Clip cutting + color grading atmosphere, outputs unified segments (Step 4; filters are example values, rewrite as needed)join.py: xfade soft dissolve + black fields at start/end, supports custom shot order (Steps 4/7)verify_final.py: Final verification of specs, black frames, and frame sampling (Step 8)download_watchdog.sh: Large file download watchdog, prevents OOM, auto-restart (Step 1)recover.sh: Reinstall client and restore libraries after system disk reset (Step 1)
Reference docs in references/ (read when needed):
full-workflow.md: Complete workflow post-mortem + actual shot list, filter parameters, and five rounds of iteration experience from a motorcycle travel vlogtroubleshooting.md: All pitfalls and handling for cloud storage access, low memory, system reset, login, encoding, etc.
Sensitive information (account cookies, verification codes, phone numbers) must never be written into any script, document, or log.