网易云在线缓存歌曲(.uc文件)解码转换成无损格式python代码实现
网易云在线缓存歌曲(.uc文件)解码转换成无损格式(.flac)用python实现批量转换
感谢Nattevak提供思路:https://www.52pojie.cn/forum.php?mod=viewthread&tid=1556228&highlight=%CD%F8%D2%D7%D4%C6
ucToFlac.py代码如下
```
import os
def getAllFiles():
#返回当前目录下的所有文件名
path = os.getcwd()
return
def isUcExtension(file):
#判断是否是.uc文件
if len(file) >= 4 and file[-3:] == '.uc':
return True
else:
return False
def ucToFlac(file):
#将当前文件按字节与0xA3进行异或,并对文件格式进行修改
fSource = open(file, 'rb')
fOut = open(file[:-3] + '.flac','wb')
content = bytearray(fSource.read())
for index in range(len(content)):
content ^= 0xA3
fOut.write(content)
fSource.close()
fOut.close()
#函数调用:将当前目录下所有的.uc文件自动解码成.flac文件
files = getAllFiles()
for file in files:
if isUcExtension(file):
ucToFlac(file)
print(file[:-3] + '.flac' + '转换成功')
```
ucToFlac.py提取链接:
链接:https://pan.baidu.com/s/1lsQBuMN1xmiK-DFB4Z4C9w
提取码:52pj
土豪链接: mzhsohu 发表于 2021-12-12 21:11
感谢分享~!
没看太明白,你这个无损的源文件是怎么来的,缓存???
网易云的在线听歌是先把源文件缓存到cache文件夹里并加密成.uc文件再网易云音乐里面解码后播放的,如果你在线听的就是无损的.flac格式通过ucToFlac.py的解密就可以了,而且如果在线听的是.mp3的格式,也就是非无损的其他音质,解密后的.flac依然可以播放的 barnett2016 发表于 2021-12-15 22:27
uc文件中就标明了128这样码率。。所以代码中flac改成mp3更合理。大部分缓存都不是无损
我随便找的一个,异或之后能看到是flaC格式封装的,这个文件的metadata_block里标明的采样率是441kHZ,俺看很多封装格式都是flac的才默认转成flac的嗷:lol 这个挺不错的,不过网易云无损很多都是假无损 感谢分享 感谢分享 感谢楼主分享 运行之后没有信息 太棒了,感谢分享! lrr0515 发表于 2021-12-12 14:48
运行之后没有信息
把要转换的.uc文件和ucToFlac.py放在一个目录下,运行就可以了,网易云的缓存文件(.uc文件)在C:\Users\***(你的用户名)\AppData\Local\Netease\CloudMusic\Cache\Cache下 感谢 真的很有用了 感谢分享