commit 84d98cf8c5e4f81f001198fc339805b46997300f Author: pop-tianlang <2102679387@qq.com> Date: Sat Feb 7 18:23:15 2026 +0800 上传文件至 / diff --git a/README.md b/README.md new file mode 100644 index 0000000..edf10a2 --- /dev/null +++ b/README.md @@ -0,0 +1,121 @@ +# 视频格式转换工具 + +一个使用 Python 和 FFmpeg 开发的视频格式转换工具,支持批量转换视频为横屏 1080p 格式,并提供 GUI 界面和 Web 界面。 + +## 功能特点 + +### 核心功能 +- 批量转换指定目录下的所有视频文件 +- 支持转换为横屏 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 +``` + +## 分辨率设置说明 + +- **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 +- tkinter(GUI 界面) +- Flask(Web 界面) +- ThreadPoolExecutor(并发处理) + +## 许可证 + +本项目采用 MIT 许可证。