Step-by-Step BPGconv Tutorial: Convert, Optimize, and Serve BPG Images
Overview
A concise guide to converting images to BPG (Better Portable Graphics) using BPGconv, optimizing file size/quality, and serving them on the web.
1. Install BPGconv and dependencies
- Linux/macOS: install libbpg tools or compile bpgenc/bpgdec from source.
- Windows: download prebuilt binaries or use WSL and follow Linux steps.
2. Convert images to BPG
- Basic command:
bpgenc input.png -o output.bpg
- Set quality (0–51, lower = better quality):
bpgenc -q 28 input.jpg -o output.bpg
- Preserve alpha (if supported):
bpgenc -a input.png -o output.bpg
3. Optimize size vs. quality
- Reduce quality for smaller files (try q=24–34 for web).
- Resize before encoding:
convert input.jpg -resize 1200x output-resized.jpgbpgenc -q 30 output-resized.jpg -o output.bpg
- Use chroma subsampling (4:2:0 default) to save more size: add
-f 0or consult encoder flags.
4. Batch processing
- Example shell loop:
for f in.jpg; do bpgenc -q 30 “\(f" -o "\){f%.*}.bpg”done
5. Convert back / preview
- Decode to PNG for preview:
bpgdec output.bpg -o preview.png
- Or use viewers that support BPG.
6. Serve on the web
- Use server-side detection to serve BPG to compatible browsers and fall back to WebP/PNG/JPEG for others.
- Example flow: check Accept header for “image/bpg” or use client-side feature-detection script. Serve .bpg when supported; otherwise, serve fallback image.
7. Automation & integration
- Add BPG conversion step to your image pipeline (CI, build scripts, or image CDN transform hooks).
- Generate multiple sizes and formats (BPG + WebP + JPEG) and use responsive
or srcset logic.
8. Troubleshooting & tips
- If colors look off, check color profile handling and ensure sRGB conversion before encoding.
- Compare file sizes/quality against WebP and AVIF; test visually.
- Keep fallbacks for old browsers and platforms.
Quick example commands
bpgenc -q 28 -a input.png -o image.bpgbpgdec image.bpg -o image.png
If you want, I can provide platform-specific install commands, a ready-to-run batch script for your environment, or an HTML snippet to serve BPG with fallbacks.