Perbandingan encoder AVIF 2025 — SVT‑AV1 / libaom / rav1e (kualitas & kecepatan)

Diterbitkan: 21 Sep 2025 · Waktu baca: 2 mnt · Redaksi Unified Image Tools

Pendahuluan

AVIF unggul dalam kompresi, tetapi tiap encoder (SVT‑AV1, libaom, rav1e) berbeda dalam kualitas/kecepatan/stabilitas. “Terkecil” saja tidak cukup—pertimbangkan degradasi visual, waktu enkode, waktu decode (LCP), dan stabilitas parameter untuk CI/otomasi. Artikel ini membagikan prosedur perbandingan pada dataset representatif dan preset yang relevan untuk produksi.

TL;DR

  • Interop/stabilitas: libaom. Kecepatan: SVT‑AV1. Verifikasi naturalitas/artefak: rav1e.
  • Taktik operasi: jadikan WebP baseline, uji AVIF; jika bebas artefak yang mengganggu, adopsi AVIF.
  • Untuk kandidat LCP, pertimbangkan waktu decode dan sesuaikan q ±5.

Konteks: Strategi Kompresi Gambar Ultimat 2025 – Panduan praktis menjaga kualitas sambil memaksimalkan kecepatan, Audit artefak kompresi 2025 — Apa yang dilihat, kapan memburuk, dan cara menghindari

Dataset & sumbu evaluasi

Contoh dataset:

  • Potret (kulit/bokeh) ×3
  • Teks/UI (garis halus/kontras tinggi) ×3
  • Lanskap (daun/garis halus) ×3
  • Gradasi (langit/latars) ×3

Evaluasi:

  • Degradasi visual (banding kulit, edge teks, preservasi tekstur)
  • Ukuran file (lebar 640/960/1280/1536)
  • Waktu encode (rata‑rata/file; dampak CI)
  • Waktu decode (dampak pada LCP)

SSIM/PSNR membantu, keputusan akhir tetap visual.

Titik perbandingan

  • Degradasi (garis/kulit/gradasi/noise)
  • Ukuran file (3–5 lebar)
  • Waktu encode/decode (server/klien)

Tambahan:

  • Stabilitas parameter (variasi pada q/speed sama)
  • Portabilitas (CLI/lib/hosting)

Contoh perintah

# libaom (avifenc)
avifenc --min 28 --max 32 --speed 6 input.png out-libaom.avif

# SVT-AV1
aomenc --good --cpu-used=6 -q 35 -o out-svt.ivf input.y4m
# → kemas ke AVIF dengan alat yang sesuai

# rav1e
rav1e input.y4m -s 6 -q 35 -o out-rav1e.ivf

Parameter rujukan (gambar statis)

  • libaom: --min 28 --max 32 --speed 6
  • SVT‑AV1: -q 34–38 --cpu-used=6
  • rav1e: -q 34–38 -s 6

UI/teks: pertimbangkan 4:4:4/lossless. Foto: 4:2:0 umumnya cukup.

Alur rekomendasi

  1. Bandingkan WebP/AVIF pada scene representatif (SSIM/Butteraugli membantu)
  2. Jika artefak mengganggu, tetap WebP; jika tidak, adopsi AVIF
  3. Untuk LCP, kombinasikan priority/preload, seimbangkan ukuran/waktu decode

Tuning produksi

  1. Baseline WebP (q=75–80)
  2. Coba AVIF q=34–38, cek kulit/teks/gradasi
  3. Bila perlu, naikkan q atau pilih WebP
  4. LCP: turunkan q 2–4 dan optimalkan lebar representatif

Integrasi Next.js

<Image
  src="/img/hero-1280.avif"
  alt="Gambar utama"
  width={1280}
  height={720}
  sizes="(max-width: 768px) 100vw, 768px"
  priority
  fetchPriority="high"
/>

Catatan operasi (pitfall)

  • rav1e dapat berfluktuasi antar versi
  • SVT‑AV1 cepat namun artefak sensitif terhadap langkah q
  • libaom stabil namun perhatikan waktu CI/kompleksitas opsi
  • Cek CDN gambar apakah re‑compress/pack

Checklist QA

  • [ ] Tanpa artefak terlihat pada kulit/teks/gradasi/high‑freq
  • [ ] Lebar dan sizes konsisten dengan layout
  • [ ] Untuk LCP, keseimbangan decode/ukuran (fine‑tune q)
  • [ ] Waktu CI sesuai anggaran

FAQ

T. Mulai dari encoder mana?

J. libaom untuk baseline; SVT‑AV1 jika kecepatan jadi masalah; rav1e sebagai pembanding.

Ringkasan

Perbedaan encoder nyata, keputusan akhir memadukan evaluasi visual dan operasional. Pertahankan WebP sebagai basis stabil, adopsi AVIF bertahap.

Artikel terkait