fastwavget — 音视频截取为 wav
从音视频文件截取指定时间段、输出 wav 的 CLI 工具。跨项目通用(测试取证、素材制作、STT 喂料)。
何时用
- ★ 截取媒体时间段为 wav(首要触发):mp4/wav 里要某一段单独存成 wav。
- 抠测试录音/录像某秒段:从设备录像/AIAssistant 回放里取关键片段(如某句提问、某次唤醒)。
- 给 STT 喂指定片段:把切出来的 wav 丢给 whisper/faststt 转写,而不是整段。
- 按毫秒切音频对齐日志:日志有时间戳,用 fastwavget 按同时间戳切音频,音-日志对齐分析。
不适用:整段媒体直接转 wav / 格式转换 → 用 ffmpeg;只需读 wav 元数据(采样率/时长) → python
wave。
调用约定
入口是 exe,固定位置:
WG="$HOME/.claude/skills/fastwavget/fastwavget.exe"
ls "$WG" 2>/dev/null # 确认存在
# bash 调用(路径含空格/中文必须加引号)
"$WG" "input.mp4" "out.wav" 1000 3000
cmd / powershell 直接调 exe 亦可(fastwavget.exe input.mp4 out.wav 1000 3000)。
命令格式
fastwavget.exe <input> <output.wav> <startMs> <endMs>
| 参数 | 说明 |
|---|---|
input |
输入文件,支持 Windows 媒体框架可解码格式(mp4、wav 等常见) |
output.wav |
输出 wav 路径(输出恒为 wav) |
startMs |
起始时间,毫秒 |
endMs |
结束时间,毫秒,必须 > startMs;自动截断到媒体实际时长 |
示例
# 取 input.mp4 的 1s-3s
"$WG" input.mp4 out.wav 1000 3000
# 从 "好的请稍等.mp4" 取 11s-14s
"$WG" "好的请稍等.mp4" "sample_11_14s.wav" 11000 14000
# 整段 wav 截前 5s(startMs=0)
"$WG" input.wav head_5s.wav 0 5000
注意
- 路径含空格/中文必须加引号(尤其 bash 下)。
- 依赖 Windows 媒体框架(系统自带解码器,mp4/wav 等常见格式开箱即用;冷门格式可能缺解码器)。
endMs超过实际时长会被自动截断,不会报错——要确认实际时长先用 pythonwave(wav)或 ffprobe(视频)。- 输出恒为 wav(不支持指定其他格式;要 mp4/其他格式用 ffmpeg)。