CC相册整理工具是一个用于自动整理和处理照片和视频文件的多功能应用程序,主要是为了满足个人需求。
只在 Windows 上测试过,应该也只有 Windows 10、11 能正常运行。
使用 Cursor AI 辅助编写,其实基本都是 AI 写的,我就负责提提意见和做做测试(就连 README 大部分都是 AI 生成的)。
本项目视频处理部分使用的是 FFmpeg,EXIF 信息读取与修改部分使用的是 ExifTool。
其中 FFmpeg 的压制参数参考自小丸工具箱帮助页面,来自 zj262144 的《尽量不浪费压制时间的简单视频高压要点》,做了一点修改。
主要功能包括:
- 自动按照文件日期重命名照片和视频文件(格式:YYYY_MM_DD HH_MM_SS)
- 将视频文件转码为 H.264 格式,在保持高画质的同时减小文件大小
- 支持按文件大小过滤视频文件,默认小于 10MB 的视频文件不进行转码处理
- 修复文件的时间属性
- 按年份和月份自动整理文件(格式:YYYY/YYYY-MM/)
- 保留原始文件的创建日期和其他元数据信息
- 支持批量处理多个文件和文件夹
- 提供多个功能选项卡,包括"一条龙"处理、重命名、转码、修复时间属性和整理
-
确保您的系统已安装 Python 3.7 或更高版本。
-
克隆或下载此仓库到本地。
-
在项目目录中,运行以下命令安装所需的依赖:
pip install -r requirements.txt -
确保 FFmpeg 和 ExifTool 已正确安装,并配置好了环境变量。
- FFmpeg: https://ffmpeg.org/download.html
- ExifTool: https://exiftool.org/
-
运行主程序:
python gui_main.py -
在打开的图形界面中,选择所需的功能选项卡:
- "一条龙":执行完整的处理流程(重命名、转码、修复时间属性、整理),可设置视频文件大小过滤阈值
- "按日期重命名":仅重命名文件
- "视频转码":仅执行视频转码,可设置文件大小过滤阈值
- "修复时间属性":修复文件的时间属性
- "整理":按年份-月份创建对应文件夹整理文件
-
通过以下方式添加要处理的文件或文件夹:
- 将文件或文件夹拖放到应用程序窗口中
- 点击 "+" 按钮并选择文件或文件夹
- 在输入框中直接输入文件或文件夹路径
-
设置所需的选项(如果有)。
-
点击 "开始" 按钮开始处理文件。
-
处理完成后,您可以在以下位置找到处理后的文件:
- 一条龙处理:在输出文件夹中,默认为 H264
- 单独功能:原始文件夹的相应子文件夹中
gui_main.py: 主程序入口,包含图形用户界面的实现main.py: 核心处理逻辑,包括文件重命名和处理的主要功能video_processing.py: 视频处理相关函数,包括视频转码photo_processing.py: 照片处理相关函数date_utils.py: 日期处理工具,用于文件重命名和元数据修改file_utils.py: 文件操作工具函数gui_dialogs.py: 自定义对话框实现,如信息对话框和依赖项下载对话框gui_widgets.py: 自定义 GUI 控件实现gui_worker.py: 后台工作线程实现,用于处理耗时操作tab_rename.py: "按日期重命名"选项卡的实现tab_transcode.py: "视频转码"选项卡的实现tab_fix_time.py: "修复时间属性"选项卡的实现tab_organize.py: "整理"选项卡的实现
- Python 3.7+
- PyQt6
- FFmpeg
- ExifTool
详细的 Python 包依赖请参见 requirements.txt 文件。
- 请确保在处理重要文件之前备份您的数据。
- 视频转码过程可能需要较长时间,具体取决于视频文件的大小和您的计算机性能。
- 如果缺少 FFmpeg 或 ExifTool,程序会提示您下载这些依赖项。
- 程序会自动检测并跳过已经存在的处理过的文件,以避免重复处理。
- 整理功能会将文件按照年份和月份自动分类,创建相应的文件夹结构。
欢迎提交问题报告、功能请求或代码贡献。请遵循标准的 GitHub 工作流程:fork 仓库,创建特性分支,提交更改,然后创建 pull request。
痕继痕迹 & AI