内容
# 🎬 Klaket
**将任何视频转换为LLM可用的数据。**
[](LICENSE)
[](CONTRIBUTING.md)
[](#quick-start)

> *Klaket* 是一个拍板工具 — 用于同步电影拍摄现场的声音和图像的工具。 **Klaket 同步视频与LLM。**
LLM可以读取文本。网络通过网页爬虫变得可读,但视频(人类知识的最大存储库)仍然被锁定。Klaket解锁了它:给它一个视频网址或文件,获取结构化、带有时间戳、LLM可用的数据。
```bash
pip install klaket
klaket ingest "https://youtube.com/watch?v=..." --wait
```
```jsonc
{
"transcript": [
{ "start": 14.32, "end": 19.80, "speaker": "S1", "text": "所以让我们用docker compose部署..." }
],
"scenes": [
{ "start": 190.0, "end": 342.5, "keyframes": ["scene_004_01.jpg"] }
],
"chapters": [...],
"summary": "..."
}
```
## 功能
- **📝 转录** — **约100种语言**(自动检测)的带有时间戳的语音转文本;每个作业可以选择模型(`"model": "medium"`)
- **🎙️ 播客** — 传送音频文件/网址(mp3, m4a…),Klaket 跳过视觉阶段,从语音暂停中推导出章节
- **🗣️ 说话人识别** — 谁说了什么(S1/S2/…),本地且无密钥(sherpa-onnx)
- **💬 字幕** — 带有说话人标签的 `.srt` / `.vtt` 文件
- **🎞️ 场景检测** — 基于内容的场景边界 + 每个场景的关键帧
- **🔎 屏幕文本(OCR)** — 读取每个场景的幻灯片、终端和字幕,本地且无密钥
- **🧩 单个JSON时间线** — 转录、场景、帧和屏幕文本在单个时间线上对齐
- **🔌 离线工作,无需API密钥** — 核心管道不调用LLM
- **🧠 可插拔模型层** — 通过本地VLM(Ollama)或任何OpenAI兼容端点(默认`KLAKET_VLM=off`)进行可选场景描述
- **🤖 MCP服务器** — 让编码代理“观看”任何视频并在其中查找时刻
- **🔍 视频搜索** — `GET /v1/jobs/{id}/search?q=…` 查找确切时刻
- **▶️ Playground** — 仪表板播放视频,带有点击搜索、实时高亮转录
## 软件开发工具包
```python
# pip install klaket
from klaket import Klaket
result = Klaket().process("https://youtube.com/watch?v=...", num_speakers=2)
```
```ts
// npm i klaket-sdk
import { Klaket } from "klaket-sdk";
const result = await new Klaket().process("https://youtube.com/watch?v=...");
```
## 给你的代理赋予视觉
```bash
# Claude 代码
claude mcp add klaket -- npx klaket-mcp # KLAKET_API_URL 默认值为 localhost:8484
```
然后: *"观看 https://youtube.com/watch?v=… 并总结演示者运行的命令。"*
代理获得 `klaket_ingest`、`klaket_job_status` 和 `klaket_get_result` 工具。
## 快速开始
```bash
git clone https://github.com/huseyinstif/klaket.git && cd klaket
docker compose up --build
# API 在 :8484,仪表板在 :5180
curl -X POST localhost:8484/v1/ingest \
-H "Content-Type: application/json" \
-d '{"url": "https://youtube.com/watch?v=..."}'
```
就是这样 — 无需API密钥,无需GPU。 `make help` 列出了开发人员快捷方式(`make up`、`make test`、`make e2e`)。
## 架构
```
client ──► Go API ──► Redis 队列 ──► Python 工作进程(ffmpeg · faster-whisper · scenedetect)
│ │
仪表板 ◄────────────────────┘ /data/jobs/<id>/result.json
```
- `apps/api` — Go,作业编排
- `apps/worker` — Python,媒体处理管道
- `apps/dashboard` — React 仪表板
## 自托管 vs 云
Klaket 是开源的(AGPL-3.0),并且完全可以自托管。计划推出托管的、按分钟计费的云API,配备托管的GPU — 敬请期待。
## 状态
🚧 v0.7 — 预发布1.0,进展迅速。给仓库点星以关注更新。
## 许可证
[AGPL-3.0](LICENSE)。软件开发工具包和客户端将采用MIT许可证。
## 联系
由 Hüseyin Tıntaş 构建 — [X (@1337stif)](https://x.com/1337stif) · [LinkedIn](https://www.linkedin.com/in/huseyintintas/)