MediaTomb音乐文件夹封面图误入照片库问题:如何按路径隔离媒体类型


阅读 8 次

问题现象描述

在使用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