问题现象描述
在使用MediaTomb搭建家庭媒体服务器时,发现一个典型问题:音乐文件夹中的专辑封面(cover.jpg等)被自动归类到照片库中。当用户浏览照片收藏时,会看到大量专辑封面混杂其中,严重影响分类体验。
技术背景分析
MediaTomb默认会将所有图像文件(包括内嵌在音乐文件中的封面)统一索引到照片分类。这是因为它基于文件扩展名进行识别,而不考虑文件所在路径的业务语义。
配置文件解决方案
修改/etc/mediatomb/config.xml
,为不同路径设置不同的处理规则:
<import scripting="yes">
<autoscan mode="inotify">
<directory path="/media/music"
recursive="yes"
media-type="music"
metadata-policy="none"/>
<directory path="/media/photos"
recursive="yes"
media-type="photos"/>
</autoscan>
</import>
进阶:自定义脚本过滤
对于更复杂的需求,可以使用JavaScript脚本控制导入行为。创建custom.js
:
function importObj(obj) {
if (obj.location.match(/\/music\//)) {
if (obj.metadata['dc:title']) {
// 识别为音乐文件
obj.metadata['upnp:class'] = 'object.item.audioItem';
} else if (obj.mimetype.startsWith('image/')) {
// 阻止音乐目录下的图片被分类
return null;
}
}
return obj;
}
文件系统层解决方案
在音乐文件夹中添加.nomedia
文件可以阻止图片被索引:
touch /media/music/.nomedia
效果验证方法
重启服务后,通过UPnP客户端检查分类:
systemctl restart mediatomb
upnp-client browse http://localhost:49152/Photo