Merge program for CD and DVD images
Posted: Thu Feb 16, 2012 3:13 am
CDGroup merges related disc images to reduce combined file size.
This program takes a directory of images, processing them to remove redundancies to save space. It does this in four stages:
Usage: Requires java to run. Can be used as supplied in three ways:
CDGroup v0.4.2
This program takes a directory of images, processing them to remove redundancies to save space. It does this in four stages:
- Stage 1: Split CD images (2352 byte/sector images) into their component parts. Model non-data parts where possible (ecc, edc, etc)
- Stage 2: Group each data sector size to remove repeated aligned data (de-duplicate sectors)
- Stage 3: Diff grouped files to remove repeated non-aligned data
- Stage 4: Compress resulting files
- Stage 1 takes advantage of redundancies in the CD format
- Stage 2 takes advantage of aligned redunduncies across related images
- Stage 3 takes advantage of non-aligned redunduncies across related images
- Stage 4 takes advantage of uncompressed data in the images
- Each stage acts on the output of the previous stage
- Reduces storage footprint by de-duplication of sectors (unique sectors are only stored once)
- CDs, DVDs and Blu-Rays can be merged (any .iso with 2048 bytes/sector, and CDs .bin with 2352 bytes/sector)
- Smart handling of 2352 byte/sector CD images (recognises audio, M0, M1, M2, M2F1, M2F2 sector types. Removes non-data portions of sectors such as ecc if it can be regenerated losslessly)
- A mixture of 2352 and 2048 byte/sector images can be merged together
- Identical input images should result in identical merged files
- Images represented within the merged files can be renamed without unmerging (names stored in a text file *.hsa)
- Supports merging combined image size of up to 4TiB
- External diff support (jojodiff)
- External compressor / decompressor support (7z)
- Settings chosen to try and balance size reduction with practical time / hardware constraints
Usage: Requires java to run. Can be used as supplied in three ways:
- Use jar files directly
java -jar CDGroup.jar dir_to_merge
java -jar unCDGroup.jar hsa_file - Use bat files (windows)
CDGroup.bat dir_to_merge
unCDGroup.bat hsa_file - Use sh files (linux)
CDGroup.sh dir_to_merge
unCDGroup.sh hsa_file
CDGroup v0.4.2

