aspose.info
ID

Panduan Format Audio iLBC: Fitur, Arsitektur & Cara Membuka File .ilbc

Diperbarui

1. Apa Itu Format Audio iLBC?

The Internet Low Bitrate Codec awalnya dibuat oleh Global IP Solutions (GIPS)—sebuah perusahaan rekayasa audio Swedia yang diakuisisi oleh Google pada tahun 2010. Didefinisikan oleh Internet Engineering Task Force dalam RFC 3951 dengan enkapsulasi payload RTP yang dijelaskan dalam RFC 3952, iLBC dirancang khusus untuk transmisi suara yang kuat melalui tautan IP yang tidak stabil.

Sementara peramban web modern sering menggunakan codec Opus untuk komunikasi real-time terkini, iLBC tetap menjadi standar penting yang bebas royalti dan tertanam dalam tumpukan teleponi perusahaan, klien SIP, profil kompatibilitas mundur WebRTC, serta perangkat VoIP warisan yang diproduksi oleh Cisco, Polycom, dan sistem PBX Asterisk.

2. Karakteristik Utama iLBC

ParameterSpesifikasi
StandardisasiIETF RFC 3951 (Codec), RFC 3952 (Payload RTP)
Ekstensi File Umum.ilbc, .lbc
Tipe Media MIMEaudio/iLBC
Frekuensi Sampling$8\text{ kHz}$ (Narrowband)
Resolusi KuantisasiPCM linear 16-bit
Saluran AudioMono (Ucapan saluran tunggal)
Panjang Frame yang Didukung$20\text{ ms}$ mode dan $30\text{ ms}$ mode
Bitrate Operasional$15.20\text{ kbit/s}$ ($20\text{ ms}$) / $13.33\text{ kbit/s}$ ($30\text{ ms}$)
Bit Muatan Per Blok$304\text{ bits}$ ($20\text{ ms}$) / $400\text{ bits}$ ($30\text{ ms}$)
Pengidentifikasi Header Ajaib#!iLBC20\n ($20\text{ ms}$) or #!iLBC30\n ($30\text{ ms}$)
LisensiTanpa Royalti (sumber terbuka BSD 3-klausul melalui WebRTC)

3. Fitur Mendalam & Desain Arsitektur

Enkoding Frame Independen (Propagasi Kesalahan Nol)

Format kompresi suara tradisional seperti G.729 dan codec keluarga CELP menggunakan prediksi antar‑frame, di mana setiap frame audio bergantung pada informasi status dan vektor prediktor pitch dari frame sebelumnya. Jika sebuah paket hilang pada jaringan yang padat, status yang hilang tersebut menyebar ke depan, menyebabkan audio hilir rusak selama beberapa ratus milidetik.

iLBC menghilangkan ketergantungan ini. Setiap frame suara dalam iLBC dienkode secara independen. Jika paket $N$ hilang selama transmisi, paket $N+1$ akan didekode dengan fidelitas akustik penuh.

Mode Operasi Ganda ($20\text{ ms}$ vs. $30\text{ ms}$)

Untuk memberikan insinyur telekomunikasi manajemen latensi yang fleksibel, iLBC mendefinisikan dua mode operasi wajib:

  1. $20\text{ ms}$ Mode Frame ($15.20\text{ kbit/s}$):
    • Menyandi 160 sampel audio per frame menjadi 38 byte ($304\text{ bits}$).
    • Memberikan latensi buffering algoritmik yang lebih rendah, menjadikannya sangat cocok untuk komunikasi interaktif.
  2. $30\text{ ms}$ Mode Frame ($13.33\text{ kbit/s}$):
    • Menyandi 240 sampel audio per frame menjadi 50 byte ($400\text{ bits}$).
    • Mengurangi konsumsi bit sekitar $12%$, mengoptimalkan efisiensi muatan jaringan pada koneksi jarak jauh.

Penyembunyian Kehilangan Paket Lanjutan (PLC)

Ketika paket yang hilang terjadi, iLBC menggunakan filter sintesis LPC (Linear Predictive Coding) variabel status yang merekonstruksi representasi siklus nada yang hilang menggunakan status batas dari frame tetangga. Alih-alih menghasilkan klik, pop digital, atau mute keras, paket suara yang hilang menurun secara halus.

Kualitas Audio vs. Profil Bitrate

Dalam kondisi jaringan ideal (0% kehilangan paket), iLBC mencapai Skor Opini Rata-rata (MOS) sekitar 4.14 (dari 5.0). Meskipun sedikit di bawah G.711 PCM tak terkompresi ($\mu$-law pada $\sim 4.3$), iLBC mempertahankan kejernihan suara pada tingkat kehilangan paket hingga $5%\text{ to }10%$, di mana keterpahaman G.729 atau G.711 menurun secara signifikan.

