小恶芯 发表于 2021-12-12 12:58

网易云在线缓存歌曲(.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

土豪链接:

小恶芯 发表于 2021-12-12 22:01

mzhsohu 发表于 2021-12-12 21:11
感谢分享~!
没看太明白,你这个无损的源文件是怎么来的,缓存???

网易云的在线听歌是先把源文件缓存到cache文件夹里并加密成.uc文件再网易云音乐里面解码后播放的,如果你在线听的就是无损的.flac格式通过ucToFlac.py的解密就可以了,而且如果在线听的是.mp3的格式,也就是非无损的其他音质,解密后的.flac依然可以播放的

小恶芯 发表于 2021-12-16 12:02

barnett2016 发表于 2021-12-15 22:27
uc文件中就标明了128这样码率。。所以代码中flac改成mp3更合理。大部分缓存都不是无损


我随便找的一个,异或之后能看到是flaC格式封装的,这个文件的metadata_block里标明的采样率是441kHZ,俺看很多封装格式都是flac的才默认转成flac的嗷:lol

老婆是加藤惠 发表于 2021-12-12 13:29

这个挺不错的,不过网易云无损很多都是假无损

诅咒者之魂 发表于 2021-12-12 13:49

感谢分享

plokij890 发表于 2021-12-12 13:49

感谢分享

SDU123 发表于 2021-12-12 14:02

感谢楼主分享

lrr0515 发表于 2021-12-12 14:48

运行之后没有信息

neo7415 发表于 2021-12-12 14:53

太棒了,感谢分享!

小恶芯 发表于 2021-12-12 15:09

lrr0515 发表于 2021-12-12 14:48
运行之后没有信息

把要转换的.uc文件和ucToFlac.py放在一个目录下,运行就可以了,网易云的缓存文件(.uc文件)在C:\Users\***(你的用户名)\AppData\Local\Netease\CloudMusic\Cache\Cache下

justforlkx 发表于 2021-12-12 15:11

感谢 真的很有用了

wwcc240 发表于 2021-12-12 16:11

感谢分享
页: [1] 2 3 4
查看完整版本: 网易云在线缓存歌曲(.uc文件)解码转换成无损格式python代码实现