Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 9 additions & 2 deletions categories-mapping.json
Original file line number Diff line number Diff line change
Expand Up @@ -104,6 +104,7 @@
"clipboard-image-paintbrush",
"colors",
"doutu",
"extract-audio",
"ibox-wallpaper",
"imgbatch",
"long-screenshot",
Expand Down Expand Up @@ -137,7 +138,13 @@
"title": "游戏娱乐",
"description": "休闲娱乐小游戏",
"icon": "https://raw.githubusercontent.com/ZToolsCenter/ZTools-plugins/refs/heads/main/icons/game.png",
"list": ["2048", "fidget", "flyfont", "rogue-shooter", "super-mario"]
"list": [
"2048",
"fidget",
"flyfont",
"rogue-shooter",
"super-mario"
]
},
{
"key": "network",
Expand Down Expand Up @@ -177,4 +184,4 @@
"yanhua"
]
}
]
]
20 changes: 20 additions & 0 deletions plugins/extract-audio/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# 更新日志

## 1.2.5
- 完成提示卡片展示 5 秒

## 1.2.2
- 新增 Windows 通知中心原生 toast(历史可查)+ 完成提示音

## 1.2.1
- 修复大端 PCM(相机 twos)提取:按 WAV 规范重排字节序,位深/采样率不变
- 归档防套娃:已在「已提取音频的视频」内的源视频不再重复移动
- 修复提取失败时残留 20 字节空壳文件的问题

## 1.2.0
- 双模式:中键/超级面板/粘贴 = 无界面静默(通知反馈,自动退出);搜索关键词 = 界面模式(进度/状态/定位)
- 提取完成可自动把源视频归入「已提取音频的视频」文件夹(只移动,不删除)
- 输出时长校验:结果异常短于源视频时判定失败并丢弃坏输出

## 1.0.0
- 首发无界面版:选中视频一键无损提取音频(-c:a copy 原编码直出)
47 changes: 47 additions & 0 deletions plugins/extract-audio/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
# 音频提取(extract-audio)

一键把视频里的音频**无损提取**出来。为「相机补录」场景设计:
出去拍视频需要补录音、只要声音不要画面时,用相机拍下的视频一键变成纯音频文件。

## 功能

- **带界面**:逐文件进度条、成功/失败状态、失败原因、一键定位音频文件。
- **无损优先**:除大端 PCM 外全程 `-c:a copy` 零转码——位深/采样率/声道/每个采样值原样保留
(16bit 永远是 16bit,32bit 永远是 32bit)。
- **相机大端 PCM 自动出 .wav**:相机素材常见 twos/pcm_s16be 等大端音轨,而 WAV 规范只收小端,
插件会按规范重排字节序后装进 .wav——采样值数学上完全等价、零损失,**不是重采样、不是转码**。
- **自动选容器**:aac/alac→`m4a`、mp3→`mp3`、pcm→`wav`、opus→`opus`、vorbis→`ogg`、
flac→`flac`、ac3→`ac3`、其他→`mka`(能装下任何编码的兜底容器)。
- **提取完自动归档(可选,默认开)**:把已提取成功的源视频移入同目录的
「已提取音频的视频」文件夹——**只移动、绝不删除**,你核对完音频后一键删掉整个文件夹即可;
提取失败/校验不过的视频原地不动。
- **输出时长校验**:提取结果明显短于源视频会判定失败并丢弃坏文件(只删坏输出,源视频不动)。
- **多文件批量**:一次选中多个视频逐个提取。
- **输出位置**:与源视频同目录、同名只换后缀;重名自动追加 ` (1)`、` (2)`;源目录不可写时回退桌面。
- **无声视频**:探测不到音轨会明确报错,不会生成坏文件。

## 用法(双模式)

1. **中键/超级面板/粘贴文件 → 无界面静默模式**:不弹任何窗口,后台提取完发系统通知
「✅ 音频已提取(N/N)」,源视频自动归入「已提取音频的视频」,插件自动退出。要的就是快。
> 首次使用需固定一次:搜索「提取音频」→ 右键搜索结果 → **固定到超级面板**。
2. **Alt+Space 搜索「提取音频」→ 界面模式**:选视频文件、看逐文件进度、成功/失败状态、
定位音频文件;界面里的「提取完归档」勾选与无界面模式共用同一份偏好。
3. 两种模式共用归档开关:**只移动、绝不删除**,失败/校验不过的视频原地不动。

## 依赖

- **优先使用系统已安装的 ffmpeg**(自动探测 PATH、`FFMPEG_PATH` 环境变量及常见安装路径)。
- 系统没有 ffmpeg 时才回退 ZTools 内置 `runFFmpeg`(会弹集成下载窗,需联网)。

## 排查

每次提取都写日志到 `%TEMP%\audio-extract-debug.log`,失败时可直接查原因。

## 开发

- 自检:`node test.js`(合成 AAC/PCM/大端PCM/无声 等测试视频,跑通 探测→提取→校验→归档 全链路,
含"位深必须原样保留"回归断言)。
- 重新生成 logo:`python logo_gen.py`(纯 Python,无第三方依赖)。
- 打包:仓库根目录 `powershell -File _pack_root.ps1 extract-audio 音频提取-ztools.zip`。
- 本地安装:ZTools → 设置 → 开发者 → 新建项目指向本目录的 `plugin.json`。
Loading
Loading