update README

1. update root README, pointer to all proj
2. create all README
Powered by claude code, maybe mistake, checked and commit manually.
This commit is contained in:
2025-09-12 14:58:58 +08:00
parent f539792fd1
commit b4c04343e8
27 changed files with 964 additions and 74 deletions

174
VideoCompress/README.md Normal file
View File

@ -0,0 +1,174 @@
# VideoCompress 🎬
一个功能强大的视频批量压缩工具,基于 FFmpeg 构建,支持硬件加速和多种压缩配置选项。
## ✨ 主要特性
- **批量处理**: 递归扫描目录,批量压缩多个视频文件
- **硬件加速**: 支持 NVIDIA、AMD、Intel 显卡硬件加速
- **灵活配置**: 支持 CRF 和固定码率两种压缩模式
- **进度显示**: 实时显示压缩进度和预估时间
- **多种界面**: 提供 Tkinter 和 PySide6 两种 GUI 配置界面
- **智能跳过**: 自动跳过已存在的压缩文件
- **格式支持**: 支持 MP4、MKV 等多种视频格式
## 🚀 快速开始
### 环境要求
- Python 3.7+
- FFmpeg已内置 ffmpeg.exe
### 安装依赖
```bash
pip install rich PySide6
```
### 基本使用
1. **启动配置界面**
```bash
python config_ui.py
```
2. **直接压缩视频**
```bash
python main.py <目标目录>
```
3. **配置后压缩**
```bash
python config.py <目标目录>
```
## ⚙️ 配置选项
### 基础设置
- **输出方式**
- `single`: 所有压缩文件保存到统一的 Compress 文件夹
- `multi`: 在每个视频文件旁创建独立的 compress 文件夹
- **编码器**
- `h264`: H.264 编码(兼容性好)
- `hevc`: H.265 编码(文件更小)
### 质量设置
- **CRF 模式**(推荐):
- 数值范围0-51
- 数值越小质量越高,文件越大
- 推荐值18-23
- **固定码率模式**
- 格式:数字+单位(如 2M、500k
- 可以精确控制文件大小
### 硬件加速
- **NVIDIA 显卡**:使用 `h264_nvenc` 或 `hevc_nvenc`
- **AMD 显卡**:使用 `h264_amf` 或 `hevc_amf`
- **Intel 核显**:使用 `h264_qsv` 或 `hevc_qsv`
## 📁 项目结构
```
VideoCompress/
├── main.py # 核心压缩引擎
├── config.py # Tkinter 配置界面
├── config_ui.py # PySide6 现代化配置界面
├── config.json # 配置文件
├── ffmpeg.exe # FFmpeg 可执行文件
├── ffprobe.exe # FFprobe 可执行文件
├── test.py # 测试文件
├── pack.bat # 打包脚本
└── logs/ # 日志文件夹
```
## 🔧 高级用法
### 自定义 FFmpeg 参数
在配置界面的"高级设置"中,可以添加自定义 FFmpeg 参数:
```bash
# 示例:设置线程数
-threads 4
# 示例:自定义预设
-preset slow
# 示例:音频编码设置
-c:a aac -b:a 128k
```
### 手动参数模式
如果需要完全自定义压缩命令,可以在配置文件中设置 `manual` 参数:
```json
{
"manual": ["-vf", "scale=1280:720", "-c:v", "libx264", "-crf", "20"]
}
```
### 训练模式(实验性)
启用训练模式可以让程序学习压缩时间,提供更准确的时间预估:
```json
{
"train": true
}
```
## 📊 输出示例
```
2025-08-26 19:20:15 - INFO - Video Compress started at 2025/08/26 19:20
2025-08-26 19:20:15 - INFO - 开始验证环境
2025-08-26 19:20:16 - INFO - 正在获取视频信息 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100%
2025-08-26 19:20:17 - INFO - 总进度 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 45%
2025-08-26 19:20:17 - INFO - test.mp4 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 67%
```
## 🎯 使用场景
- **批量压缩**: 处理大量视频文件,减小存储空间
- **格式转换**: 将各种格式的视频统一转换为 MP4
- **质量优化**: 在保持视觉质量的前提下减小文件体积
- **硬件加速**: 利用显卡加速,提高压缩效率
## ⚠️ 注意事项
1. 确保有足够的磁盘空间存储压缩后的文件
2. 硬件加速需要相应的显卡驱动支持
3. 压缩过程中避免强制退出,可能导致文件损坏
4. 建议先用小批量文件测试配置效果
## 🐛 常见问题
**Q: 压缩后文件变大了?**
A: 降低 CRF 值或检查原文件是否已经是高压缩格式
**Q: 硬件加速不生效?**
A: 检查显卡驱动是否支持对应的编码器
**Q: 程序卡在某个文件?**
A: 检查该文件是否损坏或格式不被支持
## 📝 更新日志
- **v1.2.1**: 优化进度显示,修复时间预估
- **v1.2**: 添加 PySide6 现代化界面
- **v1.1**: 支持硬件加速和多种编码器
- **v1.0**: 基础批量压缩功能
## 📄 许可证
本项目仅供学习和个人使用。
---
💡 **提示**: 如有问题或建议,欢迎提出 Issue 或 Pull Request。