使用Python批量将 .ncm 格式的音频文件转换为 .mp3 格式

186 阅读1分钟

【Python 实战】---- 使用Python批量将 .ncm 格式的音频文件转换为 .mp3 格式

1. 前言

要将 .ncm 格式的音频文件转换为 .mp3 格式,可以使用 ncmdump 工具。

2. 安装 ncmdump

ncmdump 是一个专门用于解密 .ncm 文件的工具。首先需要安装它:

pip install ncmdump

3. 实现 .ncm 转 .mp3

将 .ncm 文件转换为 .mp3 文件:

import os
from ncmdump import dump

def convert_ncm_to_mp3(input_file, output_file):
    # 解密 .ncm 文件
    dump(input_file, output_file)

if __name__ == '__main__':
    input_file = '周传雄 - 青花.ncm'
    output_file = '周传雄 - 青花.mp3'
    convert_ncm_to_mp3(input_file, output_file)
    print(f'转换完成: {output_file}')

4. 执行过程

输入图片说明

5. 执行结果

输入图片说明

6. 解决警告

RuntimeWarning: Couldn't find ffmpeg
or avconv - defaulting to ffmpeg, but may not work
  warn("Couldn't find ffmpeg or avconv - defaulting to ffmpeg, but may not work", Run
timeWarning)

这个警告表明你的系统中没有正确安装或配置ffmpeg。ncmdump 库依赖于ffmpeg来处理音频文件转换。

7. 安装 ffmpeg

choco install ffmpeg

8. 安装完成配置 ffmpeg 的环境变量

输入图片说明 输入图片说明

9. 环境变量配置

输入图片说明

10. 警告消失

输入图片说明

11. 批量转换

import os
from ncmdump import dump

def batch_convert_ncm_to_mp3(input_folder, output_folder):
    # 遍历输入文件夹中的所有 .ncm 文件
    for filename in os.listdir(input_folder):
        if filename.endswith(".ncm"):
            input_file = os.path.join(input_folder, filename)
            output_file = os.path.join(output_folder, filename.replace(".ncm", ".mp3"))
            # 转换 .ncm 文件为 .mp3
            dump(input_file, output_folder)
if __name__ == '__main__':
    # 示例:批量将 .ncm 文件转换为 .mp3 文件
    input_folder = "input_folder"
    output_folder = "output_folder"
    batch_convert_ncm_to_mp3(input_folder, output_folder)