开源项目已发布:GoClip,一个基于go语言的AI自动切片工具
GoClip
GoClip 是一个基于Go语言开发的自动切片工具,用于下载视频、生成字幕、提取高光片段并自动生成视频切片。
功能
- 使用 yt-dlp 下载视频
- 使用 Whisper 生成字幕
- 使用 大模型 从字幕中提取高光(目前支持 Qwen)
- 根据提取的高光时间自动生成视频切片
- 自动将字幕压制进视频切片
- 自动根据高光内容为切片命名
- 支持本地视频处理(从提取字幕这一步开始继续走)
- 内置 ffmpeg、yt-dlp 和 Whisper 模型
- 使用 Viper 管理配置
- 使用 Zap 管理日志
快速开始(推荐)
无需安装 Go 环境,直接使用编译好的工具!
步骤 1:创建文件夹结构
- 创建主文件夹:在您的电脑上创建一个名为
GoClip的文件夹(例如:D:\GoClip) - 创建子文件夹:在
GoClip文件夹内创建以下子文件夹:output/tools/- 用于存放 ffmpeg 和 yt-dlp 工具output/models/- 用于存放 Whisper 模型
步骤 2:下载所需文件
下载编译好的工具:
- 从 GitHub Releases 下载
goclip.exe,放到GoClip文件夹
- 从 GitHub Releases 下载
下载依赖文件:
- 从 Releases 下载以下文件并放到对应目录:
ffmpeg.exe(约114MB) → 放到output/tools/目录medium.bin(约1.5GB) → 放到output/models/目录yt-dlp.exe(约100MB) → 放到output/tools/目录whisper.exe(约100MB) → 放到output/models/目录
提示:如果 Releases 中没有提供这些文件,您也可以从以下来源获取:
whisper.exe和模型:从 Whisper GitHub 仓库 下载ffmpeg.exe:从 FFmpeg 官网 下载yt-dlp.exe:从 yt-dlp GitHub 仓库 下载
- 从 Releases 下载以下文件并放到对应目录:
步骤 3:配置 API Key
- 复制配置文件:将
config.yaml.example复制为config.yaml - 编辑配置文件:用记事本打开
config.yaml,填入您的 API Key
步骤 4:运行工具
- 打开命令窗口:在
GoClip文件夹下打开命令提示符或 PowerShell 窗口 - 运行命令:输入以下命令并按回车(将
1
.\goclip.exe <视频URL或本地视频路径>
<视频URL或本地视频路径>替换为实际的视频链接或本地视频文件路径)
就这么简单!工具会自动完成所有处理步骤。
注意:首次运行时如果缺少必要文件,程序会自动下载,但国内下载速度较慢,建议提前从 Releases 或 GitHub 下载好所有依赖文件。
环境准备(仅用于编译)
如果您想自己编译项目,请按照以下步骤配置 Go 环境:
Windows 系统
下载 Go:
- 访问 Go 官方网站:https://golang.org/dl/
- 下载适用于 Windows 的安装包(推荐下载 .msi 安装程序)
安装 Go:
- 双击下载的 .msi 安装程序
- 按照安装向导完成安装(默认安装路径为
C:\Program Files\Go) - 安装程序会自动配置环境变量
验证安装:
- 打开新的命令提示符或 PowerShell 窗口
- 运行以下命令验证安装:
1
go version
- 如果显示 Go 版本信息,说明安装成功
安装(可选,仅用于编译)
依赖
- Go 1.20 或更高版本(仅用于编译)
- OpenAI 兼容的 API Key(如阿里云百炼 Qwen)
注意:ffmpeg、yt-dlp 和 Whisper 模型已包含在项目中,无需手动安装。
步骤
- 克隆仓库
- 安装依赖:
1
go mod tidy
- 复制示例配置文件并填写 API Key:
1
copy config.yaml.example config.yaml
- 构建项目:
1
go build -o goclip.exe
使用
处理在线视频
1 | goclip <视频URL> |
处理本地视频
1 | goclip <本地视频路径> |
配置
配置文件 config.yaml 包含以下选项:
api_key:OpenAI 兼容的 API Key(必填)yt_dlp_path:yt-dlp 可执行文件路径(默认:output/tools/yt-dlp.exe)whisper_path:Whisper 可执行文件路径(默认:whisper)whisper_model:Whisper 模型(默认:medium)llm_url:OpenAI 兼容的 API URL(默认:https://dashscope.aliyuncs.com/compatible-mode/v1)output_dir:输出目录(默认:./output)min_slices:最少生成切片数量(默认:3)max_slices:最多生成切片数量(默认:5)
输出
- 视频文件:
output/temp/video.*(在线视频)或使用本地视频路径 - 字幕文件:
output/temp/video.srt或与本地视频同目录 - 高光文件:
output/temp/video_highlights.json或与本地视频同目录(JSON格式,包含标题、时间、内容) - 视频切片:
output/temp/slices/或与本地视频同目录的 slices 文件夹(已压制字幕) - 日志文件:
output/goclip.log - 工具目录:
output/tools/(包含 yt-dlp.exe 和自动下载的 ffmpeg) - 模型目录:
output/models/(包含 Whisper 模型 medium.bin)
示例配置
对于阿里云百炼 Qwen 模型,配置示例:
1 | api_key: "your_aliyun_api_key" |
工作流程
- 下载视频(仅在线视频):使用 yt-dlp 下载视频到临时目录
- 自动下载工具:首次运行时自动下载 ffmpeg 和 Whisper 模型到项目目录
- 生成字幕:使用 Whisper 生成 SRT 格式的字幕
- 提取高光:通过 OpenAI 兼容的 API(如 Qwen)从字幕中提取高光时刻,输出为 JSON 格式,包含标题、时间、内容
- 生成切片:根据提取的高光时间范围,使用内置的 ffmpeg 生成视频切片,自动将字幕压制进切片,切片以高光标题命名
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 皖月清风的个人博客!
评论



