fix: 未知 MIME 文件不再被移入忽略目录

- scanner: 新增 IsExplicitMediaMime 判断明确媒体 MIME
- organize: 仅 video/audio MIME 文件移入异常/忽略目录
- octet-stream/空 MIME 且 ffprobe 无法确认的文件原地忽略,不移动
This commit is contained in:
2025-04-10 21:05:14 +08:00
parent c266da2858
commit 39fe02b424
2 changed files with 19 additions and 3 deletions
+14 -3
View File
@@ -150,13 +150,18 @@ func (o *Organizer) ProcessMedia(media []scanner.File) {
for _, f := range media {
res, err := probe.ProbeMediaFile(o.ffprobePath, f.Path)
if err != nil {
// 仅 MIME 明确为视频/音频的文件才移入异常/忽略目录;
// octet-stream/空 MIME 且 ffprobe 无法确认的原地忽略,不移动
if strings.HasPrefix(f.Mime, "video/") {
fail++
o.add(f, dirVideoErr)
fmt.Printf("=== 异常视频: %s \n", f.Path)
} else {
} else if scanner.IsExplicitMediaMime(f.Mime) {
ignore++
o.add(f, dirVideoIgnored)
} else {
ignore++
fmt.Printf("=== 无法确认的非媒体文件, 原地忽略: %s \n", f.Path)
}
continue
}
@@ -170,8 +175,14 @@ func (o *Organizer) ProcessMedia(media []scanner.File) {
o.record(f, "audio", res)
o.add(f, dirAudio)
default:
ignore++
o.add(f, dirVideoIgnored)
// ffprobe 无音视频流:MIME 明确为媒体的归入忽略目录,其余原地不动
if scanner.IsExplicitMediaMime(f.Mime) {
ignore++
o.add(f, dirVideoIgnored)
} else {
ignore++
fmt.Printf("=== 无法确认的非媒体文件, 原地忽略: %s \n", f.Path)
}
}
}
fmt.Printf("=== 媒体处理完毕,视频: %d, 音频: %d, 读取异常: %d, 忽略: %d \n\n", video, audio, fail, ignore)