4.7 KiB
4.7 KiB
kenaito-media-picker
媒体分辨率分类整理工具:一键扫描目录下所有图片与视频,按横屏 / 竖屏 / 等比和分辨率自动归类到对应子目录。
功能特性
- 图片 / 视频双支持:扫描当前目录(递归),自动识别图片与视频文件
- 标准分辨率归类:720P、1080P、2K、2.5K、影院 2K、DCI 4K、8K 及带鱼屏(UltraWide 2K/3K/4K)等标准规格单独建目录
- 非标分辨率归类:按像素区间自动归入 1K ~ 9K / 普通 / 原图(原画质)目录
- 方向区分:横屏、竖屏、等比(正方形)分开整理,GIF 单独处理
- 异常兜底:读取失败、不支持的格式自动归入「读取异常」「已忽略」目录
- 自动整理:无需人工干预,扫描 → 分析 → 移动一次完成,跨磁盘自动降级为复制后删除
- 零依赖安装:视频信息读取使用内嵌的
ffprobe.exe(Windows x64),无需额外安装 ffmpeg
支持的格式
| 类型 | 格式 |
|---|---|
| 图片 | JPG / JPEG / JPE / JFIF / PNG / GIF / BMP / WEBP / PSB,PSD 单独归入「图片_PSD」 |
| 视频 | MP4 / AVI / MOV / MKV / MPG / M4V / WMV / WEBM / FLV / TS / RM / RMVB / 3GP / 3G2 |
判断依据为文件 MIME 信息 + 扩展名双重识别,扩展名大小写不敏感。
构建编译
sh build.sh
- 依赖 Go 1.19+(
go.mod指定 1.19) build.sh使用upx压缩产物,输出kenaito-media-picker.exe(Windows 单文件)- 编译所需工具(ffmpeg / upx)压缩包已放在
doc/目录,按需解压使用
使用方法
# 双击有风险, 双击需谨慎
将 kenaito-media-picker.exe 拖拽到需要整理的文件夹内,双击运行即可
# 或命令行运行
kenaito-media-picker.exe
程序启动后有 5 秒倒计时,期间可 Ctrl+C 取消;倒计时结束后自动开始整理。
整理规则
执行后,会在当前目录生成一批以 UUID 开头命名的子目录,文件按规则移动(或复制)进去:
图片
{uid}-图片_横屏_720P ← 1280×720
{uid}-图片_横屏_1D5KP ← 1600×900
{uid}-图片_横屏_1080P ← 1920×1080
{uid}-图片_横屏_2DKP ← 2048×1080(影院 2K)
{uid}-图片_横屏_2D5KP ← 2560×1440(2.5K)
{uid}-图片_横屏_ultraWide2KP ← 2560×1080(带鱼屏)
{uid}-图片_横屏_ultraWide3KP ← 3440×1440(带鱼屏)
{uid}-图片_横屏_ultraWide4KP ← 5120×2160(带鱼屏)
{uid}-图片_横屏_4KP ← 3840×2160
{uid}-图片_横屏_4KHP ← 4096×2160(DCI 4K)
{uid}-图片_横屏_8KP ← 7680×4320
{uid}-图片_横屏_1K ~ 9K ← 非标规格按像素区间
{uid}-图片_横屏_普通 ← 像素不足 1000
{uid}-图片_横屏_原图 ← 像素 ≥ 10000
{uid}-图片_竖屏_... ← 竖屏按同样规则(普通 / 1K~9K / 原图)
{uid}-图片_等比_... ← 等比(正方形)按同样规则
{uid}-图片_GIF ← 所有 GIF 图片
{uid}-图片_PSD ← 所有 PSD 文件
{uid}-图片_读取异常 ← 无法读取尺寸的图片
{uid}-图片_已忽略 ← 不支持格式的图片
视频
{uid}-视频_横屏_720P / 1080P / 2DKP / 2D5KP / 4KP / 4KHP / 8KP
{uid}-视频_横屏_UltraWide2KP / UltraWide3KP / UltraWide4KP
{uid}-视频_横屏_1k ~ 9k / 普通 / 原画质
{uid}-视频_竖屏_1k ~ 9k / 普通 / 原画质
{uid}-视频_等比_1k ~ 9k / 普通 / 原画质
{uid}-视频_横屏_GIF / 视频_竖屏_GIF / 视频_等比_GIF
读取异常 ← 无法读取分辨率的视频
已忽略 ← 不支持的视频格式
视频时长与分辨率通过内嵌
ffprobe.exe读取(处理时会临时释放,完成后自动删除)。
目录结构
├── main.go # 程序入口(扫描 → 过滤 → 图片/视频处理)
├── core/ # 核心逻辑:文件扫描、MIME 过滤、图片/视频分组与移动
├── util/ # 工具:MIME 识别、图片尺寸读取、ffprobe 封装、文件移动
├── vars/ # 全局状态 + 内嵌 ffprobe.exe(go:embed)
├── doc/ # 构建依赖(ffmpeg / upx 压缩包)
└── build.sh # 编译脚本(upx 压缩)
注意事项
- 默认使用移动模式,原文件会从源目录移走;同名文件跨磁盘时自动降级为复制 + 删除
- 每次运行生成独立的 UUID 目录,重复运行不会相互覆盖
- GIF 图片单独归入「图片_GIF」;GIF 视频按方向归入「视频_*_GIF」
- 视频处理依赖 Windows 平台的
ffprobe.exe(已内嵌),非 Windows 平台需自行调整
License
Apache 2.0