Specialized format converter tools for MP3 players.
This program converts audio, images, text, and videos to device-specific formats for optimal playback and quality. Many converters are already built in converters, but you may need to create your own converter if you want optimal playback for a specific device.
A limiting criteria for device selecting is necessary to prevent redundancy.
mp3c targets constrained media devices where content must be preprocessed into the device's preferred viewing orientation and resolution. Devices that already provide robust rotation, scaling, zooming, or cropping functionality are generally out of scope, though some exceptions may apply when it makes sense. We aim to avoid writing multi-case operations and instead streamline into one consistent pipeline.
- If both portrait and orientations for an image or video display correctly, choose the device's screen orientation (i.e., portrait player receives a portrait image, even if a landscape image work, too).
- If rotation is needed or ambiguous, use the device's preferred rotation for the content. This can be determined by playing a video, or by viewing an image which has the opposite orientation of the device's screen. Most ATJ devices prefer counter-clockwise rotation, while most SL devices prefer clockwise rotation, but the rule is not always true, especially for landscape devices. If the device has a square screen, do not rotate. If intended rotation is entirely ambiguous (i.e., landscape fixed-size players), clockwise rotation is preferred.
- Always ensure the content fills the entire screen (crop).
A Dockerfile is bundled for dependency management. docker.sh can be used to
build the image and start the conversion process. The working folder is shared
with the docker container.
./docker.sh build: Only needs to be run once../docker.sh run: Enters interactive shell with dependencies installed../docker.sh clean: Removes the container.