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

3.6 KiB
Raw Permalink Blame History

视频格式转换工具

一个使用 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. 安装依赖:
    pip install -r requirements.txt
    
  3. 下载 FFmpeg 并将其添加到系统路径,或放在项目目录中

使用方法

GUI 版本

  1. 双击运行 video_converter_ui.exe 或执行:
    python video_converter_ui.py
    
  2. 选择输入目录(可拖拽文件夹到输入框)
  3. 设置输出目录
  4. 选择并发线程数
  5. 点击分辨率设置按钮调整视频分辨率
  6. 点击"开始转换"按钮开始转换
  7. 如需停止转换,点击"停止转换"按钮

Web 版本

  1. 启动 Flask 服务器:
    python video_converter_web.py
    
  2. 在浏览器中访问 http://127.0.0.1:5000
  3. 输入输入目录和输出目录
  4. 设置并发线程数和分辨率
  5. 点击"开始转换"按钮开始转换
  6. 查看实时转换状态和日志

命令行版本

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.pyGUI 版本
  • video_converter_web.pyWeb 版本
  • video_converter_ui.exe:打包后的 GUI 可执行文件
  • video_converter.exe:打包后的命令行可执行文件
  • templates/index.htmlWeb 版本的 HTML 模板

技术栈

  • Python 3.7+
  • FFmpeg
  • tkinterGUI 界面)
  • FlaskWeb 界面)
  • ThreadPoolExecutor并发处理

许可证

本项目采用 MIT 许可证。