发现安利AI剪辑剪辑神器➕1-AutoClip智能视频切片器
noise

🎬 AutoClip是基于AI的智能视频切片和合集推荐系统,支持从B站视频自动下载、字幕提取、智能切片和合集生成。

官网:https://zhouxiaoka.github.io/autoclip_intro/
开源:https://github.com/zhouxiaoka/autoclip_mvp
✨ 功能特性
- 🔥 智能视频切片:基于AI分析视频内容,自动生成高质量切片
- 📺 B站视频下载:支持B站视频自动下载和字幕提取
- 🎯 智能合集推荐:AI自动分析切片内容,推荐相关合集
- 🎨 手动合集编辑:支持拖拽排序、添加/删除切片
- 📦 一键打包下载:支持所有切片和合集的一键打包下载
- 🌐 现代化Web界面:React + TypeScript + Ant Design
- ⚡ 实时处理状态:实时显示处理进度和日志

环境要求
- Python 3.8+
- Node.js 16+
- 通义千问API密钥(用于AI分析)
安装步骤
克隆项目
1 2
| git clone git@github.com:zhouxiaoka/autoclip_mvp.git cd autoclip_mvp
|
提示:截止发文时间,项目中遗忘了uploads文件夹,你需要自行创建该文件夹或代码修改,位置如下图,创建:

安装后端依赖
1 2 3 4 5 6 7
| # 创建虚拟环境 python3 -m venv venv source venv/bin/activate # Linux/Mac # 或 venv\Scripts\activate # Windows
# 安装依赖 pip install -r requirements.txt
|
安装前端依赖
1 2 3
| cd frontend npm install cd ..
|
配置API密钥
1 2 3 4 5 6 7 8 9 10 11 12
| # 复制示例配置文件 cp data/settings.example.json data/settings.json
# 编辑配置文件,填入你的API密钥 { "dashscope_api_key": "你的通义千问API密钥", "model_name": "qwen-plus", "chunk_size": 5000, "min_score_threshold": 0.7, "max_clips_per_collection": 5, "default_browser": "chrome" }
|
启动服务
方式一:使用启动脚本(推荐)
1 2
| chmod +x start_dev.sh ./start_dev.sh
|

方式二:手动启动
1 2 3 4 5 6 7
| # 启动后端服务 source venv/bin/activate python backend_server.py
# 新开终端,启动前端服务 cd frontend npm run dev
|
方式三:命令行工具
1 2 3 4 5 6 7 8
| # 处理本地视频文件 python main.py --video input.mp4 --srt input.srt --project-name "我的项目"
# 处理现有项目 python main.py --project-id <project_id>
# 列出所有项目 python main.py --list-projects
|
访问地址
你也可以在后台配置相关参数

切片处理进程

效果预览

其它
📁 项目结构
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
| autoclip_mvp/ ├── backend_server.py # FastAPI后端服务 ├── main.py # 命令行入口 ├── start_dev.sh # 开发环境启动脚本 ├── requirements.txt # Python依赖 ├── .gitignore # Git忽略文件 ├── README.md # 项目文档 │ ├── frontend/ # React前端 │ ├── src/ │ │ ├── components/ # React组件 │ │ ├── pages/ # 页面组件 │ │ ├── services/ # API服务 │ │ ├── store/ # 状态管理 │ │ └── hooks/ # 自定义Hooks │ ├── package.json # 前端依赖 │ └── vite.config.ts # Vite配置 │ ├── src/ # 核心业务逻辑 │ ├── main.py # 主处理逻辑 │ ├── config.py # 配置管理 │ ├── api.py # API接口 │ ├── pipeline/ # 处理流水线 │ │ ├── step1_outline.py # 大纲提取 │ │ ├── step2_timeline.py # 时间轴生成 │ │ ├── step3_scoring.py # 评分计算 │ │ ├── step4_title.py # 标题生成 │ │ ├── step5_clustering.py # 聚类分析 │ │ └── step6_video.py # 视频生成 │ ├── utils/ # 工具函数 │ │ ├── llm_client.py # AI客户端 │ │ ├── video_processor.py # 视频处理 │ │ ├── text_processor.py # 文本处理 │ │ ├── project_manager.py # 项目管理 │ │ ├── error_handler.py # 错误处理 │ │ └── bilibili_downloader.py # B站下载 │ └── upload/ # 文件上传 │ └── upload_manager.py │ ├── data/ # 数据文件 │ ├── projects.json # 项目数据 │ └── settings.json # 配置文件 │ ├── uploads/ # 上传文件存储 │ ├── tmp/ # 临时下载文件 │ └── {project_id}/ # 项目文件 │ ├── input/ # 原始文件 │ └── output/ # 处理结果 │ ├── clips/ # 切片视频 │ └── collections/ # 合集视频 │ ├── prompt/ # AI提示词模板 │ ├── business/ # 商业财经 │ ├── knowledge/ # 知识科普 │ ├── entertainment/ # 娱乐内容 │ └── ... │ └── tests/ # 测试文件 ├── test_config.py └── test_error_handler.py
|
🔧 配置说明
API密钥配置
在 data/settings.json
中配置你的通义千问API密钥:
1 2 3 4 5 6 7 8
| { "dashscope_api_key": "your-api-key-here", "model_name": "qwen-plus", "chunk_size": 5000, "min_score_threshold": 0.7, "max_clips_per_collection": 5, "default_browser": "chrome" }
|
浏览器配置
支持Chrome、Firefox、Safari等浏览器用于B站视频下载:
1 2 3
| { "default_browser": "chrome" }
|
📖 使用指南
1. 上传本地视频
- 访问 http://localhost:3000
- 点击”上传视频”按钮
- 选择视频文件和字幕文件(必须)
- 填写项目名称和分类
- 点击”开始处理”
2. 下载B站视频
- 在首页点击”B站视频下载”
- 输入B站视频链接(必须是有字幕的视频)
- 选择浏览器(用于获取登录状态)
- 点击”开始下载”
3. 编辑合集
- 进入项目详情页面
- 点击合集卡片进入编辑模式
- 拖拽切片调整顺序
- 添加或删除切片
- 保存更改
4. 下载项目
- 在项目卡片上点击下载按钮
- 自动打包所有切片和合集
- 下载完整的zip文件
🛠️ 开发指南
后端开发
1 2 3 4 5
| # 启动开发服务器(支持热重载) python backend_server.py
# 运行测试 pytest tests/
|
前端开发
1 2 3 4
| cd frontend npm run dev # 开发模式 npm run build # 生产构建 npm run lint # 代码检查
|
添加新的视频分类
- 在
prompt/
目录下创建新的分类文件夹
- 添加对应的提示词模板文件
- 在前端
src/services/api.ts
中添加分类选项
其它问题
如果你下载仓库文件并运行后发现已多了一个下载的案例,但不能查看,需要及时清除失效的视频避免终端持续报404
