# video_tool **Repository Path**: ghostmice/video_tool ## Basic Information - **Project Name**: video_tool - **Description**: 🔥官方推荐🔥一款基于Python语言开发的视频自动剪辑助手,能够编辑封面图片、封面题目文字等。懒人党的福利,希望这个工具能够帮助到你,如果你具备该方面的开发能力欢迎继续完善这个工具,让更多的兄弟们用上好用的工具!!! - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-12-18 - **Last Updated**: 2025-12-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 🎬 视频自动剪辑工具 一款基于 Python + Streamlit 的视频自动剪辑工具,专为技术分享类短视频创作者设计。支持自动生成统一封面、AI语音合成、自动字幕、批量处理等功能。 ![Python](https://img.shields.io/badge/Python-3.8+-blue.svg) ![Streamlit](https://img.shields.io/badge/Streamlit-1.28+-red.svg) ![License](https://img.shields.io/badge/License-MIT-green.svg) ## ✨ 功能特性 - 🎨 **统一封面生成** - 自动生成精美封面,支持自定义背景、标题、副标题、水印 - 🎙️ **AI语音合成** - 基于 Edge-TTS,支持多种中文语音(男声/女声) - 📝 **自动字幕** - 根据配音文本自动生成同步字幕 - 📱 **多平台适配** - 支持竖屏(抖音/快手)、横屏(B站/YouTube)、适应模式(电脑录屏) - 📦 **批量处理** - 支持批量上传视频和CSV文案,一键生成多个视频 - 🎬 **剪映兼容** - 支持导出剪映草稿格式,方便二次编辑 - 🧹 **缓存管理** - 一键清理临时文件,不留残留 ## 📸 界面预览 ``` ┌─────────────────────────────────────────────────────────────┐ │ 🎬 视频自动剪辑工具 │ ├──────────────────────┬──────────────────────────────────────┤ │ ⚙️ 配置选项 │ │ │ ├─ 配音声音 │ 📤 上传视频 ✏️ 编辑内容 │ │ ├─ 封面时长 │ ┌──────────┐ ┌──────────────┐ │ │ ├─ 视频模式 │ │ │ │ 封面主标题 │ │ │ └─ 添加字幕 │ │ 视频 │ │ 封面副标题 │ │ │ │ │ 预览 │ │ 配音文案 │ │ │ 🎨 封面设置 │ │ │ │ │ │ │ ├─ 水印文字 │ └──────────┘ │ [封面预览] │ │ │ └─ 背景图片 │ └──────────────┘ │ │ ├──────────────────────────────────────┤ │ 🧹 缓存管理 │ [🚀 开始生成] │ └──────────────────────┴──────────────────────────────────────┘ ``` ## 🚀 快速开始 ### 环境要求 - Windows 10/11 - Python 3.8+ - 网络连接(语音合成需要) ### 安装步骤 1. **克隆项目** ```bash git clone https://github.com/your-repo/video-auto-editor.git cd video-auto-editor ``` 2. **安装依赖** ```bash pip install -r requirements.txt ``` 3. **启动应用** ```bash # 方式一:命令行启动 streamlit run app.py # 方式二:双击启动脚本 # Windows: 双击 启动工具.bat ``` 4. **打开浏览器访问** `http://localhost:8501` ## 📖 使用指南 ### 基本使用流程 1. **上传视频** - 在左侧上传原始视频文件(支持 mp4、mov、avi) 2. **编辑内容** - 输入封面标题、副标题和配音文案 3. **配置选项** - 在侧边栏选择语音、视频模式等 4. **生成视频** - 点击"开始生成"按钮 5. **下载结果** - 生成完成后下载视频 ### 视频模式说明 | 模式 | 分辨率 | 适用场景 | |------|--------|----------| | 适应模式 | 1080×1920 | 电脑录屏,保持原比例,上下添加装饰背景 | | 竖屏裁剪 | 1080×1920 | 抖音、快手等竖屏平台 | | 横屏模式 | 1920×1080 | B站、YouTube等横屏平台 | ### 批量处理 1. 准备 CSV 文件,包含以下列: ```csv title,subtitle,content Python技巧分享,每日一技,今天分享一个实用的Python库... JavaScript进阶,前端必学,这个JavaScript技巧可以让你的代码更简洁... ``` 2. 上传多个视频文件和 CSV 文件 3. 点击"批量生成" ## 📁 项目结构 ``` video-auto-editor/ ├── app.py # 主程序(Streamlit应用) ├── launcher.py # 启动器 ├── desktop_app.py # 桌面应用启动器 ├── build_exe.py # 打包脚本 ├── requirements.txt # Python依赖 ├── sample_batch.csv # 批量处理示例文件 ├── 启动工具.bat # Windows启动脚本 ├── 启动桌面版.bat # 桌面窗口版启动脚本 ├── dist/ # 打包输出目录 │ └── 视频剪辑工具/ # 可分发的程序包 └── README.md # 项目说明文档 ``` ## 🔧 核心模块 ### CoverGenerator - 封面生成器 - 创建渐变背景模板 - 支持自定义背景图片 - 自动文字换行 - 添加标题、副标题、水印 ### TTSEngine - 语音合成引擎 - 基于 Edge-TTS(微软在线语音服务) - 支持多种中文语音 - 异步合成,性能优良 ### VideoProcessor - 视频处理器 - 视频尺寸自适应 - 封面与视频拼接 - 音频混合(原声+配音) - 字幕叠加 ## 📦 分发部署 ### 方式一:源码分发 将整个项目文件夹发送给用户,用户需要: 1. 安装 Python 3.8+ 2. 运行 `pip install -r requirements.txt` 3. 运行 `streamlit run app.py` ### 方式二:打包分发(推荐) ```bash python build_exe.py ``` 生成 `dist/视频剪辑工具.zip`,用户解压后: 1. 安装 Python 3.8+ 2. 双击 `启动工具.bat` ## ⚙️ 配置说明 ### 语音选项 - `zh-CN-XiaoxiaoNeural` - 女声(默认) - `zh-CN-YunxiNeural` - 男声 ### 封面模板 默认模板特点: - 深紫渐变背景 - 装饰性光晕效果 - 网格线装饰 - 精致边框 支持上传自定义背景图片(推荐尺寸 1080×1920) ## 🐛 常见问题 **Q: 启动报错 "No module named xxx"** ```bash pip install streamlit moviepy Pillow edge-tts opencv-python numpy pandas ``` **Q: 语音合成失败** - 检查网络连接,Edge-TTS 需要联网使用 **Q: 视频处理很慢** - 正常现象,视频编码需要时间 - 可以关闭字幕功能加快速度 - 使用较短的视频测试 **Q: 中文字体显示异常** - 确保系统安装了微软雅黑字体 - Windows 默认已安装 ## 🛠️ 技术栈 - **前端框架**: Streamlit - **视频处理**: MoviePy + FFmpeg - **图像处理**: Pillow - **语音合成**: Edge-TTS - **数据处理**: Pandas, NumPy ## 📄 开源协议 MIT License ## 🤝 贡献指南 欢迎提交 Issue 和 Pull Request! 1. Fork 本项目 2. 创建特性分支 (`git checkout -b feature/AmazingFeature`) 3. 提交更改 (`git commit -m 'Add some AmazingFeature'`) 4. 推送到分支 (`git push origin feature/AmazingFeature`) 5. 提交 Pull Request ## 📮 联系方式 如有问题或建议,请提交 Issue。 --- ⭐ 如果这个项目对你有帮助,请给个 Star!