TubeTrim

2天前发布 2 00

TubeTrim 是一个完全免费、开源的本地化解决方案。它利用你的本地硬件(NVIDIA GPU、Apple Silicon MPS 或 CPU),自动下载字幕并生成高质量的文字摘要。所有数据处理均在本地完成,真正实现了“数据不出域”。

所在地:
美国
收录时间:
2026-03-09
TubeTrimTubeTrim

“无需上传视频,无需支付 API 费用,无需担心数据泄露。TubeTrim 让你的本地硬件成为最私密的 AI 摘要引擎。”

在信息爆炸的时代,快速获取 YouTube 视频的核心内容至关重要。然而,大多数在线摘要工具不仅收费昂贵,还要求你将视频链接甚至内容数据发送到云端,存在隐私隐患。

TubeTrim

TubeTrim 是一个完全免费、开源的本地化解决方案。它利用你的本地硬件(NVIDIA GPU、Apple Silicon MPS 或 CPU),自动下载字幕并生成高质量的文字摘要。所有数据处理均在本地完成,真正实现了“数据不出域”。

🚀 核心架构:高效、流式、智能

TubeTrim 采用前后端分离架构,通过精心设计的流水线,在保证速度的同时最大化摘要质量。

工作流程图解

YouTube URL 
    │
    ▼
┌─────────────────────────────────────────┐
│  Gradio Web UI (端口 7860)              │
│  - 实时流式渲染 Token                   │
│  - 交互式标签展示                       │
└───────────────────┬─────────────────────┘
                    │ (NDJSON Stream)
                    ▼
┌─────────────────────────────────────────┐
│  FastAPI Backend (端口 8000)            │
│  1. 获取字幕 (youtube-transcript-api)   │
│  2. 抽取式压缩 (TF-IDF, 减少 50% 文本)    │
│  3. 智能分块 (≤4000 字符/块)             │
│  4. LLM 流式推理 (TextIteratorStreamer) │
│  5. 正则提取 Hashtags                   │
└───────────────────┬─────────────────────┘
                    │
                    ▼
┌─────────────────────────────────────────┐
│  Hugging Face Transformers              │
│  模型: Qwen2.5-1.5B-Instruct (默认)     │
│  后端: 自动检测 (CUDA > MPS > CPU)      │
└─────────────────────────────────────────┘

六大关键步骤

  1. 📝 字幕提取:使用 youtube-transcript-api 直接抓取 YouTube 自带的字幕(自动生成或手动上传),无需下载音频或进行耗时的语音转文字(STT)
  2. ✂️ 抽取式压缩:针对长视频,采用基于 TF-IDF 的词频评分算法,在送入大模型前自动筛选出信息量最大的句子,将文本量压缩约 50%,显著提升推理速度。
  3. 🧩 智能分块:将压缩后的文本按句子边界切割成每块 ≤4000 字符的片段,确保完美适配小参数量模型的上下文窗口,避免截断关键信息。
  4. 🧠 LLM 摘要生成:调用本地部署的大语言模型(默认 Qwen2.5-1.5B),对每个块进行摘要生成,并自动提取 5 个相关话题标签。
  5. ⚡ 流式传输:利用 TextIteratorStreamer 在后台线程逐 Token 生成,通过 NDJSON 格式实时推送到前端。用户无需等待全文生成,即可看到摘要逐字浮现。
  6. 🏷️ 标签解析:生成结束后,自动通过正则表达式提取 #Hashtags,并在 UI 中以彩色徽章形式展示,方便快速定位主题。

💻 硬件支持:全平台自适应

TubeTrim 专为效率而生,能够智能识别并利用你现有的硬件资源:

硬件平台加速技术精度策略说明
NVIDIA GPUCUDAbfloat16最佳性能,自动启用 Tensor Core 加速。
Apple SiliconMPS (Metal)float16M1/M2/M3 芯片原生加速,含算子自动回退机制。
CPUAVX2/AVX512float32无独显设备的标准 fallback 方案,依然可用。

性能优化亮点:

  • 动态精度:根据硬件自动选择最佳数据类型,平衡速度与显存占用。
  • 预压缩机制:无论硬件强弱,先压缩再推理,大幅降低计算负载。
  • 上下文感知分块:避免在句子中间切断,保持语义连贯性。

⚙️ 快速开始:5 分钟部署

前置条件

  • Python 3.10+ (推荐 3.12)
  • uv (现代 Python 包管理器)

第一步:安装依赖

cd TubeTrim
uv sync

注:此时不会下载模型,仅安装环境。模型将在首次运行时自动缓存。

第二步:配置环境

cp .env.example .env

编辑 .env 文件可自定义模型(如切换为 Qwen2.5-7B 或 32B)及生成参数。

变量默认值说明
HF_MODELQwen/Qwen2.5-1.5B-Instruct可替换为任意 HuggingFace 模型
MODEL_TEMPERATURE0.2低温度值确保输出专注、确定
API_PORT8000后端服务端口
GRADIO_SERVER_PORT7860前端界面端口

第三步:启动服务

需要开启两个终端窗口:

终端 1:启动 API 后端

uv run yt-summarizer-api

首次运行会自动下载约 3.5GB 的模型权重至 ~/.cache/huggingface/

终端 2:启动 Web 界面

uv run yt-summarizer-ui

浏览器访问 http://localhost:7860 即可开始使用。

🔌 API 用法示例

TubeTrim 提供完整的 RESTful API,支持流式和非流式调用。

非流式请求:

curl -X POST http://localhost:8000/summarize \
  -H "Content-Type: application/json" \
  -d '{"youtube_url": "https://www.youtube.com/watch?v=VIDEO_ID", "language": "Chinese"}'

流式请求 (推荐):

curl -X POST http://localhost:8000/summarize \
  -H "Content-Type: application/json" \
  -d '{"youtube_url": "https://www.youtube.com/watch?v=VIDEO_ID", "language": "Chinese", "stream": true}'

响应为 NDJSON 格式,包含 status (进度), token (文本片段), hashtags (标签), error (错误) 等事件类型。

💡 为什么选择 TubeTrim?

  • 🔒 隐私至上:所有处理在本地完成,视频链接和内容绝不上传第三方服务器。
  • 💰 零成本:无需订阅费,无需按次付费,只需消耗本地电费。
  • 🚀 极速体验:抽取式压缩 + 流式输出,让长视频摘要秒级呈现。
  • 🛠️ 高度可定制:支持更换任意 HuggingFace 模型,调整温度、Top-P 等参数,满足专业需求。
  • 🌍 多语言支持:依托强大的 Qwen 等多语言模型,轻松处理中、英、日、韩等多种语言视频。

⚠️ 注意事项

  • 模型依赖性:摘要质量、语言准确性和逻辑连贯性高度取决于你选择的模型。默认 Qwen2.5-1.5B 速度快但能力有限,建议显存充足的用户尝试 7B 或 32B 版本。
  • 字幕限制:工具依赖 YouTube 现有字幕。若视频无字幕(且未开启自动生成),则无法处理。
  • 硬件门槛:虽然支持 CPU,但推荐使用至少 8GB 显存的 GPU 或 Apple Silicon 芯片以获得流畅体验。

数据统计

相关导航

暂无评论

none
暂无评论...