openclip Agent工作流 是 AI Skill Hub 本期精选Agent工作流之一。综合评分 7.8 分,整体质量较高。我们推荐使用将其纳入你的 AI 工具库,帮助提升工作效率。
基于AI驱动的长视频自动精彩时刻提取工具。通过智能算法识别视频中的关键片段,自动生成高质量短视频剪辑。适合内容创作者、视频编辑和媒体从业人员快速生成社交媒体内容。
openclip Agent工作流 是一套完整的 AI Agent 自动化工作流方案。通过可视化的节点编排,将复杂的多步骤任务拆解为清晰的自动化流程,实现全程无人值守的智能处理。支持与数百种外部服务和 API 无缝集成,适合构建数据处理管线、业务自动化和 AI 辅助决策系统。
基于AI驱动的长视频自动精彩时刻提取工具。通过智能算法识别视频中的关键片段,自动生成高质量短视频剪辑。适合内容创作者、视频编辑和媒体从业人员快速生成社交媒体内容。
openclip Agent工作流 是一套完整的 AI Agent 自动化工作流方案。通过可视化的节点编排,将复杂的多步骤任务拆解为清晰的自动化流程,实现全程无人值守的智能处理。支持与数百种外部服务和 API 无缝集成,适合构建数据处理管线、业务自动化和 AI 辅助决策系统。
# 方式一:pip 安装(推荐)
pip install openclip
# 方式二:虚拟环境安装(推荐生产环境)
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate
pip install openclip
# 方式三:从源码安装(获取最新功能)
git clone https://github.com/linzzzzzz/openclip
cd openclip
pip install -e .
# 验证安装
python -c "import openclip; print('安装成功')"
# 命令行使用
openclip --help
# 基本用法
openclip input_file -o output_file
# Python 代码中调用
import openclip
# 示例
result = openclip.process("input")
print(result)
# openclip 配置文件示例(config.yml) app: name: "openclip" debug: false log_level: "INFO" # 运行时指定配置文件 openclip --config config.yml # 或通过环境变量配置 export OPENCLIP_API_KEY="your-key" export OPENCLIP_OUTPUT_DIR="./output"
<p align="center"> <img src="./logo.png" alt="OpenClip" width="350"/> </p>
English | 简体中文
一个轻量化自动化视频处理流水线,用于识别和提取长视频(特别是口播和直播回放)中最精彩的片段。使用 AI 驱动的分析来发现亮点,生成剪辑,并添加标题和封面。
创建或编辑 prompts/background/background.md 以提供关于主播、昵称或重复主题的上下文:
```markdown
输入一个视频 URL 或本地文件,自动完成 下载 → 转录 → 分割 → AI 分析 → 剪辑生成 → 添加标题和封面 的全流程处理,输出最精彩片段。适合从长直播或视频中快速提取高光时刻。
💡 与 AutoClip 的区别? 查看对比说明了解 OpenClip 的轻量级设计理念。
--user-intent 引导 AI 聚焦特定关注点如有问题或疑问: 1. 查看控制台输出中的错误消息 2. 先用短视频测试 3. 在 GitHub 上提出 issue 4. 加入我们的 Discord 社区 讨论交流
uv sync
<a id="paraformer-installation"></a>
<details>
<summary>🈶 启用 Paraformer 中文本地 ASR(可选)</summary>
本地 ASR 会按语言自动路由:英文使用 Whisper,中文优先使用 Paraformer。若要启用 Paraformer,请安装额外依赖:
bash uv sync --extra paraformer
OpenClip 默认使用仓库内置的 helper:`third_party/funasr-paraformer`。通常不需要设置 `PARAFORMER_PROJECT_DIR`;只有当你把 helper 放在仓库外部时才需要设置:
bash export PARAFORMER_PROJECT_DIR=/path/to/funasr-paraformer ```
如果 Paraformer 依赖或 helper 不可用,OpenClip 会自动回退到 Whisper。
</details>
brew install ffmpegsudo apt install ffmpeg<details> <summary>需要双语字幕烧录?点击查看带 libass 的安装方式</summary>
默认安装通常不包含 libass: - macOS: brew tap homebrew-ffmpeg/ffmpeg && brew install homebrew-ffmpeg/ffmpeg/ffmpeg(替换已有的 ffmpeg) - Ubuntu: sudo add-apt-repository ppa:savoury1/ffmpeg4 && sudo apt install ffmpeg - Windows: 从 gyan.dev 下载 full 版本 </details>
CUSTOM_OPENAI_BASE_URL 和 CUSTOM_OPENAI_MODEL,CUSTOM_OPENAI_API_KEY 可选- Chrome / Firefox / Edge / Safari 浏览器(可选)- 当你选择使用浏览器 Cookie 时,可用于远程视频下载身份验证 - Deno 或 Node(可选,YouTube 下载可能会需要)- 提升 YouTube 下载稳定性。OpenClip 会自动检测并使用;如果你主要处理 YouTube,尤其是需要 cookies 的情况,建议安装 - 安装方式可参考 yt-dlp 官方 EJS 文档: Step 1: Install a supported JavaScript runtime - HuggingFace Token (可选,用于说话人识别) - 从 huggingface.co/settings/tokens 获取,并接受 pyannote 模型协议
启动 Streamlit 应用:
uv run python -m streamlit run streamlit_app.py
应用启动后,打开浏览器访问显示的 URL(通常是 http://localhost:8501)。
<a id="lan-shared-machine-mode"></a> <details> <summary>局域网/共享机器模式</summary>
如果需要从同一局域网内的其他设备访问 Streamlit,并让「Open in Editor」显示可访问的 Clip Editor 链接:
```bash export OPENCLIP_EDITOR_BASE_URL=http://HOST_LAN_IP:8765
uv run python tools/extract_reference.py interview.mp4 00:01:23 00:01:50 "references/Host.wav" uv run python tools/extract_reference.py interview.mp4 00:03:10 00:03:40 "references/Guest.wav"
**步骤四:运行**
bash uv run python video_orchestrator.py --speaker-references references/ "VIDEO_URL_OR_PATH"
</details>
<a id="subtitle-burning"></a>
<details>
<summary>🔤 字幕烧录(可选)</summary>
将 SRT 字幕文件硬烧到视频画面中(即使没有字幕播放器也能看到字幕)。支持原始字幕烧录,或通过当前选定的 LLM 提供商翻译后同时烧录双语字幕。说话人标签(如 `[Sam Altman]`)会自动从画面中移除。
**前提:ffmpeg 需包含 libass**(详见上方安装说明)
**仅烧录原始字幕:**bash uv run python video_orchestrator.py --burn-subtitles "VIDEO_URL"
**烧录原始 + 中文翻译字幕:**bash uv run python video_orchestrator.py \ --burn-subtitles \ --subtitle-translation "Simplified Chinese" \ "VIDEO_URL" ```
输出文件在 clips_post_processed/ 目录,英文字幕显示在底部,中文字幕显示在英文上方。
</details>
<a id="cookie-guidance"></a>
远程视频下载有时会遇到登录验证、风控或平台限制。OpenClip 支持三种模式:
不使用 cookies:先尝试最简单的公开访问方式浏览器 cookies:使用本机浏览器中的登录态Cookies 文件:使用导出的 Netscape 格式 cookies.txt推荐尝试顺序:
不使用 cookiesnot a bot、LOGIN_REQUIRED 等错误,再试 浏览器 cookiesCookies 文件YouTube 特别说明:
CLI 对应方式:
--browser chrome(或你实际使用的浏览器)--cookies /path/to/cookies.txt注意:
导出 Cookies 文件:
- 如果你需要生成 cookies.txt,可参考 yt-dlp 官方教程: Exporting YouTube cookies - 虽然教程标题写的是 YouTube,但在 OpenClip 中,导出的 Netscape 格式 cookies.txt 同样可用于 YouTube 和 Bilibili
处理 Bilibili 视频,加载背景信息, 并使用霓虹风格处理Banner标题:
uv run python video_orchestrator.py \
--title-style neon_glow \
--use-background \
"https://www.bilibili.com/video/BV1wT6GBBEPp"
仅分析,不生成剪辑:
uv run python video_orchestrator.py --skip-clips --skip-cover "VIDEO_URL"
说话人识别(预览版):
uv run python video_orchestrator.py \
--speaker-references references/ \
"interview.mp4"
跳过下载,重新处理已有视频:
uv run python video_orchestrator.py --skip-download --title-style crystal_ice "VIDEO_URL"
使用自定义 OpenAI 兼容接口:
uv run python video_orchestrator.py \
--llm-provider custom_openai \
--llm-model Qwen/Qwen2.5-7B-Instruct \
--llm-base-url http://127.0.0.1:8000/v1 \
"VIDEO_URL"
```bash
根据你选择的 LLM 提供商,设置对应的环境变量(至少配置一组):
export QWEN_API_KEY=your_api_key_here # 通义千问
export OPENROUTER_API_KEY=your_api_key_here # OpenRouter
export GLM_API_KEY=your_api_key_here # 智谱AI GLM (bigmodel.cn 国内端点)
export MINIMAX_API_KEY=your_api_key_here # MiniMax (minimaxi.com 国内端点)
export CUSTOM_OPENAI_API_KEY=your_api_key_here # custom_openai,可选
export CUSTOM_OPENAI_BASE_URL=http://127.0.0.1:8000/v1
export CUSTOM_OPENAI_MODEL=Qwen/Qwen2.5-7B-Instruct
说明:
custom_openai 适合对接 LM Studio、vLLM、One API、New API 等 OpenAI 兼容服务CUSTOM_OPENAI_BASE_URL 可以是 API 根路径(如 .../v1),也可以直接写完整的 /chat/completions 接口CUSTOM_OPENAI_API_KEY 可以留空LLM Model 和 LLM Base URL;CLI 对应参数为 --llm-model 和 --llm-base-url| 参数 | 说明 | 默认值 |
|---|---|---|
VIDEO_URL_OR_PATH | 视频 URL 或本地文件路径(位置参数) | 必填 |
-o, --output | 自定义输出目录 | processed_videos |
--llm-provider | LLM 提供商(qwen、openrouter、glm、minimax 或 custom_openai) | qwen |
--llm-model | 覆盖当前提供商使用的模型名;对 custom_openai 通常需要显式配置 | 提供商默认值 |
--llm-base-url | 覆盖当前提供商使用的 OpenAI 兼容 chat completions 地址;对 custom_openai 通常需要显式配置 | 提供商默认值 |
--language | 输出语言(zh 或 en) | zh |
--browser | 用于 cookie 的浏览器(chrome/firefox/edge/safari);仅在显式提供时使用 | 无 |
--cookies | Netscape 格式 cookies.txt 文件路径;提供后优先于 --browser | 无 |
--js-runtime | 仅用于 YouTube 下载的 JavaScript 运行时策略(auto/deno/node/none) | auto |
--js-runtime-path | 仅用于 YouTube 下载的 JavaScript 运行时可执行文件路径(高级选项) | 无 |
--force-whisper | 强制使用本地 ASR 转录(忽略平台字幕);英文使用 Whisper,中文使用 Paraformer | 关 |
--use-background | 使用背景信息辅助分析 | 关 |
--normalize-boundaries / --no-normalize-boundaries | 剪辑生成时将开始/结束时间对齐到附近字幕边界;优先句子边界,其次字幕间停顿。默认开启,可用 --no-normalize-boundaries 关闭 | 开 |
--deep-optimize | 启用更深入的片段复审与优化流程,提升片段边界和独立成段质量,但处理更慢。详见[开启 --deep-optimize 时](#开启---deep-optimize-时) | 关 |
--user-intent | 用自然语言描述关注重点(如 "关于 AI 风险的观点"),引导 AI 优先选取相关片段 | 无 |
--max-clips | 最大精彩片段数量 | 5 |
--clip-length | 目标片段时长预设:auto、30_60、60_90、90_180、180_300,分别对应 Auto (30s-3m)、30s-60s、60s-90s、90s-3m、3m-5m;仅影响 engaging_moments 模式 | auto |
--title-style | Banner 标题艺术风格(见下方列表) | fire_flame |
--title-font-size | 艺术标题字体大小(可选:small=30px, medium=40px, large=50px, xlarge=60px,默认:medium=40px) | medium |
--cover-text-location | 封面文字位置(top/upper_middle/bottom/center) | center |
--cover-fill-color | 封面文字填充颜色(yellow/red/white/cyan/green/orange/pink/purple/gold/silver) | yellow |
--cover-outline-color | 封面文字描边颜色(yellow/red/white/cyan/green/orange/pink/purple/gold/silver/black) | black |
--speaker-references | 参考音频目录,用于说话人姓名映射(预览版)。文件名即说话人姓名(如 references/Host.wav)。需要 uv sync --extra speakers 和 HUGGINGFACE_TOKEN | 无 |
--skip-transcript | 跳过转录生成(使用已有转录文件) | 关 |
--skip-download | 跳过下载,使用已下载的视频 | 关 |
--skip-analysis | 跳过分析,使用已有分析结果 | 关 |
--skip-clips | 不生成剪辑 | 关 |
--add-titles | 添加艺术标题到剪辑 | 关 |
--skip-cover | 不生成封面图片 | 关 |
--burn-subtitles | 将 SRT 字幕烧录到视频中,输出到 clips_post_processed/(需要带 libass 的 ffmpeg) | 关 |
--subtitle-translation | 翻译字幕到指定语言后烧录(例如 "Simplified Chinese"),需同时开启 --burn-subtitles | 无 |
-f, --filename | 自定义输出文件名模板 | 无 |
-v, --verbose | 开启详细日志 | 关 |
--debug | 开启调试模式(导出完整 LLM 提示词) | 关 |
<details> <summary>🎨 Banner 标题艺术风格</summary>
| 风格 | 效果 |
|---|---|
fire_flame | 火焰效果(默认) |
gradient_3d | 渐变3D效果 |
neon_glow | 霓虹发光效果 |
metallic_gold | 金属金色效果 |
rainbow_3d | 彩虹3D效果 |
crystal_ice | 水晶冰效果 |
metallic_silver | 金属银色效果 |
glowing_plasma | 发光等离子效果 |
stone_carved | 石刻效果 |
glass_transparent | 玻璃透明效果 |
</details>
OpenClip 会先找到候选高光片段,再生成字幕、剪辑、封面和可选后期处理。默认模式更快;开启 --deep-optimize 后,会增加额外的 AI 复审与边界优化流程,以换取更高的片段质量。
OpenClip 受 AutoClip 启发,但采用不同设计理念:
| 特性 | OpenClip | AutoClip |
|---|---|---|
| **代码规模** | ~5K 行 | ~2M 行 (含前端依赖) |
| **依赖** | Python + FFmpeg | Docker + Redis + PostgreSQL + Celery |
| **定制性** | 可编辑提示词模板 | 配置文件 |
| **界面** | Web界面+Agent Skills+命令行 | Web界面 |
| **部署** | uv sync 即用 | Docker容器化 |
OpenClip 特点: 轻量(5K行代码)、快速启动、提示词可定制、易于维护和二次开发
感谢 AutoClip 为视频自动化处理做出的贡献。
OpenClip 是一个轻量化自动化视频处理流水线,用于识别和提取长视频(特别是口播和直播回放)中最精彩的片段。使用 AI 驱动的分析来发现亮点,生成剪辑,并添加标题和封面。
OpenClip 支持灵活输入(Bilibili、YouTube URL 或本地视频文件)、智能转录、说话人识别(预览版)、AI 分析、剪辑生成、字幕烧录(可选)和背景上下文等功能。
OpenClip 需要 uv 安装依赖,包括 uv 本身、FFmpeg 和 Paraformer(可选)。
可以使用 uv 安装依赖,包括 uv 本身、FFmpeg 和 Paraformer(可选)。具体安装步骤请参见 README 文件。
使用 OpenClip 可以通过 Streamlit 网页界面或命令行方式进行操作。具体使用步骤请参见 README 文件。
OpenClip 需要设置 API 密钥(用于 AI 功能)和环境变量。具体配置步骤请参见 README 文件。
OpenClip 的工作流程包括找到候选高光片段、生成字幕、剪辑、封面和可选后期处理。
OpenClip将AI与视频处理相结合,自动化程度高。代码维护活跃,Stars增长稳定。适合有实际需求的创作者快速批量处理视频内容。
AI Skill Hub 为第三方内容聚合平台,本页面信息基于公开数据整理,不对工具功能和质量作任何法律背书。
建议在沙箱或测试环境中充分验证后,再部署至生产环境,并做好必要的安全评估。
✅ MIT 协议 — 最宽松的开源协议之一,可自由商用、修改、分发,仅需保留版权声明。
经综合评估,openclip Agent工作流 在Agent工作流赛道中表现稳健,质量良好。如果你已有明确的使用需求,可以直接上手体验;如果还在评估阶段,建议对比同类工具后再做决策。
| 原始名称 | openclip |
| 原始描述 | 开源AI工作流:OpenClip - AI-powered highlight extraction for long videos (AI 驱动的长视频精彩时刻提取工具)。⭐459 · Python |
| Topics | 视频处理AI剪辑自动提取短视频生成工作流 |
| GitHub | https://github.com/linzzzzzz/openclip |
| License | MIT |
| 语言 | Python |
收录时间:2026-05-19 · 更新时间:2026-05-19 · License:MIT · AI Skill Hub 不对第三方内容的准确性作法律背书。
选择 Agent 类型,复制安装指令后粘贴到对应客户端