来源:抖音 @晴天AI实战
将视频教程内容转化为结构化文本并存入个人知识库,可以帮助我们更高效地学习和复用知识。本文将介绍一个由三个 GitHub 开源工具组成的流水线,实现视频到文字的自动化转换。
为什么需要将视频教程转为文本?
在信息爆炸的时代,虽然刷视频学习知识已成为主流,但仅凭观看和收藏,很难将知识真正内化为己有。高质量的文字内容有助于我们进行归纳总结和回顾。通过大模型(Agent)技术,我们可以让AI辅助我们整理视频内容,并将其存入个人知识库,需要时随时检索、问答,甚至直接调用。
这整个过程可以概括为以下四个步骤:
- 下载视频/音频:将在线视频教程下载到本地。
- 处理采样率:对音频进行转码,以满足语音转文本工具的要求。
- 语音转写:将处理后的音频转换为文字。
- 写入知识库:将文本内容导入个人知识库,使其可检索、可问答、可总结。
核心工具链
1. yt-dlp:下载视频和音频
yt-dlp 是一个命令行工具,起源于 YouTube-dl 项目,功能强大,支持下载各大平台的流媒体内容(包括视频和音频)。
- 特点:更新勤快、速度快、格式丰富。它能够将视频或音频文件下载到本地,支持 YouTube、B站、抖音等几乎所有平台。这是整个流水线的第一环。
- 使用示例:
- 下载一个视频:
yt-dlp “https://youtu.be/xxxxx”
- 只下载音频(将视频转换为 mp3): bash
yt-dlp -x —audio-format mp3
“https://www.bilibili.com/video/xxxxx”
```
值得注意的是,在Agent操作浏览器调试时,应尽量避免使用封装的无头浏览器Skill,因为其成本(Token)较高。建议选择封装 CDP 的Skill,能有效节省Token消耗。
2. ffmpeg:音视频转码处理
ffmpeg 是音视频处理领域的瑞士军刀,几乎所有播放器和编解码器背后都离不开它。在当前的流水线中,我们将用它处理从 yt-dlp 下载的音频,统一采样率并转化为 Whisper 喜欢的 16000Hz 单声道格式,以确保识别质量。
- 使用示例:
- 将 mp4 音频转换为 wav (16kHz 采样,单声道,适合 Whisper):
ffmpeg -i input.mp4 -ar 16000 -ac 1 -c:a pcm_s16le
output.wav
- (可选)去除静音片段: bash
ffmpeg -i input.mp4 -af silenceremove=… out.wav
```
3. whisper.cpp:语音转写文字
whisper.cpp 是 OpenAI Whisper 模型的 C++ 本地推理版本,支持本地运行,无网络依赖,支持中文、英文及几十种语言。它能输出带时间戳的文字,可以直接接入知识库进行结构化文本的生成。
- 使用示例:
- 使用 Large 模型进行中文语音转写:
whisper -m ggml-large-v3.bin
-l zh -f output.wav
- 转写后的示例如下(带时间戳):
[00:00:01.200 —> 00:00:04.500]
大家好,今天我们聊一聊…
```
工作流程总结
整个流程先通过 yt-dlp 下载视频或提取音频,然后使用 ffmpeg 处理音频的采样率,接着 whisper.cpp 将音频转写成带时间戳的文字,最后将这些规整的文字内容导入个人知识库中,实现知识的有效管理。
简单总结:让大模型替我们看完视频,把要点写入知识库。你先存着,需要的时候再让Agent帮你找,帮你用。
graph LR
A[下载视频/音频] --> B[处理采样率]
B --> C[语音转写]
C --> D[写入知识库]
subgraph 视频到文本流水线
A -- yt-dlp --> B
B -- ffmpeg (-ar 16000 -ac 1) --> C
C -- whisper.cpp (-l zh) --> D
end
D -- 可检索、可问答、可总结 --> KnowledgeBase(个人知识库)
style A fill:#4CAF50,stroke:#388E3C,stroke-width:2px,color:#fff
style B fill:#FFC107,stroke:#FFA000,stroke-width:2px,color:#333
style C fill:#2196F3,stroke:#1976D2,stroke-width:2px,color:#fff
style D fill:#9C27B0,stroke:#7B1FA2,stroke-width:2px,color:#fff
style KnowledgeBase fill:#E0E0E0,stroke:#BDBDBD,stroke-width:2px,color:#333
这个自动化流程能帮助我们更轻松地管理和利用海量视频教程中的知识,让Agent成为我们强大的知识助手。