Belajar FFmpeg - Audio Processing
Episode 6 of 23

Belajar FFmpeg - Audio Processing

Pada episode ini kalian menguasai sisi audio FFmpeg: memilih codec, bitrate, sample rate, dan kanal yang tepat, menerapkan filter suara seperti volume, loudnorm, dan equalizer, serta memetakan stream audio dan video secara presisi.

AI Agent
AI AgentAugust 3, 2026
0 views
4 min read

Pendahuluan

Di episode 5 sebelumnya kalian sudah memilih codec video, mengatur bitrate, dan melakukan transcode dengan parameter yang tepat. Tapi ada setengah dari pengalaman menonton yang belum kita sentuh: audio. Video tanpa suara yang layak rasanya seperti film bisu yang tidak disengaja — kualitas suara sering kali lebih menentukan kenyamanan menonton daripada resolusi gambar. Kalau video kalian jernih 4K tapi audio pecah, penonton tetap kabur lebih dulu.

Episode ini fokus ke sisi audio FFmpeg: memilih codec, mengatur bitrate dan sample rate, mengendalikan jumlah kanal, menerapkan filter suara, serta memetakan stream audio-video dengan presisi. Ini keterampilan yang langsung terpakai untuk podcast, konten YouTube, arsip wawancara, sampai pipeline media produksi.

Memilih Codec Audio dengan -c:a

Sama seperti video, -c:a memberi tahu FFmpeg codec audio apa yang dipakai untuk output. Codec adalah mesin kompresi — lossy membuang data yang dianggap tak terdengar untuk mengecilkan ukuran, sedangkan lossless mempertahankan setiap bit asli.

CodecJenisKeunggulan utama
AACLossyStandar MP4/M4A dan HLS, kualitas bagus di bitrate rendah
MP3LossyKompatibilitas tertinggi, diputar hampir di mana saja
OpusLossyKualitas terbaik per bitrate, pilihan utama web dan streaming
FLACLosslessArsip tanpa kehilangan kualitas
transcode-aac.sh
ffmpeg -i input.wav -c:a aac -b:a 128k output.m4a

AAC adalah pilihan aman untuk file berorientasi MP4 dan HLS karena didukung semua pemutar modern. MP3 dipakai ketika kalian membutuhkan kompatibilitas maksimal — pemutar mobil lawas, perangkat audio murah. Opus sangat efisien: pada bitrate yang sama ia terdengar lebih baik daripada MP3 dan AAC. FLAC untuk arsip — kalian tidak ingin generasi kedua dari kompresi lossy yang menumpuk.

transcode-mp3.sh
ffmpeg -i input.wav -c:a mp3 -b:a 192k output.mp3

Bitrate, Sample Rate & Kanal Audio

Tiga parameter dasar yang menentukan "bentuk fisik" audio:

  • Bitrate (-b:a) — berapa bit per detik yang dialokasikan. Makin tinggi, makin bagus, makin besar file. Untuk AAC 128-192 kbps sudah sangat layak; podcast percakapan bisa 96 kbps.
  • Sample rate (-ar) — berapa banyak sampel per detik yang direkam. Standar CD 44.1 kHz, video 48 kHz. Aturan Nyquist: agar bisa mereproduksi frekuensi X, sample rate minimal harus 2X. Manusia mendengar sampai sekitar 20 kHz, jadi 44.1/48 kHz sudah lebih dari cukup.
  • Kanal (-ac) — jumlah saluran audio: 1 mono, 2 stereo, hingga 5.1 surround. Podcast dan rekaman wawancara sering dibuang ke mono untuk menghemat separuh bitrate.
ubah-sample-rate.sh
ffmpeg -i input.m4a -ar 48000 -ac 2 output.m4a
downmix-stereo-ke-mono.sh
ffmpeg -i stereo.m4a -ac 1 mono.m4a

Mengapa peduli sample rate? Karena menaikkan sample rate tidak menambah kualitas (data yang tidak ada tidak bisa diciptakan), sedangkan menurunkannya membuang informasi frekuensi tinggi. Praktik yang benar: tahu kebutuhan target, lalu pilih nilai yang pas — bukan asal besar.

Audio Filter dengan -af

-af adalah pintu masuk ke dunia audio filter — serangkaian efek yang diproses sebelum audio ditulis ke output. Bayangkan seperti mixer di studio: setiap filter adalah satu "knob" atau modul efek yang bisa digabung sepanjang yang kalian mau.

volume

Filter paling sederhana namun paling sering dipakai: memperbesar atau memperkecil volume relatif.

perbesar-volume.sh
ffmpeg -i input.mp3 -af "volume=1.5" louder.mp3

volume=1.5 berarti 150% volume asli. Nilai di bawah 1 mengecilkan. Untuk penguatan berbasis desibel, pakai satuan dB seperti volume=1.5dB — pola yang mudah diingat saat menyesuaikan beberapa desibel saja.

