使用NCM Dump php版本解锁网易云加密黑胶音乐(支持输出flac,mp3)
用过网易云音乐的小伙伴们应该都知道网易云最高品质是“黑胶音质”,和QQ音乐的SQ品质一样,音频源文件是经过官方加密的,你只能在各家的平台进行播放,比如网易云就是ncm加密格式,于是便出现了NCM Dump这个概念,最近我的朋友安杰对原版进行了优化,我测试下来效果很好,也协助指正了一些BUG。
针对原项目(ncmdump)进行了修改完善 在其原有代码基础上修复并增加了一些功能NCM Dump
针对原项目(ncmdump)进行了修改完善 在其原有代码基础上修复并增加了一些功能:
[add] 批量Dump
[fix] 玄学报错(缺少ogg3库引入)
[fix] flac格式无法写入封面图片
[add] mp3,flac格式写入歌曲元数据(歌曲名,艺术家/音乐家,专辑名)
[优化] 返回机制从echo改为return,class类库中终于不再直接输出内容
[优化] 更新了getid3类库
需要的拓展/需要开启的函数/依赖软件
- php_openssl (不是很清楚 应该是用于解密)
- php_exif (操作图像文件)
- shell_exec (getid3库操作metaflac)
- exec (用于操作文件)
- metaflac (用于写入flac格式元数据 在CLI安装 yum install flac -y / apt install flac -y) (感谢倾丞(Jochen)指出此处描述错误 包名为flac而非先前版本的metaflac)
下面将进行纯php环境与宝塔面板两种情况的使用说明(当然,因为我懒,所以说纯php环境基本在划水)
准备工作
由于使用该程序需要开启一些危险的php函数,如果你是生产模式服务器运行该程序,建议安装另一个版本的PHP,比如我这里就选择了PHP7.0
我的服务器环境 Linux CentOS 7.9.2009 x86_64
一.纯CLI+PHP环境操作(宝塔面板请直接翻至二)
这里以部署在 /home 目录为例
从Github仓库拉取项目
或者
如果上面的命令卡在连接到host的话可以 Ctrl + C 后尝试下面的几条命令
或者
提示拉取成功后ls列出全部文件与目录
使用vi编辑器编辑dump.php,当然你要是有vim编辑器也可以
如果你对vi编辑器操作存在疑惑,可以参考这篇文章
输入“a”进入编辑模式,比如这里修改dump后的ncm文件输出文件夹名称为 ncm_flac (若默认可直接忽略这几步)
按ESC退出编辑模式
php_openssl 拓展一般都会有
php_exif 拓展一般都会有
开启禁用的两个函数
在对应php安装目录下的ect文件夹中找到php.ini,查找字符“disable_functions”在这个配置项内删去shell_exe 与 exec
Tip:请检查您的PHP-CLI版本是否为您安装拓展开启函数的版本(若您只有一个PHP版本可忽略)
可以参考这篇文章
最后一步安装metaflac
这里有一段小插曲~
一开始安杰给我的metaflac包名是metaflac,然后我就算更换EPEL也是无法找到软件包,一番周折下来发现metaflac的软件包名居然是flac,哭叽叽——————————
至此,准备工作全部完整,请转至 三.食用方法
二.宝塔面板+PHP环境(面向小白的保姆级教程)
首先从Github下载源码压缩包上传至服务器 /home 目录
若您需要修改批量输出文件夹则编辑dump.php(若默认可无视这一步)
检查PHP命令行版本(PHP-CLI版本)是否为你需要运行的php版本
在 php管理>禁用函数 中删去shell_exec与exec
php_openssl,exec一般无需手动安装
安装metaflac
至此,准备工作全部完成
三.使用方法
单文件dump
批量dump(文件夹内所有歌曲)
需手动修改PHP文件中的输入NCM路径,输出NCM路径,输出dump后文件路径
我出现error是因为程序没有自动创建文件夹,新版本会解决这个bug的,只需要手动创建好文件夹即可
当看到Successfully dumped说明运行成功了,在output目录或你设置的dump目录下可以找到flac或mp3格式的音频文件,只需要下载就可以播放啦!
虽然网易云音乐黑胶品质一般也只是 44.1Khz/48Khz 16bits 320kbps,但是如果你对音质需求没有这么高,用普通耳机播放的话还是完全能听的。
当然,像我这个HIFI爱好者当然是喜欢更棒的音源的
撰写评论