将 MP4 视频转换为文字内容的工具(基于 whisper.cpp),
同时提供视频转码(H.264)功能,用于解决部分设备(如 TV)播放 MP4 有声音无图像的问题。
- 🎙 视频转文字(支持中文)
- 📁 支持单文件 / 整个目录(递归)
- 📂 支持指定输出目录,并保留输入目录的子目录结构
- ⏱ 可统计音频时长
- 🧹 文本清洗功能
- 🎬 MP4 转 H.264 编码(兼容性更好)
- 视频字幕提取
- 会议记录
- 学习笔记整理
- 音频内容归档
下载地址:
whisper: https://huggingface.co/ggerganov/whisper.cpp/tree/main
推荐模型:
- ggml-small-q8_0.bin(速度快)
- ggml-large-v3-turbo.bin(精度高)
放入目录:
models/
需要以下文件:
- ffmpeg.exe
- ffprobe.exe
- whisper-cli.exe
下载地址:
project/
├─ transcribe.bat
├─ changeCodeH264.bat
├─ models/
│ ├─ ggml-small-q8_0.bin
│ └─ ggml-large-v3-turbo.bin
├─ ffmpeg.exe
├─ ffprobe.exe
├─ whisper-cli.exe
├─ input/
└─ output/ # 默认输出目录
transcribe.bat "input\test.mp4"transcribe.bat "input\test.mp4" clean notime第 1 个参数为输入文件 / 输入目录,第 2 个参数为输出目录:
transcribe.bat "input\test.mp4" "D:\txt_output" notime clean如果第 2 个参数是 duration / small / large / notime / clean,则会被识别为功能参数,不会被当作输出目录。
transcribe.bat "input\"transcribe.bat "input\" "D:\txt_output" notime clean处理目录时会保留输入目录下的子目录结构,例如:
input\A\test.mp4
会输出到:
D:\txt_output\A\test.txt
transcribe.bat "input\test.mp4" duration也可以统计整个目录:
transcribe.bat "input\" duration| 参数 | 说明 |
|---|---|
| large | 使用大模型(默认) |
| small | 使用小模型 |
| duration | 统计时长 |
| notime | 不生成时间戳文件 |
| clean | 清洗文本 |
| 第 2 个参数为目录 | 指定输出目录,目录不存在时会自动创建 |
注意:如果不指定输出目录,默认输出到脚本所在目录下的
output/。
用于解决部分设备(如电视)播放 MP4 时“有声音无画面”的问题。
changeCodeH264.bat "D:\test.mp4" "D:\NEW\"changeCodeH264.bat "D:\old" "D:\NEW\"changeCodeH264.bat "D:\videos\"- 使用 H.264 编码(高兼容性)
- 适用于 TV / 盒子 / 老设备
- 解决“音频正常但画面黑屏”的问题
输出目录:
- 默认输出到脚本所在目录下的
output/ - 也可以通过第 2 个参数指定输出目录
生成内容:
- 文本文件
.txt - 时间轴文件
_timed.txt(使用notime参数时不生成)
目录模式下会保留子目录结构:
input\课程1\a.mp4
输出为:
output\课程1\a.txt
MIT