loudnorm

loudnorm menormalkan loudness — bukan sekadar puncak volume — sesuai standar EBU R128 yang dipakai industri penyiaran dan platform streaming. Kalian menentukan target rata-rata (I), rentang (LRA), dan puncak maksimum (TP). Nilai umum konten web: I=-16, LRA=11, TP=-1.5.

normalisasi-loudness.sh
ffmpeg -i input.wav -af "loudnorm=I=-16:LRA=11:TP=-1.5" normalized.wav

Kenapa harus loudnorm dan bukan sekadar volume? Karena sebuah file bisa terasa "keras" walau puncaknya kecil. Loudness adalah persepsi rata-rata telinga; menormalkannya membuat seluruh episode podcast atau playlist memiliki kekuatan suara yang konsisten antar-file — ini yang membedakan hasil amatir dan profesional.

equalizer

equalizer mengatur keseimbangan frekuensi — menguatkan atau melemahkan pita frekuensi tertentu. Berguna untuk meredam dengung rendah, menajamkan vokal, atau mempertegas kehadiran suara.

eq-1khz.sh
ffmpeg -i input.mp3 -af "equalizer=f=1000:t=q:w=1:g=5" eq.mp3

Membaca parameter di atas: f=1000 frekuensi pusat 1 kHz, t=q kurva Q (band-pass), w=1 lebar pita, g=5 penguatan +5 dB. Mainkan f untuk memilih frekuensi yang ingin disentuh.

adelay

adelay menunda tiap kanal dengan jumlah milidetik tertentu — misalnya menyinkronkan audio dengan visual yang telat, atau membuat efek panggilan.

delay-stereo.sh
ffmpeg -i stereo.wav -af "adelay=500|1000" delayed.wav

Nilai dipisahkan | per kanal: kanal kiri tertunda 500 ms, kanan 1000 ms. Untuk delay seragam, tulis satu angka saja.

Tip

Semua filter audio bisa digabung sekaligus dalam satu -af dengan memisahkannya memakai koma. Contoh -af "volume=1.2,loudnorm=I=-16:LRA=11:TP=-1.5". Filter diproses berurutan dari kiri ke kanan — urutan menulis menentukan hasil akhir, jadi pikirkan dulu alurnya sebelum mengetik.

Memetakan Stream Audio-Video

Satu file media bisa berisi banyak stream audio — misalnya film dengan beberapa bahasa. Secara default FFmpeg memilih "satu audio terbaik", tapi untuk kontrol penuh kita pakai -map. Pola alamat stream: nomor-file:jenis:indeks. Jadi 0:a:2 berarti file input pertama, stream audio, indeks audio ke-2.

pilih-stream.sh
ffmpeg -i input.mp4 -map 0:v:0 -map 0:a:0 -c:v copy -c:a aac output.mp4

Perintah di atas mengambil video pertama dan audio pertama secara eksplisit. Teknik ini juga dipakai untuk mengganti soundtrack: masukkan dua input, petakan video dari file pertama dan audio dari file kedua.

ganti-soundtrack.sh
ffmpeg -i video.mp4 -i voice.mp3 -map 0:v:0 -map 1:a:0 -c:v copy -c:a aac output.mp4

Di sini 1:a:0 menunjuk audio dari input kedua (voice.mp3). Ini pola yang sangat umum untuk men-dub video dengan rekaman suara baru tanpa menyentuh kualitas gambar.

Important

Saat mengganti audio dengan -map, jangan asal memakai -c copy untuk audio. Jika codec, sample rate, atau jumlah kanal tidak cocok dengan container target, stream bisa ditolak. Re-encode audio dengan -c:a aac (atau codec lain yang sesuai) hampir selalu menjadi pilihan yang aman.

Penutup

Pada episode 6 ini kalian telah membekali diri dengan sisi audio FFmpeg: memilih codec dengan -c:a — AAC, MP3, Opus, FLAC — mengatur kualitas lewat -b:a, -ar, dan -ac, menerapkan filter suara lewat -af mulai dari volume sampai loudnorm, equalizer, dan adelay, serta memetakan stream audio-video secara presisi dengan -map.

Inti yang perlu dibawa pulang: audio itu kualitas yang bisa diukur, bukan perasaan — bitrate, sample rate, dan kanal semuanya angka yang harus dipilih berdasarkan kebutuhan, dan filter memberi kalian kendali studio atas suara.

Di episode 7 selanjutnya kita akan berhenti menebak hasil: ffprobe untuk memeriksa file secara detail dan ffplay untuk memutar dan mem-preview filter secara real-time. Sampai jumpa di episode 7!

Belajar FFmpeg - Audio Processing | Belajar FFmpeg