mp3格式专辑封面不能正确转换 #2

Open
opened 2025-02-18 19:57:48 +08:00 by mwy1992 · 10 comments

如果下载时选择“极高”音质,下载的ncm文件转换出来是mp3文件,但是没有封面图。
如使用老旧的(18年以前)其他人制作的转换工具转换是有封面图的。
如选择“超清母带”,下载后转换为flac格式,则会正确显示封面图,而旧的工具是不能显示的。
截图中文件结尾“新”代表使用ncmdump-go转换的文件,“旧”代表使用其他老旧工具转换的文件。
具体代码我无力分析,仅反馈我遇到的问题,希望能抽空修复。

如果下载时选择“极高”音质,下载的ncm文件转换出来是mp3文件,但是没有封面图。 如使用老旧的(18年以前)其他人制作的转换工具转换是有封面图的。 如选择“超清母带”,下载后转换为flac格式,则会正确显示封面图,而旧的工具是不能显示的。 截图中文件结尾“新”代表使用ncmdump-go转换的文件,“旧”代表使用其他老旧工具转换的文件。 具体代码我无力分析,仅反馈我遇到的问题,希望能抽空修复。
Owner

提供一下样本,上传到附件

提供一下样本,上传到附件
Contributor

我试了一下,使用 1.7.4 版本,“极高”音质的 mp3 有封面

[ncmdump-go]──[?]─ xxd testdata/You\ Raise\ Me\ Up\ \(2\).mp3| head -15
00000000: 4944 3303 0000 0025 4e68 5453 5345 0000  ID3....%NhTSSE..
00000010: 0020 0000 01fe ff00 4c00 6100 7600 6600  . ......L.a.v.f.
00000020: 3500 3800 2e00 3700 3600 2e00 3100 3000  5.8...7.6...1.0.
00000030: 3000 0000 5441 4c42 0000 000c 0000 0352  0...TALB.......R
00000040: 6f6d 616e 7469 7175 6500 5449 5432 0000  omantique.TIT2..
00000050: 0011 0000 0359 6f75 2052 6169 7365 204d  .....You Raise M
00000060: 6520 5570 0054 5045 3100 0000 1400 0003  e Up.TPE1.......
00000070: 5269 6368 6172 6420 436c 6179 6465 726d  Richard Clayderm
00000080: 616e 0054 504f 5300 0000 0800 0001 feff  an.TPOS.........
00000090: 0031 0000 0054 5243 4b00 0000 0a00 0001  .1...TRCK.......
000000a0: feff 0031 0032 0000 0041 5049 4300 0966  ...1.2...APIC..f
000000b0: bf00 0003 696d 6167 652f 706e 6700 0300  ....image/png...
000000c0: 8950 4e47 0d0a 1a0a 0000 000d 4948 4452  .PNG........IHDR
000000d0: 0000 0280 0000 0280 0806 0000 000c cdc9  ................
000000e0: 2300 0000 0662 4b47 4400 ff00 ff00 ffa0  #....bKGD.......
p ncm.mImageData$2 = {
  array = 0xc000180000 "\211PNG\r\n\032\n",
  len = 616114,
  cap = 616114
}
我试了一下,使用 1.7.4 版本,“极高”音质的 mp3 有封面 ``` [ncmdump-go]──[?]─ xxd testdata/You\ Raise\ Me\ Up\ \(2\).mp3| head -15 00000000: 4944 3303 0000 0025 4e68 5453 5345 0000 ID3....%NhTSSE.. 00000010: 0020 0000 01fe ff00 4c00 6100 7600 6600 . ......L.a.v.f. 00000020: 3500 3800 2e00 3700 3600 2e00 3100 3000 5.8...7.6...1.0. 00000030: 3000 0000 5441 4c42 0000 000c 0000 0352 0...TALB.......R 00000040: 6f6d 616e 7469 7175 6500 5449 5432 0000 omantique.TIT2.. 00000050: 0011 0000 0359 6f75 2052 6169 7365 204d .....You Raise M 00000060: 6520 5570 0054 5045 3100 0000 1400 0003 e Up.TPE1....... 00000070: 5269 6368 6172 6420 436c 6179 6465 726d Richard Clayderm 00000080: 616e 0054 504f 5300 0000 0800 0001 feff an.TPOS......... 00000090: 0031 0000 0054 5243 4b00 0000 0a00 0001 .1...TRCK....... 000000a0: feff 0031 0032 0000 0041 5049 4300 0966 ...1.2...APIC..f 000000b0: bf00 0003 696d 6167 652f 706e 6700 0300 ....image/png... 000000c0: 8950 4e47 0d0a 1a0a 0000 000d 4948 4452 .PNG........IHDR 000000d0: 0000 0280 0000 0280 0806 0000 000c cdc9 ................ 000000e0: 2300 0000 0662 4b47 4400 ff00 ff00 ffa0 #....bKGD....... ``` ``` p ncm.mImageData$2 = { array = 0xc000180000 "\211PNG\r\n\032\n", len = 616114, cap = 616114 } ```
Author

我用夸克网盘分享了「issue」,点击链接即可保存。打开「夸克APP」,无需下载在线播放视频,畅享原画5倍速,支持电视投屏。
链接:https://pan.quark.cn/s/771a1c4dcb4e
提取码:4YAt
文件太大附件传不上来,只能通过网盘了。

我用夸克网盘分享了「issue」,点击链接即可保存。打开「夸克APP」,无需下载在线播放视频,畅享原画5倍速,支持电视投屏。 链接:https://pan.quark.cn/s/771a1c4dcb4e 提取码:4YAt 文件太大附件传不上来,只能通过网盘了。
Author

我试了一下,使用 1.7.4 版本,“极高”音质的 mp3 有封面

