菜单导航

探索发现
剪辑神器➕1-AutoClip智能视频切片器
探索发现

剪辑神器➕1-AutoClip智能视频切片器

NoiseNoise
2025-07-26

1753534825187

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

1753530000618

官网:https://zhouxiaoka.github.io/autoclip_intro/

开源:https://github.com/zhouxiaoka/autoclip_mvp

✨ 功能特性

  • 🔥 智能视频切片:基于AI分析视频内容,自动生成高质量切片

  • 📺 B站视频下载:支持B站视频自动下载和字幕提取

  • 🎯 智能合集推荐:AI自动分析切片内容,推荐相关合集

  • 🎨 手动合集编辑:支持拖拽排序、添加/删除切片

  • 📦 一键打包下载:支持所有切片和合集的一键打包下载

  • 🌐 现代化Web界面:React + TypeScript + Ant Design

  • 实时处理状态:实时显示处理进度和日志

1753533001235

环境要求

  • Python 3.8+

  • Node.js 16+

  • 通义千问API密钥(用于AI分析)

安装步骤

克隆项目

git clone git@github.com:zhouxiaoka/autoclip_mvp.git
cd autoclip_mvp

提示:截止发文时间,项目中遗忘了uploads文件夹,你需要自行创建该文件夹或代码修改,位置如下图,创建:

mkdir -p uploads

1753533416765

安装后端依赖

# 创建虚拟环境
python3 -m venv venv
source venv/bin/activate  # Linux/Mac
# 或 venv\Scripts\activate  # Windows

安装依赖

pip install -r requirements.txt

安装前端依赖

cd frontend
npm install
cd ..

配置API密钥

# 复制示例配置文件
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"
}

启动服务

方式一:使用启动脚本(推荐)

chmod +x start_dev.sh
./start_dev.sh

1753529902784

方式二:手动启动

# 启动后端服务
source venv/bin/activate
python backend_server.py

新开终端,启动前端服务

cd frontend
npm run dev

方式三:命令行工具

# 处理本地视频文件
python main.py --video input.mp4 --srt input.srt --project-name "我的项目"

处理现有项目

python main.py --project-id <project_id>

列出所有项目

python main.py --list-projects

访问地址

你也可以在后台配置相关参数

1753529967293

切片处理进程

1753534497605

效果预览

1753534598636

其它

📁 项目结构

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密钥:

{
"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站视频下载:

{
"default_browser": "chrome"
}

📖 使用指南

1. 上传本地视频

  1. 访问 http://localhost:3000

  2. 点击"上传视频"按钮

  3. 选择视频文件和字幕文件(必须)

  4. 填写项目名称和分类

  5. 点击"开始处理"

2. 下载B站视频

  1. 在首页点击"B站视频下载"

  2. 输入B站视频链接(必须是有字幕的视频)

  3. 选择浏览器(用于获取登录状态)

  4. 点击"开始下载"

3. 编辑合集

  1. 进入项目详情页面

  2. 点击合集卡片进入编辑模式

  3. 拖拽切片调整顺序

  4. 添加或删除切片

  5. 保存更改

4. 下载项目

  1. 在项目卡片上点击下载按钮

  2. 自动打包所有切片和合集

  3. 下载完整的zip文件

🛠️ 开发指南

后端开发

# 启动开发服务器(支持热重载)
python backend_server.py

运行测试

pytest tests/

前端开发

cd frontend
npm run dev # 开发模式
npm run build # 生产构建
npm run lint # 代码检查

添加新的视频分类

  1. prompt/ 目录下创建新的分类文件夹

  2. 添加对应的提示词模板文件

  3. 在前端 src/services/api.ts 中添加分类选项

其它问题

如果你下载仓库文件并运行后发现已多了一个下载的案例,但不能查看,需要及时清除失效的视频避免终端持续报404

1753533785159

版权声明

本文为「Noise」原创内容或编译整理;除特别说明外,文中图片并非个人手绘,可能来源于网络、AI 生成、截图等,后期使用 PhotoMator / Procreate 进行处理,仅用于学习与交流。如涉及版权或来源标注不全,请联系处理。未经授权,禁止用于商业用途,禁止抹除水印。转载请注明出处与链接并保留本声明。

...

评论 (0)

评论功能加载中...
Noise

Noise

执迷不悟

推荐阅读

Memory-不负时光摄影相册程序
探索发现

Memory-不负时光摄影相册程序

Noise | 2025-08-10

简介

一个瀑布流摄影图库,也是专为摄影师做的独立网络相册程序,它是基于[Moment](https://github.com/Robert-Stackflow/M

139
AI Movie Clip - 基于python的智能视频剪辑系统
探索发现

AI Movie Clip - 基于python的智能视频剪辑系统

Noise | 2025-08-10

一个基于人工智能的自动视频剪辑系统,能够自动分析视频内容并根据用户需求生成编辑后的视频。该项目为视频剪辑mcp提供了一个新的研究方向,它使用python脚本来分

75
CrossPaste-跨设备的粘贴神器,在任意设备间复制粘贴
探索发现

CrossPaste-跨设备的粘贴神器,在任意设备间复制粘贴

Noise | 2025-07-26

此前已介绍过多个粘贴软件了,如PasteBar等,它们各有所长,但有没有适合不同设备之间使用的呢,有的,CrossPaste就很好满足了跨设备同时复制粘贴的问题

特性

  • 🔄 实时共享:设备之间实时共享粘贴板内容,操作自然流畅。
  • 🖥️ 跨平台统一体验:Mac、Win
94