AutoClip:用 AI 自动从长视频中剪出精华片段

一个基于 AI 的智能视频切片系统,能自动从 YouTube、B站等平台的长视频中提取精彩片段,省去手动剪辑的痛苦。

AutoClip 封面

一、为什么需要 AutoClip?

做过短视频二次创作的人都知道,最耗时的不是剪辑本身,而是找素材——从一个几十分钟甚至几小时的长视频里,人工筛选出值得剪辑的片段,光是看完就要花大量时间。

AutoClip 就是为了解决这个问题。它利用大语言模型(LLM)自动分析视频内容结构,识别出最有看点的片段,打分排序后自动裁剪输出。整个过程几乎不需要人工干预。

AutoClip 处理流水线

二、它是怎么工作的?

AutoClip 采用流水线式的处理架构,一共 7 个步骤:

graph LR
    A[视频下载] --> B[AI提取大纲]
    B --> C[时间线分析]
    C --> D[片段打分]
    D --> E[标题生成]
    E --> F[合集推荐]
    F --> G[视频合成输出]

各步骤说明:

步骤 做什么 怎么做
视频下载 从 YouTube/B站获取视频和字幕 yt-dlp + Cookie 认证
AI 提取大纲 分析视频主题和结构 阿里通义千问 LLM
时间线分析 检测话题切换的时间点 AI 结合字幕时间戳
片段打分 评估每个片段的吸引力 多维度评分算法
标题生成 为每个片段生成吸引眼球的标题 LLM 生成
合集推荐 建议片段分组方式 AI 主题聚类
视频合成 裁剪并输出最终视频文件 FFmpeg

三、技术架构一览

AutoClip 是一个标准的前后端分离全栈项目,技术选型非常现代化:

graph TB
    subgraph 前端
        A[React 18 + TypeScript]
        B[Ant Design UI]
        C[Zustand 状态管理]
        D[Vite 构建]
    end
    subgraph 后端
        E[FastAPI]
        F[Celery 异步任务]
        G[Redis 消息队列]
        H[SQLite / PostgreSQL]
    end
    subgraph AI引擎
        I[阿里 DashScope API]
        J[通义千问 LLM]
    end
    subgraph 工具链
        K[yt-dlp 视频下载]
        L[FFmpeg 视频处理]
    end
    A --> E
    E --> F
    F --> G
    F --> I
    E --> H
    F --> K
    F --> L

后端核心

  • FastAPI:高性能 Python Web 框架,自带 Swagger 文档,开发体验极佳
  • Celery + Redis:视频处理是重计算任务,用 Celery 做异步任务队列,Redis 当消息中间件,避免阻塞主线程
  • WebSocket:实时推送处理进度到前端,用户不用反复刷新页面

前端核心

  • React 18 + TypeScript:类型安全的现代前端方案
  • Ant Design:企业级 UI 组件库,开箱即用
  • Zustand:比 Redux 轻量得多的状态管理方案,代码更简洁

AI 引擎

项目使用阿里云的 DashScope API(通义千问大模型)做内容分析。LLM 负责理解视频的语义结构,而不仅仅是简单的音频切割。这是 AutoClip 和传统视频切片工具的核心区别——它真正理解内容。

四、核心功能详解

4.1 多平台视频源

AutoClip 支持三种视频输入方式:

  • YouTube 链接:粘贴链接即可下载,支持 Cookie 认证绕过地区限制
  • B站视频:支持多账号管理、Cookie 导入,自动获取字幕
  • 本地上传:直接上传视频文件,支持附带字幕文件

4.2 智能片段分析

这是 AutoClip 最核心的能力。系统不是简单地按时间均匀切割,而是:

  1. 先通过字幕理解整个视频在讲什么
  2. 找到话题切换的自然断点
  3. 对每个片段进行多维度打分(话题热度、情感强度、信息密度等)
  4. 自动生成有吸引力的标题

4.3 合集管理

切出来的片段可以组织成合集:

  • AI 自动推荐分组方式
  • 支持手动拖拽排序
  • 方便批量管理和发布

4.4 实时进度追踪

通过 WebSocket 连接,处理过程中的每一步进度都会实时推送到前端界面。你可以清楚看到当前处理到了哪一步,预计还需要多久。

五、快速上手

Docker 部署(推荐)

最简单的方式,三行命令搞定:

1
2
3
git clone https://github.com/zhouxiaoka/autoclip.git
cd autoclip
./docker-start.sh

要求:Docker 20.10+,至少 4GB 内存

本地部署

如果你想自己折腾,需要准备:

  • Python 3.9+
  • Node.js 18+
  • Redis 6.0+
  • FFmpeg
  • 至少 8GB 内存、10GB 磁盘空间

安装步骤:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 1. 克隆项目
git clone https://github.com/zhouxiaoka/autoclip.git
cd autoclip

# 2. 后端环境
python -m venv venv
source venv/bin/activate # Windows: venv\Scripts\activate
pip install -r requirements.txt

# 3. 前端环境
cd frontend
npm install
cd ..

# 4. 配置环境变量(复制 .env.example 并修改)
cp .env.example .env
# 编辑 .env 填入 DashScope API Key 等配置

关键配置项

变量名 说明
API_DASHSCOPE_API_KEY 阿里云 DashScope API 密钥
API_MODEL_NAME 使用的大模型名称
REDIS_URL Redis 连接地址
DATABASE_URL 数据库连接字符串
UPLOAD_DIR 上传文件存储路径
PROJECT_DIR 项目数据存储路径

启动后,可以通过以下地址访问:

  • 前端界面:http://localhost:3000
  • API 文档(Swagger):http://localhost:8000/docs
  • API 文档(ReDoc):http://localhost:8000/redoc

六、项目结构

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
autoclip/
├── backend/ # 后端代码
│ ├── api/ # API 路由定义
│ ├── core/ # 核心配置
│ ├── models/ # 数据模型
│ ├── services/ # 业务逻辑
│ ├── tasks/ # Celery 异步任务
│ ├── pipeline/ # 处理流水线各阶段
│ └── utils/ # 工具函数
├── frontend/ # 前端代码
│ ├── src/
│ │ ├── components/ # React 组件
│ │ ├── pages/ # 页面模板
│ │ ├── services/ # API 调用封装
│ │ └── stores/ # Zustand 状态管理
│ └── package.json
├── docker-compose.yml # Docker 编排
├── docker-start.sh # 一键启动脚本
└── requirements.txt # Python 依赖

七、适用场景

  • 短视频创作者:从长播客、访谈、直播回放中快速提取精华片段
  • 知识博主:从课程视频中自动切出知识点片段
  • 运营团队:批量处理视频素材,提高内容生产效率
  • 个人用户:收藏长视频的精彩时刻

八、目前的局限与展望

项目仍在积极开发中,有几个功能尚未完成:

  • 自动上传:B站等平台的自动上传功能还在开发中
  • 字幕编辑器:可视化字幕编辑、多语言字幕支持即将上线
  • 移动端适配:目前主要面向桌面端使用

不过核心的 AI 分析 + 自动切片流程已经可用,值得一试。

九、总结

AutoClip 的核心价值在于把「AI 理解内容」这件事融入了视频剪辑流程。它不是简单粗暴地按时间切片,而是真正理解视频在讲什么,然后智能地找出最有价值的部分。

对于需要大量处理长视频的创作者来说,这类工具可以节省大量人工筛选时间,让你把精力集中在创意和后期精修上。

项目地址:https://github.com/zhouxiaoka/autoclip