4. Cara Membuka dan Memutar File Audio .ilbc

Karena .ilbc adalah format aliran telepon mentah khusus, bukan kontainer media konsumen serbaguna (seperti MP3 atau WAV), pemutar konsumen utama tidak selalu dapat mendeteksinya tanpa paket codec khusus.

Metode 1: Menggunakan Audacity (Impor Data Mentah)

Audacity dapat mengimpor dump PCM mentah atau file suara iLBC yang telah didekode:

  1. Buka Audacity.
  2. Arahkan ke File > Import > Raw Data…
  3. Pilih file dan atur enkoding ke Signed 16-bit PCM, urutan byte ke Little-endian, 1 Channel (Mono), dan laju sampel ke 8000 Hz.

Metode 2: Pemutaran Baris Perintah via FFplay

Jika build FFmpeg Anda dikompilasi dengan ekstensi libilbc:

ffplay -f ilbc sample.ilbc

Metode 3: Analyzer VoIP Khusus

Alat diagnostik jaringan seperti Wireshark dapat mengekstrak dan merekonstruksi payload suara .ilbc langsung dari sesi paket SIP/RTP yang ditangkap dan memutarnya melalui utilitas RTP Player bawaan.

5. Cara Membuat dan Mengonversi File Audio .ilbc

Bekerja dengan audio .ilbc memerlukan audio input 16-bit, satu saluran, $8000\text{ Hz}$.

Pengkodean ke iLBC Menggunakan FFmpeg

Untuk mengonversi sampel audio .wav atau .mp3 yang ada menjadi bitstream .ilbc:

ffmpeg -i input_speech.wav \
  -ar 8000 \
  -ac 1 \
  -c:a libilbc \
  output_audio.ilbc
  • -ar 8000: Mengubah sampel audio ke kecepatan 8 kHz yang diperlukan.
  • -ac 1: Menurunkan campuran audio multi-saluran menjadi mono.
  • -c:a libilbc: Menggunakan encoder referensi libilbc.

Menentukan Mode Frame ($20\text{ ms}$ atau $30\text{ ms}$)

Anda dapat memilih mode frame menggunakan flag -mode:

# Encode using 30ms mode (13.33 kbit/s)
ffmpeg -i input_speech.wav -ar 8000 -ac 1 -c:a libilbc -mode 30 output_30ms.ilbc

# Encode using 20ms mode (15.20 kbit/s)
ffmpeg -i input_speech.wav -ar 8000 -ac 1 -c:a libilbc -mode 20 output_20ms.ilbc

Mendekode File .ilbc Kembali ke WAV Standar

Untuk mengonversi file .ilbc menjadi file WAV tidak terkompresi yang dapat diputar di mana saja:

ffmpeg -f ilbc -i voice_message.ilbc converted_audio.wav

6. Pertanyaan yang Sering Diajukan (FAQ)

Q1: Masalah utama apa yang format audio iLBC dibuat untuk menyelesaikan?

Format iLBC dirancang untuk mempertahankan kejelasan ucapan di jaringan IP dengan membuat setiap frame audio menjadi independen, mencegah kesalahan kehilangan paket menyebar ke frame ucapan berikutnya.

Q2: Apa dua bitrate operasional sebuah file .ilbc?

Aliran .ilbc beroperasi pada $13.33\text{ kbit/s}$ saat menggunakan frame $30\text{ ms}$ atau $15.20\text{ kbit/s}$ ketika dikonfigurasi untuk frame $20\text{ ms}$.

Q3: Apakah format iLBC dapat digunakan untuk streaming musik berfidelitas tinggi?

Tidak, iLBC adalah codec suara pita sempit yang secara ketat terbatas pada laju sampel $8\text{ kHz}$, dioptimalkan secara eksklusif untuk suara manusia antara $90\text{ Hz}$ dan $4000\text{ Hz}$.

Q4: Apakah codec audio iLBC bebas royalti?

Ya, iLBC sepenuhnya distandarisasi di bawah IETF RFC 3951 dan dirilis di bawah lisensi BSD 3 klausa yang bersifat sumber terbuka dan bebas royalti melalui proyek WebRTC.

Q5: Bagaimana iLBC dibandingkan dengan codec Opus modern?

Meskipun iLBC menyediakan penyembunyian kehilangan paket untuk VoIP pita sempit pada jaringan broadband awal, codec Opus modern mendukung bitrate dinamis, audio pita penuh ($48\text{ kHz}$), dan latensi algoritmik yang lebih rendah.


7. Spesifikasi Resmi & Referensi