# FFmpeg视频处理 **Repository Path**: ky10_code/ffmpeg-video-processing ## Basic Information - **Project Name**: FFmpeg视频处理 - **Description**: 专门做Faststart预处理的GUI工具,技术使用了FFmpeg和PyQt5 - ✅ 专门针对Faststart优化 :专注于视频加载速度优化 - ✅ 友好的GUI界面 :拖拽操作、实时进度、Loading弹框 - ✅ 批量处理 :支持多文件处理 - ✅ 视频压缩 :集成H.264压缩功能 - ✅ 完整的功能 :Faststart + 压缩 + 自定义输出 - **Primary Language**: Python - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2026-01-19 - **Last Updated**: 2026-01-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 视频Faststart预处理工具 一款专业的视频优化工具,通过Faststart预处理技术提升视频加载速度。 ## ✨ 功能特点 - 🚀 **Faststart预处理**:优化视频文件结构,实现边下载边播放 - 📦 **批量处理**:支持一次性处理多个视频文件 - 🎯 **拖拽操作**:支持拖拽文件和文件夹,操作简便 - ⚙️ **自定义输出**:可设置输出目录和文件名后缀 - 📊 **实时进度**:显示处理进度和当前文件状态 - 🔊 **提示音**:处理完成后播放提示音 - 🎬 **多格式支持**:支持MP4、MOV、MKV、AVI、FLV、WMV、WebM等格式 - 🎨 **友好界面**:简洁美观的GUI界面,易于使用 ## 🚀 快速开始 ### 系统要求 - Windows 10 或 Windows 11 - Python 3.11 或更高版本(开发环境需要) ### 下载使用 #### 方式一:使用已打包的exe文件 如果你已经有打包好的 `视频Faststart预处理工具.exe`: 1. 双击运行,无需安装 2. 添加视频文件,点击"开始处理" #### 方式二:从源代码运行 如果你需要从源代码运行或打包程序,请按照以下步骤操作: ## 🛠️ 开发环境配置 ### 1. 安装Python依赖 ```bash pip install -r requirements.txt ``` ### 2. 下载FFmpeg 程序需要FFmpeg才能运行。请按照以下步骤下载和配置: #### 下载FFmpeg 1. 访问FFmpeg官方下载页面:https://www.gyan.dev/ffmpeg/builds/ 2. 下载 `ffmpeg-git-full.7z` 或 `ffmpeg-release-full.7z` 3. 解压到任意目录(建议:`I:\FFmpegWord\ffmpeg-master-latest-win64-gpl-shared`) #### 目录结构要求 解压后的目录结构应该如下: ``` ffmpeg-master-latest-win64-gpl-shared/ ├── bin/ │ ├── ffmpeg.exe │ ├── ffplay.exe │ ├── ffprobe.exe │ ├── avcodec-62.dll │ ├── avdevice-62.dll │ ├── avfilter-11.dll │ ├── avformat-62.dll │ ├── avutil-60.dll │ ├── swresample-6.dll │ └── swscale-9.dll ├── doc/ ├── include/ └── lib/ ``` **重要**:确保 `ffmpeg.exe` 文件位于 `ffmpeg-master-latest-win64-gpl-shared/bin/` 目录下。 ### 3. 运行程序 ```bash python main.py ``` 如果FFmpeg路径正确,程序会正常启动。如果提示"FFmpeg初始化失败",请检查FFmpeg目录结构是否正确。 ## 📦 打包程序 ### 打包步骤 1. **确保FFmpeg已下载并解压到正确位置** - 目录:`ffmpeg-master-latest-win64-gpl-shared/` - 包含 `bin/ffmpeg.exe` 文件 2. **运行打包脚本** ```bash build.bat ``` 3. **打包完成后** - 可执行文件位于:`dist/视频Faststart预处理工具.exe` - FFmpeg文件会自动打包到exe中 ### 打包脚本说明 `build.bat` 会自动执行以下操作: 1. 安装Python依赖包 2. 安装PyInstaller 3. 使用PyInstaller打包程序 4. 将FFmpeg文件打包到exe中 ### 打包配置 打包配置在 `build.spec` 文件中,包含: - 数据文件:FFmpeg的bin目录 - 隐藏导入:PyQt5相关模块 - 控制台窗口:隐藏(使用pythonw.exe) ## 📖 核心功能 ### Faststart预处理 通过将视频的moov atom移动到文件开头,大幅提升视频在服务器端的加载速度,实现"边下载边播放"的效果。 ### 视频压缩 支持H.264编码的视频压缩功能,提供多种压缩质量选项: - 高质量(CRF 26):保持原画质 - 标准(CRF 31):文件略微减小 - 高压缩(CRF 33):文件大幅减小 - 自定义:可调节CRF值(25-33) **注意**:音频无损复制,保持原质量。 ## 🔧 技术栈 - **编程语言**:Python 3.11 - **GUI框架**:PyQt5 - **视频处理**:FFmpeg - **打包工具**:PyInstaller ## 📁 项目结构 ``` 视频Faststart预处理工具/ ├── main.py # 主程序入口 ├── video_faststart_gui.py # GUI界面 ├── ffmpeg_processor.py # FFmpeg处理模块 ├── requirements.txt # 依赖包列表 ├── build.spec # PyInstaller配置 ├── build.bat # 打包脚本 ├── 使用说明.md # 详细使用说明 └── ffmpeg-master-latest-win64-gpl-shared/ # FFmpeg程序(需自行下载) └── bin/ ├── ffmpeg.exe └── *.dll ``` **注意**:`ffmpeg-master-latest-win64-gpl-shared/` 目录需要自行下载,已添加到 `.gitignore`,不会被提交到Git。 ## ❓ 常见问题 ### Q: 处理后的视频文件会变大吗? **A**: - **只做Faststart预处理**:不会。文件大小几乎不变(可能略有增加,通常小于1%) - **启用视频压缩**:会减小。根据选择的CRF值,文件大小可减小20%-60% ### Q: 处理会影响视频质量吗? **A**: - **只做Faststart预处理**:不会。使用 `-c copy` 参数直接复制流,不进行任何重新编码,视频质量完全保持不变。 - **启用视频压缩**:会有一定损失。使用H.264编码,CRF值越小质量越高。建议使用CRF 26-33,在质量和文件大小之间取得平衡。 ### Q: 音频质量会受影响吗? **A**: 不会。音频使用 `-c:a copy` 参数直接复制,不重新编码,完全保持原质量。 ### Q: 支持哪些视频格式? **A**: 支持MP4、MOV、MKV、AVI、FLV、WMV、WebM等主流视频格式。 ### Q: 程序启动时提示"FFmpeg初始化失败"怎么办? **A**: 请检查: 1. 是否已下载FFmpeg并解压到项目根目录 2. 目录名称是否为 `ffmpeg-master-latest-win64-gpl-shared` 3. `ffmpeg.exe` 是否位于 `bin/` 子目录下 4. FFmpeg文件是否完整(包含所有dll文件) ### Q: 打包时提示"未找到FFmpeg"怎么办? **A**: 请确保: 1. FFmpeg已下载并解压到项目根目录 2. 目录结构正确(见"下载FFmpeg"章节) 3. 使用 `build.bat` 脚本进行打包 ### Q: 打包后的exe文件运行时提示找不到FFmpeg怎么办? **A**: 这通常是因为打包时FFmpeg文件没有正确包含。请: 1. 确保FFmpeg目录结构正确 2. 重新运行 `build.bat` 打包 3. 检查 `build.spec` 中的数据文件路径是否正确 ### Q: 可以修改FFmpeg路径吗? **A**: 可以。修改 `ffmpeg_processor.py` 中的 `_get_ffmpeg_path()` 方法,或者将FFmpeg添加到系统PATH环境变量中。 更多问题请查看 [使用说明.md](使用说明.md) ## 📄 许可证 本工具使用的FFmpeg遵循GPL许可证。 ## 🎉 更新日志 ### v1.1.0 (2026-01-19) - ✨ 新增视频压缩功能(H.264编码) - ✨ 新增自定义CRF值滑动条 - ✨ 新增Loading弹框提示 - 🐛 修复文件访问冲突问题 - 🐛 修复单选按钮显示问题 - 🎨 优化界面布局和字体大小 - 📝 更新使用说明 ### v1.0.0 (2026-01-19) - ✨ 首次发布 - ✅ 支持Faststart预处理 - ✅ 支持批量处理 - ✅ 支持拖拽文件和文件夹 - ✅ 支持自定义输出设置 - ✅ 支持进度显示 - ✅ 支持处理完成提示音 --- **祝您使用愉快!** 🎊