v0.2.0 — Robustness & speed fixes
Hardening pass from a real 13-clip edit that surfaced several silent failures, plus a transcription speedup. 32 tests pass.
Correctness
- Ordering: natural-sort directory inputs so
1,2,…,10,13merge in numeric order without zero-padding (was lexical1,10,11,2,…). - Concat: always re-encode via the concat filter with per-input normalization (scale/pad, fps, SAR, yuv420p, 48k, mono). The old stream-copy demuxer could exit 0 while producing frozen video / drifting audio / clicks on mixed time bases, resolutions, and mono-vs-stereo inputs.
- A/V sync: lock each clip's audio to its frame-aligned video length (
apad+-shortest) and force true 30fps CFR, so per-clip gaps no longer accumulate into audible drift.
Subtitles
- Split over-long Whisper cues at punctuation with proportional timing (
--max-chars, default 20) so burned-in subtitles no longer wall the frame.
Speed
- Default model
large-v3-turbo(~2× faster on CPU, negligible quality loss);--model large-v3for maximum accuracy.
Docs
- READMEs (EN + 中文): natural ordering, new model,
--max-chars, and a "speeding up a multi-clip edit" note (use the mtime cache; never pairwise-merge).