手头有一个文件,名字叫 dragonballsuper_019-2.mkv。看到它时,我第一反应是:这明显是《龙珠超》的一话资源,十有八九是第19话,放进任何播放器都能直接看。可当我把它丢进 Jellyfin 电视剧库,扫描完成后,它却出现在“无匹配”列表里。后来我又试了 Plex,结果更离谱,服务器给它的编号是第2话,还把整个系列年份也识别错了。
这种“文件名写得清清楚楚,媒体库就是不认”的情况,在本地番剧归档里相当常见。只要是从不同渠道攒下来的片子,总会碰到类似的半英文半数字文件名:有的来自自动整理脚本,有的来自海外分发平台的分段命名,还有的是以前手动保存时顺手加的序号。问题不在于能不能播放,而在于你想建一个长期可用的媒体库时,这种文件名会让元数据刮削完全失效。这篇文章就以 dragonballsuper_019-2 为标本,把我处理这类文件时的完整思路写一遍:怎么拆字段、怎么查真实片源内容、怎么决定要不要合并、最终怎么命名放进媒体库,以及在《龙珠超》这种跨TV和剧场版的大IP里,有哪些特别的排序坑。
1. 从文件名本身能拆出什么:先别急着怪媒体库
1.1 逐段拆解:dragonballsuper / 019 / -2 各自在说什么
很多人看到“dragonballsuper_019-2”会觉得信息量已经很充足了,但其实这个命名能提供给媒体库的信息非常有限。把它拆开看:
| 字段 | 字面含义 | 媒体库能用到吗 |
|---|---|---|
dragonballsuper |
系列名,等于 Dragon Ball Super,只是去掉了空格、统一成小写 | 勉强可以用于“猜测剧集系列”,但完全无法保证唯一性 |
019 |
最常见的理解是第19话,也可能是某种下载列表中的排序编号 | 没有上下文时,不能确定这是 Episode 019 还是第19批下载 |
-2 |
最模糊的部分:可能是分卷第二部分、修正版本v2、某个番组列表的第二条 | 基本上只会干扰解析器,让它把 Episode 算成 2 |
这种命名的典型特征,是全文件只有一个“人类可读的模糊信息”,缺少媒体库真正需要的结构化信息:系列名称、季度/年份、集数编号,这三样缺一不可。
为什么文件名里会出现三位数字 019 而不是 19?大概率是为了保证排序正确。在文件管理器里按字符串排序时,019 能排在 020 前面,而如果一位一位比,19 会排在 2 后面,因为字典序先比第一位。当年做批量下载脚本或者命名站的人,为了不让剧集顺序乱掉,会刻意做三位补零,这本身没问题,但它是个“排序规则”,不是“元数据规则”。
1.2 这样命名的片子,十有八九来自自动化环节
老实说,真人手动保存《龙珠超》时,很少有人会打出一串纯小写加下划线的 dragonballsuper_019-2,顶多是“龙珠超 第19话”或者“DB Super 19”。这种全英文、无空格、带补零的形态
