收起左侧

Navidrome批量创建及导入歌单

0
回复
265
查看
[ 复制链接 ]

1

主题

1

回帖

0

牛值

江湖小虾

  1. 歌单导入
    应用中心安装的Navidrome支持将歌曲目录中的m3u歌单导入自动识别导入

    image.png

    image.png

  2. 歌单生成脚本代码

    #!/bin/bash
    
    # 获取当前目录的绝对路径(解决符号链接问题)
    current_dir=$(pwd -P)
    
    # 遍历当前目录下的所有子文件夹
    for dir in */; do
        # 去除路径末尾的斜杠
        dir_name="${dir%/}"
    
        # 设置歌单名称(子文件夹名.m3u)
        playlist_name="${dir_name}.m3u"
    
        # 删除已存在的旧歌单
        rm -f "$playlist_name"
    
        # 查找该子目录下的音频文件(包含子目录)
        find "${current_dir}/${dir_name}" -type f \( \
            -iname "*.mp3"  -o \
            -iname "*.flac" -o \
            -iname "*.wav"  -o \
            -iname "*.ogg"  -o \
            -iname "*.m4a"  -o \
            -iname "*.aac"  -o \
            -iname "*.wma" \) \
            | sort --ignore-case \
            >> "$playlist_name"
    
        # 转换路径为UNIX格式(可选,解决Windows兼容问题)
        sed -i 's/\\/\//g' "$playlist_name"
    
        # 统计歌曲数量
        song_count=$(wc -l < "$playlist_name" 2>/dev/null)
    
        # 输出结果
        if [ "$song_count" -gt 0 ]; then
            echo "✅ 已生成歌单: ${playlist_name} (${song_count}首)"
            echo "  示例路径: $(head -1 "$playlist_name")"
        else
            rm -f "$playlist_name"
            echo "⚠️  跳过空文件夹: ${dir_name}"
        fi
    done
    
    echo "🎉 所有歌单生成完成!"
    

    假设目录结构为:

    MyMusic/
    **── Artist_A/
    **   **── song1.mp3
    **   **── song2.flac
    **── Artist_B/
    **   **── album.mp3
    **── EmptyFolder/
    

    将生成:

    Artist_A.m3u
    Artist_B.m3u
    

    特点:

    1. 每个子文件夹生成独立歌单
    2. 不包含子文件夹的子目录内容(-maxdepth 1
    3. 自动跳过空文件夹
    4. 显示每个歌单的歌曲数量
    5. 保留文件夹层级关系(例如 Artist_A/song1.mp3

    如果需要包含子文件夹的子目录内容(即递归搜索),只需删除 -maxdepth 1 参数即可。

  3. 使用方法

    将脚本命名为getplaylist_m3u.sh

    将脚本放置与歌曲最上层文件夹中

    如我这里为/vol3/1000/Music

    image.png

  4. 运行脚本

    使用ssh连接nas,获取root权限,进入/vol3/1000/Music

    chmod +x getplaylist_m3u.sh
    ./getplaylist_m3u.sh
    

    image.png

  5. 重启Navidrome即可

  6. 代码已编写,飞牛外链可直接下载 getplaylist_m3u.sh

收藏
送赞 1
分享

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则