# video_cut **Repository Path**: bighandsomeboy/video_cut ## Basic Information - **Project Name**: video_cut - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-09-21 - **Last Updated**: 2026-09-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 🎬 VideoCut AI Agent 一个基于本地大语言模型 (Ollama) 和 LangChain 构建的**自动化视频剪辑 Agent**。用户可以通过自然语言指令,让 AI 自动调用底层工具完成视频倍速、缩放、拼接等重复性剪辑工作。 ## ✨ 特性 - 🧠 **本地化运行**:基于 Ollama (Qwen2.5 / Llama3),数据不出本地,保护隐私。 - 🛠️ **Skill 可扩展**:基于 LangChain `@tool` 装饰器,可轻松扩展更多功能(去水印、提取音频、添加字幕等)。 - 💻 **双模式运行**:支持 Ollama 本地模型 或 OpenAI 兼容 API(如 DeepSeek、通义千问等)。 - 🎨 **Streamlit Web UI**:友好的自然语言对话式剪辑界面。 - 🔧 **命令行模式**:支持直接在终端调用。 - 📦 **清晰的项目结构**:tools / agent / app 三层分离,易于维护和扩展。 ## 🏗️ 技术栈 `Python` · `LangChain` · `Ollama` · `MoviePy` · `Streamlit` · `FFmpeg` ## 📁 项目结构 ``` video-edit-agent/ ├── README.md ├── requirements.txt ├── .gitignore ├── app.py # Streamlit Web 界面 ├── tools/ │ ├── __init__.py │ └── video_skills.py # 核心视频处理 Skill (Tools) ├── agent/ │ ├── __init__.py │ └── editor_agent.py # LangChain Agent 逻辑 ``` ## 🚀 快速开始 ### 1. 克隆项目 & 创建环境 ```bash cd video-edit-agent # 创建虚拟环境(推荐 conda) conda create -n videocut python=3.11 -y conda activate videocut # 或使用 venv python -m venv videocut # Windows: videocut\Scripts\activate # Mac/Linux: source videocut/bin/activate # 安装依赖 pip install -r requirements.txt ``` ### 2. 启动本地模型(二选一) **方案 A:Ollama 本地模型(推荐)** ```bash # 安装 Ollama: https://ollama.com ollama pull qwen2.5:7b ollama run qwen2.5:7b # 启动模型服务 ``` **方案 B:OpenAI 兼容 API** ```bash # 在 Web UI 中输入你的 API Key # 或在终端设置环境变量: export OPENAI_API_KEY="your-key" export OPENAI_BASE_URL="https://api.openai.com/v1" # 可选 export OPENAI_MODEL="gpt-4o-mini" # 可选 ``` ### 3. 运行 ```bash # Web 界面模式 streamlit run app.py # 命令行模式 python -m agent.editor_agent "把 input.mp4 2倍速并缩小到一半,保存为 output.mp4" ``` ## 🎯 支持的剪辑操作 | 工具 | 功能 | 示例指令 | |------|------|---------| | `speed_up_video` | 视频倍速播放 | "把 30s 视频 6 倍速,压缩到 5s" | | `resize_video` | 画面缩放 | "把视频缩小到 0.5 倍" | | `concatenate_videos` | 多段拼接 | "把 A 和 B 拼在一起" | | `insert_video` | 指定位置插入 | "在 A 中间插入 B" | | `get_video_info` | 查看视频信息 | "看看这个视频的时长和分辨率" | ## 📝 简历 STAR 写法 > **个人项目:基于 LLM Agent 的自动化视频剪辑系统** | GitHub 开源 > > - **背景**:日常视频处理中存在大量规则明确的重复性工作(批量变速、多段拼接、分辨率缩放),传统手动剪辑效率低下。 > - **任务**:设计并实现一个能通过自然语言指令自动完成视频剪辑任务的本地 AI Agent。 > - **行动**:使用 LangChain 搭建 Tool-Calling 架构,将 MoviePy 核心功能封装为标准化 @tool Skill;通过 Ollama 本地部署 Qwen2.5-7B 模型确保数据隐私;使用 Streamlit 开发前端界面,实现从"自然语言输入"到"Agent 思考日志"再到"视频导出"的完整闭环。 > - **结果**:将原本需要 5-10 分钟的手动操作缩短至秒级自动执行,项目已开源至 GitHub。 ## 📄 License MIT