No description
Find a file
Gary Allen Vollink 197cac3183 Files split
2021-09-22 23:02:45 -04:00
musicdb-dump.pl Files split 2021-09-22 23:02:45 -04:00
Offsets.pm Files split 2021-09-22 23:02:45 -04:00
README.md Update README.md - typo 2021-08-01 22:48:10 +00:00
write_datablocks.pl Files split 2021-09-22 23:02:45 -04:00

MusicDB-POC

Perl program that will parse an iTunes itl OR Apple Music musicdb format file into a dump of the raw data that has been identified.

This doesn't do anything 'useful' with the output, and ends up dumping a HUGE amount of data to the disk.

Use

./musicdb-dump.pl --key xxxx FILENAME.musicdb

Will produce files: ./FILENAME.musicdb.dump ./FILENAME.musicdb.out

Perl Requires

Crypt::Cipher (this has the AES Decryption needed). Compress::Zlib (this uncompresses the library).

If you don't know how to do/get this, you probably just want to translate what I've written to the language you actually want.

User Requires

Apple's AES key for iTunes and MusicDB. Other projects have this easily available, but I self-host and won't risk publishing it.

Structural

This is written in a way that forces Perl to read the entire file, unencrypted and uncompressed fully into memory before parsing beyond the initial envelope header. This is not how I would do this for 'production' use, but creating a way to stream it a few sections at a time is something I didn't have time to do for this sub-project.

Project HomePages

This is the program that I have used to create the following two web-pages that list the internal file formats of iTunes .itl files and Apple Music .musicdb files.

https://www.home.vollink.com/gary/playlister/ituneslib.html

https://www.home.vollink.com/gary/playlister/musicdb.html

Long term, this will be part of the PlayLister project, which currently reads iTunes XML files and produces m3u playlists from that.

https://www.home.vollink.com/gary/playlister/