From Hydrogenaudio Knowledgebase
MP3packer is a program which can rearrange the data within an MP3 to fulfill specific goals. By default, the program generates the smallest MP3 possible (with the least padding). However, many people also use it to turn VBR files into CBR for use with players which don't support VBR.
It can save space by storing frame data in the smallest possible frame. Usually MP3s are already stored in the most efficient way possible. However, for high-bitrate CBR files (like -b 320) there can be a lot of wasted space.
- Can make CBR -b 320 files up to 10 % smaller losslessly (depending on the LAME version used)
- Squeezes out all the padding it can from any MP3 (Will not produce a larger file, unless you use the -b switch or something goes wrong)
- Writes valid LAME Xing header for proper VBR seeking
- Provides the ability to losslessly turn VBR files into larger CBR files to humor players which can't handle VBR
- Includes a brute-force compression optimization option to further compress files
- Supports Unicode file names and paths
- Supports encoding an entire directory of files
- Multi-core support
- 64-bit support (precompiled Windows executable builds for 32 and 64 bit available)
- There is a limitation in that it cannot repack Freeformat MP3s
 How It Works
-z switch: The default operation is to choose the minimum frame size to fit the data and will also minimize the data size. This is completely lossless, and is equivalent to decompressing a ZIP file and recompressing with a more aggressive setting. It attempts to minimize the data by doing a brute-force search for the optimal parameters, so it takes much longer than it would normally.
-b switch: Setting the -b switch will set the minimum bitrate for each frame. Using this switch will make more room in small frames for other frames' data, so it will also generally reduce the maximum bitrate as well. There is no direct control over the maximum bitrate, since there may simply be too much data to fit into a smaller frame. The exact format of the parameter is a bit odd: if the bitrate given is a valid frame bitrate, the minimum bitrate is dithered between padded and unpadded frames. If the bitrate is one more than a valid frame bitrate, then the minimum is a padded frame of bitrate one less than the given. Anything else is rounded up to the next highest unpadded bitrate.
-r, -R switches: After mp3packer has chosen an output bitrate for a given frame, there is generally a range of positions to put the actual data. The data can be packed as much as possible into the previous frame, or it can be set to fill up the current frame as much as possible. Usually it is best to put as much as possible into previous frames, since this will maximize the space available for any subsequent frames. However, if the minimum bitrate is adds enough padding, there is no reason to cram the data into previous frames; it's just going to move around the padding. The default is to pack as far behind as possible if the -b switch is not given, since there is usually no problem filling up the frames. If a minimum bitrate is specified then the frames are pushed as far up as possible without affecting any of the following frames. The -r switch will attempt to always push data as far up as possible, even if a minimum bitrate is not specified. Conversely, the -R switch will push the data into previous frames as possible
 Operating Systems
- Platforms with an OCaml port
Created by Chris Close (psyllium) WinMP3Packer is a graphical front-end to the mp3packer.exe program. It is a Windows only program that requires Microsoft .NET Runtime version 2.0 and has been tested on Windows 2000 & XP (XP SP2).
The latest version allows the user to upgrade the mp3packer version by adding the mp3packer.exe into main WinMP3Packer directory.
- The latest release is 1.0.18-alpha (13-06-2007)