Files
toutiao-pachong/README.md
2026-02-07 18:26:07 +08:00

122 lines
3.6 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 视频格式转换工具
一个使用 Python 和 FFmpeg 开发的视频格式转换工具,支持批量转换视频为横屏 1080p 格式,并提供 GUI 界面
## 功能特点
### 核心功能
- 批量转换指定目录下的所有视频文件
- 支持转换为横屏 1080p 视频格式
- 并发处理,提高转换速度
- 支持自定义 FFmpeg 参数
### GUI 界面功能
- 现代风格的用户界面
- 目录拖拽功能,支持拖放添加文件/文件夹
- 实时状态显示和日志输出
- 分辨率设置按钮height_1080、width_1920、strict_1080p
- 停止转换时自动结束所有 FFmpeg 进程
- 支持严格模式(保持比例+黑边填充)
### Web 界面功能
- 基于 Flask 框架的 Web 应用
- 与 GUI 版本相同的功能
- 实时状态更新和进度条显示
- 支持远程访问
## 安装方法
### 前置要求
1. Python 3.7+
2. FFmpeg需要添加到系统路径或与可执行文件放在同一目录
3. 可选依赖:
- `psutil`(用于更精确地结束 FFmpeg 进程)
- `flask`(用于运行 Web 版本)
### 安装步骤
1. 克隆或下载本项目到本地
2. 安装依赖:
```bash
pip install -r requirements.txt
```
3. 下载 FFmpeg 并将其添加到系统路径,或放在项目目录中
## 使用方法
### GUI 版本
1. 双击运行 `video_converter_ui.exe` 或执行:
```bash
python video_converter_ui.py
```
2. 选择输入目录(可拖拽文件夹到输入框)
3. 设置输出目录
4. 选择并发线程数
5. 点击分辨率设置按钮调整视频分辨率
6. 点击"开始转换"按钮开始转换
7. 如需停止转换,点击"停止转换"按钮
### Web 版本
1. 启动 Flask 服务器:
```bash
python video_converter_web.py
```
2. 在浏览器中访问 `http://127.0.0.1:5000`
3. 输入输入目录和输出目录
4. 设置并发线程数和分辨率
5. 点击"开始转换"按钮开始转换
6. 查看实时转换状态和日志
### 命令行版本
```bash
python video_converter.py --input <输入目录> --output <输出目录> --threads <线程数> --params <FFmpeg参数>
```
## 分辨率设置说明
- **height_1080**:设置视频高度为 1080 像素,宽度自动调整以保持原始比例
- **width_1920**:设置视频宽度为 1920 像素,高度自动调整以保持原始比例
- **strict_1080p**:设置视频为严格的 1920x1080 分辨率,先保持比例缩放,再用黑边填充
## 常见问题
### FFmpeg 未找到
- 确保 FFmpeg 已添加到系统路径,或与可执行文件放在同一目录
- 检查 FFmpeg 版本:`ffmpeg -version`
### 转换失败
- 检查输入目录是否存在视频文件
- 确保输出目录有写入权限
- 检查 FFmpeg 参数是否正确
### 停止转换后进程仍在运行
- 工具会自动尝试结束所有 FFmpeg 进程
- 如果仍有进程运行,请手动结束或重启计算机
## 注意事项
1. 转换视频可能需要较长时间,取决于视频大小和计算机性能
2. 转换过程中会占用较多 CPU 和内存资源
3. Web 版本在生产环境中使用时,建议使用 WSGI 服务器(如 Gunicorn
4. 严格模式会保持视频原始比例,并用黑边填充到标准 1080p 分辨率
## 文件说明
- `video_converter.py`:命令行版本
- `video_converter_ui.py`GUI 版本
- `video_converter_web.py`Web 版本
- `video_converter_ui.exe`:打包后的 GUI 可执行文件
- `video_converter.exe`:打包后的命令行可执行文件
- `templates/index.html`Web 版本的 HTML 模板
## 技术栈
- Python 3.7+
- FFmpeg
- tkinterGUI 界面)
- FlaskWeb 界面)
- ThreadPoolExecutor并发处理
## 许可证
本项目采用 MIT 许可证。