Setelah menguasai filtergraph, saatnya melihat generasi codec terbaru: AV1 dengan libsvtav1 dan libaom-av1 di WebM maupun MP4, plus codec modern lain seperti VVC, xHE-AAC, dan metadata LCEVC yang mulai masuk ke FFmpeg.

Di episode 17 kalian sudah membangun filtergraph kompleks dengan -filter_complex, menyusun banyak input, mencampur video dan audio, lalu menulis hasilnya. Sekarang kita naik satu tingkat lagi dari sisi yang berbeda: bukan bagaimana video diproses, melainkan codec apa yang paling tepat untuk menyimpannya.
Episode ini membahas codec generasi modern. Kita akan mengeksplorasi AV1 dengan dua encodernya (libsvtav1 dan libaom-av1), cara menempatkan AV1 di container WebM maupun MP4, lalu memperkenalkan codec baru yang mulai bermunculan di rilis FFmpeg terbaru: VVC/H.266, xHE-AAC, dan LCEVC. Pahami kenapa codec baru lahir, dan kalian tidak akan bingung lagi saat melihat opsi encoder bertebaran di ffmpeg -encoders.
AV1 dikembangkan oleh Alliance for Open Media (AOM) — konsorsium berisi Google, Mozilla, Microsoft, Amazon, Netflix, dan lain-lain — dengan satu tujuan utama: kompresi efisien yang bebas royalti. Sebelumnya, pilihan di kelas efisien tinggi hanya HEVC/H.265 yang model lisensinya rumit dan mahal. AV1 lahir sebagai jawaban.
Dengan kualitas visual yang sama, AV1 biasanya menghemat 20–30% bitrate dibanding H.265, dan sekitar 30–50% dibanding H.264. Analoginya: H.264 adalah truk pengangkut yang butuh 10 liter bensin untuk jarak tertentu; HEVC turun ke 7 liter; AV1 cukup 5 liter untuk barang yang sama. Untuk platform streaming yang mengeluarkan terabyte data setiap hari, selisih ini bernilai miliaran rupiah per tahun.
| Codec | Rilis | Royalti | Efisiensi relatif | Contoh penggunaan |
|---|---|---|---|---|
| H.264/AVC | 2003 | Berbayar | Referensi | Web, broadcast, kamera |
| H.265/HEVC | 2013 | Berbayar (kompleks) | ~40–50% lebih baik dari H.264 | UHD, 4K broadcast |
| VP9 | 2013 | Bebas | Setara HEVC | YouTube, WebM |
| AV1 | 2018 | Bebas | ~20–30% lebih baik dari HEVC | Streaming VOD modern, YouTube, Netflix |
Penting dipahami: codec bebas royalti bukan berarti "gratis secara teknis". AV1 sangat berat saat encoding — ia membayar mahal di sisi CPU encoding demi menghemat bandwidth saat distribusi. Inilah trade-off utama yang menentukan kapan AV1 layak dipakai.
SVT-AV1 (Scalable Video Technology for AV1) adalah encoder AV1 yang paling realistis untuk produksi. Dikembangkan Intel dan Netflix dengan optimasi multi-thread agresif, SVT-AV1 jauh lebih cepat dari encoder referensi dengan kualitas yang hampir sebanding. Di FFmpeg, encoder ini diakses lewat -c:v libsvtav1.
ffmpeg -i input.mp4 -c:v libsvtav1 -crf 30 -preset 8 -c:a copy output.mkvDua parameter kunci yang harus kalian kuasai:
-preset (0–13) — kecepatan vs efisiensi. Nilai rendah berarti lambat tapi hemat bitrate pada kualitas sama; nilai tinggi berarti cepat tapi boros. Preset 8–10 umum untuk produksi harian, preset 4–6 untuk arsip yang tidak diburu waktu. Analogikan seperti memasak: api kecil dan sabar menghasilkan masakan yang sama lezat dengan bahan lebih sedikit.-crf (0–63) — kualitas target berbasis bitrate variabel. Nilai 30–35 adalah sweet spot untuk VOD; 40 ke atas untuk arsip cadangan; di bawah 20 hampir tidak ada bedanya bagi mata manusia namun bitrate membengkak. Ingat: untuk AV1, nilai CRF yang "setara H.264" sekitar 6–10 poin lebih tinggi, jadi jangan heran melihat angka 30 terasa bagus.Untuk kasus cepat-cepatan, misalnya pratinjau draf, naikkan preset:
ffmpeg -i input.mp4 -c:v libsvtav1 -crf 35 -preset 10 -g 240 output.webmPerhatikan -g 240 — GOP (keyframe interval) 240 frame, standar 10 detik untuk video 24fps. Kalian belajar pentingnya keyframe saat membahas segmentasi HLS di episode 13, dan aturan itu berlaku juga di sini.
Karena SVT-AV1 memakai mode multi-pass, untuk target bitrate tertentu (misal rilis VOD), kalian bisa memakai mode bitrate:
ffmpeg -i input.mp4 -c:v libsvtav1 -b:v 2M -preset 8 -pass 1 -f null /dev/null
ffmpeg -i input.mp4 -c:v libsvtav1 -b:v 2M -preset 8 -pass 2 -c:a copy output.mkvPass pertama menganalisis video dan menulis statistik ke ffmpeg2pass-0.log; pass kedua memakai data itu untuk membagi bitrate secara cerdas antar scene. -pass 1 menulis ke /dev/null karena hasil pass pertama tidak dipakai — hanya angkanya. Dua-pass menghasilkan kualitas lebih stabil untuk video panjang dengan banyak adegan berbeda.
libaom-av1 adalah encoder referensi resmi dari Alliance for Open Media. Ia jadi acuan kualitas, tapi paling lambat. Keunggulannya: parameter tuning terlengkap, ideal untuk riset dan arsip ultra-kompresi di mana waktu encoding tidak penting.
ffmpeg -i input.mp4 -c:v libaom-av1 -crf 32 -b:v 0 -cpu-used 4 -row-mt 1 -tiles 2x2 -c:a copy output.mkvKunci parameternya:
-cpu-used (0–8) — setara -preset milik SVT-AV1. Default 1, sangat lambat; 4–5 kompromi yang masuk akal; 8 untuk pratinjau.-row-mt 1 — mengaktifkan threading per baris (row-based multi-threading). Tanpa ini, kecepatan encoding turun drastis di CPU multi-core.-tiles — membagi frame menjadi petak yang diproses paralel. Tanpa tile, 4K di libaom-av1 bisa terasa seperti molase. Kombinasi -row-mt 1 -tiles 2x2 adalah permulaan yang aman.-b:v 0 — menonaktifkan bitrate mode agar -crf benar-benar berfungsi di libaom.Kapan memakai libaom-av1? Ketika kualitas maksimal adalah segalanya dan waktu tidak diperhitungkan — misalnya melestarikan koleksi master. Untuk sebagian besar workload produksi, libsvtav1 adalah pilihan yang lebih bijak: kualitas mendekati, waktu sepersekian.
AV1 hidup di dua container utama. Jangan asal memilih — target pemutaran menentukan:
| Aspek | WebM | MP4 |
|---|---|---|
| Codec video | VP8, VP9, AV1 | H.264, H.265, AV1, MPEG-4 |
| Codec audio | Opus, Vorbis | AAC, MP3, Opus |
| Dukungan AV1 | Sejak awal, paling matang | Didukung dengan codec_tag av01 |
| Ekosistem web | Native di Chrome, Firefox | Umum di iOS, Android, perangkat keras |
| Metadata kaya | Terbatas | Luas (muat subtitle, chapter, custom tags) |
Aturan praktis: WebM untuk web dan ekosistem open-source, MP4 untuk perangkat keras dan distribusi umum. Periksa dukungan target kalian sebelum memutuskan. Keduanya sama-sama mampu menyimpan AV1; bedanya di ekosistem pemutar, bukan di codec-nya.
ffmpeg -i input.mkv -c:v libsvtav1 -crf 30 -preset 8 -c:a aac output.mp4Jika kalian mendapat hasil output.mp4 yang tidak bisa diputar di satu perangkat tertentu, langkah debug pertama adalah ffprobe output.mp4 untuk melihat apakah perangkat tersebut mendukung profil av01 yang dihasilkan.
Sejak rilis 8.0 (nama kode "Huffman", Agustus 2025), dukungan AV1 di FFmpeg meningkat signifikan:
av01 di MP4 diperbaiki, mengurangi kasus file "tidak kompatibel".Poin yang harus dipahami: AV1 bukanlah fitur statis. Setiap rilis FFmpeg menyertakan update encoder dan decoder yang bisa mengubah hasil encode. Jika kalian memakai AV1 untuk produksi, pada versi FFmpeg mana file di-encode itu penting — catat versinya di metadata file kalian. Cek versi dengan ffmpeg -version.
AV1 bukan satu-satunya perkembangan. Rilis FFmpeg terbaru membawa beberapa codec yang mulai relevan untuk ditelisik.
Versatile Video Coding (VVC/H.266) diterbitkan 2020 dan dijanjikan menghemat 30–50% bitrate dibanding HEVC pada kualitas sama. Sejak FFmpeg 7.1, decoder VVC bawaan (libvvc) stabil — artinya kalian bisa memutar file H.266 tanpa eksternal binary. Perlu dicatat: saat ini hanya decoding yang tersedia. Encoder VVC masih dalam pengembangan dan belum siap produksi.
ffprobe -v error -show_streams -select_streams v:0 input.h266Jika output menampilkan codec_name=vvc, berarti FFmpeg kalian (7.1 ke atas) mampu membacanya.
xHE-AAC (Extended HE-AAC, berbasis MPEG-H USAC) membawa kualitas bagus di bitrate sangat rendah — dari 96 kbps hingga serendah 12–24 kbps untuk suara saja. FFmpeg 8.1 menambahkan decoder USAC/Mps212 dengan status eksperimental. Ini menarik untuk konten yang harus hemat bandwidth (radio streaming, podcast regional) karena satu bitrate rendah pun tetap terdengar layak.
ffmpeg -i streaming.m4a -c:a pcm_s16le output.wavStatus eksperimental berarti: jalan, tapi belum dijamin stabil untuk semua file. Jangan bangun pipeline produksi di atasnya sebelum di-mark stabil.
LCEVC (Low Complexity Enhancement Video, ISO/IEC 23094-2) adalah konsep berbeda: bukan codec mandiri, melainkan layer penyempurna di atas codec dasar (H.264, HEVC, AV1). Layer kualitas tambahan disimpan sebagai metadata, lalu di-decode oleh FFmpeg saat pemutaran untuk memulihkan detail. FFmpeg 8.1 mulai mendukung metadata LCEVC — relevan untuk memahami masa depan codec-agnostic enhancement.
Episode 18 menutup pemahaman kalian tentang codec modern. Kalian kini tahu:
libsvtav1 adalah encoder produksi utama (-crf untuk kualitas, -preset untuk kecepatan, dua-pass untuk bitrate stabil).libaom-av1 adalah encoder referensi untuk kualitas maksimal dengan harga kecepatan.Dengan codec yang lebih efisien, satu pertanyaan praktis menyusul: seberapa cepat encoding itu berjalan, dan bagaimana membuatnya lebih cepat? Di episode 19, kita bedah performance dan optimization — dari pengaturan -threads dan preset, benchmark, hingga strategi pipeline paralel untuk batch besar. Sampai jumpa di episode 19.