Skip to main content

iDrive tools for packing and unpacking BMW backups

Project description

Tools for managing BMW iDrive music backups. There are two tools included in this package.

Installation

These utilities can be installed using pip.

pip install idrivetools

bmwunpack

This takes a BMW backup and converts everything to regular media files.

Typical arguments contain the source and destination folders.

Usage

bmwunpack BMWData unpacked

bmwpack

This is the opposite of bmwunpack in that it will take a hierarchy of folders and create a BMW backup that can be restored back into the iDrive system

Usage

bmwpack unpacked BMWData

Notes

A typical BMW backup has a single BMWData top folder, a Music sub-folder, USB drive name sub-folders below that and then the actual media files themselves.

There are several metadata files that are required by the backup. These files are calculated by bmwpack and added automatically. Without these metadata files, the backup will not be recognised by the iDrive system.

An example backup file structure.

BMWData
+ Music
  + USB1
    + Media folder 1
      + file1.mp3
      + file2.mp3
      + file3.mp3
      + ...
    + Media folder 2
      + file4.mp3
      + file5.mp3
      + ...
  + USB2
    + Media folder 1
      + file1.mp3
      + file2.mp3
      + file3.mp3
      + ...
    + Media folder 2
      + file4.mp3
      + file5.mp3
      + ...
  + data_1
  + data_1_count
  + info
+ BMWBackup.ver

There are several file types that are supported by this script. I suspect there are more file types that are supported by the iDrive system. These are the ones I have come across so far and their “encrypted” extensions:

Media files

  • MP3 (BR4, BR28)

  • MP4 (BR3, BR27)

  • AAC (BR25)

  • FLAC (BR48)

  • WMA (BR5, BR29)

  • JPG (BR67)

  • BMWP (BR30) - A playlist file

Playlist Support

The BMWP playlist file is a plain text file that contains a list of absolute paths located on the iDrive system itself. They start from the USB drive name going forwards with a UNIX file format name (forward slashes). They typically look like this:

/USB1/CAKE - Pressure Chief/01 - CAKE - Wheels.mp3
/USB1/CAKE - Pressure Chief/02 - CAKE - No Phone.mp3
/USB1/CAKE - Pressure Chief/03 - CAKE - Take It All Away.mp3
/USB1/CAKE - Pressure Chief/04 - CAKE - Dime.mp3
/USB1/CAKE - Pressure Chief/05 - CAKE - Carbon Monoxide.mp3
/USB1/CAKE - Pressure Chief/06 - CAKE - The Guitar Man.mp3
/USB1/CAKE - Pressure Chief/07 - CAKE - Waiting.mp3
/USB1/CAKE - Pressure Chief/08 - CAKE - Baskets.mp3
/USB1/CAKE - Pressure Chief/09 - CAKE - End of the Movie.mp3
/USB1/CAKE - Pressure Chief/10 - CAKE - Palm of Your Hand.mp3
/USB1/CAKE - Pressure Chief/11 - CAKE - Tougher Than It Is.mp3

These can be edited to keep the same absolute path. They are included in the _Playlists folder.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

idrivetools-0.1.21.tar.gz (7.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

idrivetools-0.1.21-py3-none-any.whl (10.3 kB view details)

Uploaded Python 3

File details

Details for the file idrivetools-0.1.21.tar.gz.

File metadata

  • Download URL: idrivetools-0.1.21.tar.gz
  • Upload date:
  • Size: 7.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.0.2 CPython/2.7.17 Linux/5.4.0-53-generic

File hashes

Hashes for idrivetools-0.1.21.tar.gz
Algorithm Hash digest
SHA256 a7619f9f5b6f40974357b5e3b47314544692768f9390c275b92ce2e555b2051c
MD5 b6dab172caa3cb6567c75a17b4ab8fc6
BLAKE2b-256 e7d7280aa2bb991f235b87774adccf0d2f246df0b5be02fa909e7041df84bde1

See more details on using hashes here.

File details

Details for the file idrivetools-0.1.21-py3-none-any.whl.

File metadata

  • Download URL: idrivetools-0.1.21-py3-none-any.whl
  • Upload date:
  • Size: 10.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.0.2 CPython/2.7.17 Linux/5.4.0-53-generic

File hashes

Hashes for idrivetools-0.1.21-py3-none-any.whl
Algorithm Hash digest
SHA256 d51c8633be3a237044e43615c1faf29ce1ad2c562061c6e23ce4b8703400fd18
MD5 976fbe8936195b08b35d72b75cb2feb7
BLAKE2b-256 decd1269a73e11ab4cb78309cc2469b04a3f2566edeab6da34120975e7607653

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page