[ncmdump-go]──[?]─ xxd testdata/You\ Raise\ Me\ Up\ \(2\).mp3| head -15
00000000: 4944 3303 0000 0025 4e68 5453 5345 0000  ID3....%NhTSSE..
00000010: 0020 0000 01fe ff00 4c00 6100 7600 6600  . ......L.a.v.f.
00000020: 3500 3800 2e00 3700 3600 2e00 3100 3000  5.8...7.6...1.0.
00000030: 3000 0000 5441 4c42 0000 000c 0000 0352  0...TALB.......R
00000040: 6f6d 616e 7469 7175 6500 5449 5432 0000  omantique.TIT2..
00000050: 0011 0000 0359 6f75 2052 6169 7365 204d  .....You Raise M
00000060: 6520 5570 0054 5045 3100 0000 1400 0003  e Up.TPE1.......
00000070: 5269 6368 6172 6420 436c 6179 6465 726d  Richard Clayderm
00000080: 616e 0054 504f 5300 0000 0800 0001 feff  an.TPOS.........
00000090: 0031 0000 0054 5243 4b00 0000 0a00 0001  .1...TRCK.......
000000a0: feff 0031 0032 0000 0041 5049 4300 0966  ...1.2...APIC..f
000000b0: bf00 0003 696d 6167 652f 706e 6700 0300  ....image/png...
000000c0: 8950 4e47 0d0a 1a0a 0000 000d 4948 4452  .PNG........IHDR
000000d0: 0000 0280 0000 0280 0806 0000 000c cdc9  ................
000000e0: 2300 0000 0662 4b47 4400 ff00 ff00 ffa0  #....bKGD.......
p ncm.mImageData$2 = {
  array = 0xc000180000 "\211PNG\r\n\032\n",
  len = 616114,
  cap = 616114
}

我不会测试,我让其他人测试了,给我的回复是“确实是里面有封面数据但是写进去无效”

> 我试了一下,使用 1.7.4 版本,“极高”音质的 mp3 有封面 > ``` > [ncmdump-go]──[?]─ xxd testdata/You\ Raise\ Me\ Up\ \(2\).mp3| head -15 > 00000000: 4944 3303 0000 0025 4e68 5453 5345 0000 ID3....%NhTSSE.. > 00000010: 0020 0000 01fe ff00 4c00 6100 7600 6600 . ......L.a.v.f. > 00000020: 3500 3800 2e00 3700 3600 2e00 3100 3000 5.8...7.6...1.0. > 00000030: 3000 0000 5441 4c42 0000 000c 0000 0352 0...TALB.......R > 00000040: 6f6d 616e 7469 7175 6500 5449 5432 0000 omantique.TIT2.. > 00000050: 0011 0000 0359 6f75 2052 6169 7365 204d .....You Raise M > 00000060: 6520 5570 0054 5045 3100 0000 1400 0003 e Up.TPE1....... > 00000070: 5269 6368 6172 6420 436c 6179 6465 726d Richard Clayderm > 00000080: 616e 0054 504f 5300 0000 0800 0001 feff an.TPOS......... > 00000090: 0031 0000 0054 5243 4b00 0000 0a00 0001 .1...TRCK....... > 000000a0: feff 0031 0032 0000 0041 5049 4300 0966 ...1.2...APIC..f > 000000b0: bf00 0003 696d 6167 652f 706e 6700 0300 ....image/png... > 000000c0: 8950 4e47 0d0a 1a0a 0000 000d 4948 4452 .PNG........IHDR > 000000d0: 0000 0280 0000 0280 0806 0000 000c cdc9 ................ > 000000e0: 2300 0000 0662 4b47 4400 ff00 ff00 ffa0 #....bKGD....... > ``` > ``` > p ncm.mImageData$2 = { > array = 0xc000180000 "\211PNG\r\n\032\n", > len = 616114, > cap = 616114 > } > ``` 我不会测试,我让其他人测试了,给我的回复是“确实是里面有封面数据但是写进去无效”
Owner

C++版本试过吗?

C++版本试过吗?
Author

C++版本试过吗?
gui版本吗?结果是一样的,mp3没有封面,flac正常

> C++版本试过吗? gui版本吗?结果是一样的,mp3没有封面,flac正常
Owner

C++版本试过吗?
gui版本吗?结果是一样的,mp3没有封面,flac正常
不是,我GitHub的原始版本

> > C++版本试过吗? > gui版本吗?结果是一样的,mp3没有封面,flac正常 不是,我GitHub的原始版本
Author

C++版本试过吗?
抱歉,弄错了,c++版本刚刚试过,转换出来是正常的

> C++版本试过吗? 抱歉,弄错了,c++版本刚刚试过,转换出来是正常的
Owner

C++版本试过吗?
抱歉,弄错了,c++版本刚刚试过,转换出来是正常的
元数据那块还是有点问题的,go下面没有 C/C++ 那样的强大的taglib,这块之后再想想办法吧

> > C++版本试过吗? > 抱歉,弄错了,c++版本刚刚试过,转换出来是正常的 元数据那块还是有点问题的,go下面没有 C/C++ 那样的强大的taglib,这块之后再想想办法吧
Author

C++版本试过吗?
抱歉,弄错了,c++版本刚刚试过,转换出来是正常的
元数据那块还是有点问题的,go下面没有 C/C++ 那样的强大的taglib,这块之后再想想办法吧
好的,谢谢大佬

> > > C++版本试过吗? > > 抱歉,弄错了,c++版本刚刚试过,转换出来是正常的 > 元数据那块还是有点问题的,go下面没有 C/C++ 那样的强大的taglib,这块之后再想想办法吧 好的,谢谢大佬
Sign in to join this conversation.
No Label
No Milestone
No project
3 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: taurusxin/ncmdump-go#2
No description provided.