Compresses images and audio in Anki .apkg files to reduce the overall file size.
anki-compressor
can be installed with Pip, but it requires Pydub and Pillow which have native dependencies that need to be installed. You'll need to include support for libvorbis
in the audio library, since all audio is converted to ogg
and all images are converted to jpg
.
Once you've installed those dependencies, run pip install anki-compressor
to install the command line script.
usage: anki-compressor [-h] -i INPUT [-o OUTPUT] [-q QUALITY] [-b BITRATE]
Compress Anki .apkg file size
optional arguments:
-h, --help show this help message and exit
-i INPUT, --input INPUT
Input .apkg file to compress
-o OUTPUT, --output OUTPUT
Output file to write, defaults to MIN_<INPUT>
-q QUALITY, --quality QUALITY
Quality value for image compression (0-100), defaults to 50
-b BITRATE, --bitrate BITRATE
ffmpeg-compliant bitrate value for audio compression, defaults to 48k
-t {jpg,jpeg,png,tif,tiff,gif,webp}, --image_type {jpg,jpeg,png,tif,tiff,gif,webp}
Filetype for image compression, defaults to jpeg
Here's an example of compressing a file input.apkg
and writing the output to output.apkg
:
anki-compressor -i input.apkg -o output.apkg -q 50 -b 64k -t jpeg
-i
: Specifies the input file and is required-o
: Output file name, defaults toMIN_<INPUT>
-q
: Image quality on a scale of 1-100 supplied to Pillow's image processing, defaults to 50-b
: Bitrate for audio output, defaults to '48k'-t
: Filetype for image compression, defaults to jpeg