Jangan menyerah pada video transparan — Alternatif praktis 2025
Diterbitkan: 22 Sep 2025 · Waktu baca: 4 mnt · Redaksi Unified Image Tools
“Perlu alpha = harus video” tidak selalu benar. Uraikan kebutuhan UI/komposisi dan pilihan yang lebih ringan dan tangguh akan muncul.
TL;DR
- Mulai dari kebutuhan: benarkah perlu transparansi bergerak, atau bisa disimulasikan dengan latar tetap + komposisi?
- UI/ikon/mikro‑motion → Lottie/CSS/SVG. Klip bergaya foto, pendek, butuh transparansi → APNG/WebP animasi
- Loop berlangkah seragam → sprite +
steps()
adalah yang paling ringan - Kanvas besar/durasi panjang → video tanpa alpha (MP4/AV1) + komposisi latar untuk efek “transparan”
- Pengantaran jangan merusak INP/LCP: hanya kandidat LCP berprioritas tinggi; sisanya lazy
Tautan internal: Aset Animasi untuk Web Modern — Desain & Optimasi 2025, Animasi loop mulus 2025 — Cara praktis menyembunyikan batas GIF/WebP/APNG, Pengiriman Gambar berfokus INP 2025 — Menjaga performa terasa lewat koordinasi decode/priority/script, Gambar Responsif era DPR tinggi & pemanfaatan image-set 2025, AVIF vs WebP vs JPEG XL 2025 — Perbandingan praktis berbasis pengukuran
Kerangka keputusan (kebutuhan)
- Jenis transparansi: alpha penuh atau cukup potongan/masker tepi?
- Luas area dan DPR: makin besar raster × DPR, makin mahal pipeline alpha
- Kontrol pemutaran: sinkron gulir/hover/klik; mulai/berhenti presisi
- Kompatibilitas: perilaku di iOS/Safari; fallback yang dapat diterima
- Biaya produksi: mudah diganti/versi untuk desain/dev
Heuristik:
- Area kecil × bentuk sederhana → Lottie/SVG/CSS
- Area sedang × gaya foto × pendek × tepi bersih → APNG/WebP animasi
- Gerak periodik/bertingkat → sprite
steps()
- Besar/panjang × efek “tampak transparan” oke → video tanpa alpha + masker/blend CSS
Katalog praktik alternatif
1) Lottie (JSON vektor)
- Pro: skalabel, mudah ganti warna, kontrol DOM/Canvas, ukuran kecil
- Kontra: lemah untuk foto, path kompleks membebani CPU, perbedaan antar‑browser
- Ideal: ikon/logo/motion UI, mikro‑interaksi
Snippet React:
import { useEffect, useRef } from 'react'
import lottie from 'lottie-web'
export function LogoMotion({ json }: { json: object }) {
const ref = useRef<HTMLDivElement>(null)
useEffect(() => {
if (!ref.current) return
const anim = lottie.loadAnimation({
container: ref.current,
renderer: 'svg',
loop: true,
autoplay: true,
animationData: json,
})
return () => anim.destroy()
}, [json])
return <div ref={ref} aria-hidden />
}
2) APNG / WebP animasi (transparansi raster)
- Pro: kualitas tepi bagus, komposisi natural di UI
- Kontra: ukuran meningkat ∝ frame × area; perlu pipeline pembuatan
- Ideal: loop pendek bergaya foto, overlay dekoratif, variasi ekspresi
Pembuatan:
# WebP animasi
ffmpeg -i seq-%03d.png -lossless 0 -qscale 80 -loop 0 anim.webp
# APNG (apngasm)
apngasm anim.apng seq-%03d.png 1 30
<picture>
dengan fallback:
<picture>
<source srcset="/anim/logo.webp" type="image/webp" />
<img src="/anim/logo.apng" alt="Animasi logo" width="240" height="240" loading="lazy" decoding="async" />
</picture>
3) Sprite + CSS steps()
- Pro: paling ringan (satu gambar), decode rendah, kontrol mudah
- Kontra: transparansi dipegang gambar; perhatikan batas frame
- Ideal: gerak periodik ikon, loop bertahap
4) Komposisi “tampak transparan” (video tanpa alpha)
Jika latar bisa tetap, biarkan video opak dan wujudkan tampilannya lewat masker/blend di latar.
- Masker CSS:
mask-image
/-webkit-mask-image
dengan gambar statis di atas video - Blend:
mix-blend-mode:multiply/screen
sesuai konten - Dua lapis: video di bawah + masker tepi PNG di atas (
pointer-events:none
)
Catatan: kinerja/dukungan bervariasi — validasi dulu di area kecil.
Pengantaran & performa (aman untuk INP/LCP)
- INP: animasi non‑kritis dibuat lazy/berprioritas rendah; prefetch sebelum interaksi
- LCP: hanya satu resource prioritas tinggi (lihat Pengiriman Gambar berfokus INP 2025 — Menjaga performa terasa lewat koordinasi decode/priority/script)
- DPR: gunakan
image-set()
dan aset 2x seperlunya, hanya bila memberi nilai - Cache: loop pendek cache panjang + nama ber‑hash; rencana penggantian mudah
Diagnostik (cek apa)
- Waktu decode/paint pertama (pakai poster pada video)
- Jahitan loop; halo/gerigi di tepi
- Dampak baterai di seluler — tinjau frame/area/codec
- Kekhususan iOS/Safari dan kewajaran fallback
Kesalahan umum & cara menghindar
- Terlalu mengandalkan video ber‑alpha → beban decoder/kompat/baterai. Utamakan vektor/sprite/APNG
- Satu file untuk semua → cache buruk. Bagi sesuai kegunaan dan mudahkan penggantian
- Autoplay di mana‑mana → tidak ramah seluler. Trigger via viewport/niat pengguna
Checklist
- [ ] Tentukan jenis transparansi (penuh/masker tepi) dan apakah latar bisa tetap
- [ ] Pilih Lottie/APNG/WebP/Sprite/komposisi video opak berdasar byte/kompat/kontrol
- [ ] Fallback (APNG↔WebP; GIF/MP4 hanya opsi terakhir)
- [ ] Sesuaikan DPR/area (
image-set()
bila relevan) - [ ] Pengantaran aman INP/LCP (hanya LCP berprioritas tinggi)
FAQ
-
T: Apakah WebM(alpha) bisa diandalkan? J: Berjalan di Chromium, lemah di Safari/iOS. Secara operasional, APNG/WebP animasi/Lottie sering lebih aman.
-
T: Tepi tampak bergerigi/halo. J: Sesuaikan tepi/kontras latar, hindari halo premultiplied; pada APNG coba palet dan pre‑blur ringan.
-
T: Mulai dari mana? J: Lottie untuk ikon/logo; APNG/WebP untuk loop foto pendek; sprite untuk gerak periodik; untuk kanvas besar, video opak + komposisi.
Ringkasan
Video transparan adalah sarana, bukan tujuan. Uraikan kebutuhan dan pilih alternatif yang lebih ringan, tangguh, dan mudah dirawat. Validasi kecil dulu dan capai pengantaran ramah INP/LCP yang menyeimbangkan tampilan dan UX.
Artikel terkait
Aset Animasi untuk Web Modern — Desain & Optimasi 2025
Pilih antara GIF/WEBP/MP4/APNG/Lottie/Sprite Sheet sesuai use case. Bandingkan ukuran/kualitas/kompatibilitas/upaya dev, dan pilih jalur terbaik dari pembuatan hingga pengiriman.
Pedoman animasi UX & performa 2025 — Ringkas dan praktis
Animasi yang bermanfaat dan cepat. Anggaran gerak, prefers‑reduced‑motion, layer komposisi, WAAPI/Lottie/video, dan prioritas pemuatan.
Optimasi Sprite & Animasi — Sprite Sheet / WebP / APNG 2025
Jaga animasi tetap menarik namun ringan. Gunakan sprite sheet untuk UI, WebP untuk adegan mirip foto, dan APNG saat butuh transparansi/kompatibilitas.