1. iLBC ऑडियो फ़ॉर्मेट क्या है?
Internet Low Bitrate Codec मूल रूप से Global IP Solutions (GIPS) द्वारा बनाया गया था—एक स्वीडिश ऑडियो इंजीनियरिंग फर्म जिसे 2010 में Google ने अधिग्रहित किया। इसे इंटरनेट इंजीनियरिंग टास्क फोर्स द्वारा RFC 3951 के तहत परिभाषित किया गया और RFC 3952 में RTP पेलोड एन्कैप्सुलेशन का विवरण दिया गया, iLBC को अस्थिर IP लिंक पर मजबूत आवाज़ प्रसारण के लिए विशेष रूप से डिजाइन किया गया था।
जबकि आधुनिक वेब ब्राउज़र अक्सर वास्तविक‑समय संचार के लिए Opus codec का उपयोग करते हैं, iLBC एक प्रमुख, royalty‑free मानक बना हुआ है जो एंटरप्राइज़ टेलीफ़ोनी स्टैक्स, SIP क्लाइंट्स, WebRTC बैकवर्ड कम्पैटिबिलिटी प्रोफ़ाइल्स, और Cisco, Polycom, तथा Asterisk PBX सिस्टम्स द्वारा निर्मित लेगेसी VoIP उपकरणों में एम्बेडेड है।
2. iLBC की मुख्य विशेषताएँ
| पैरामीटर | विशिष्टता |
|---|---|
| मानकीकरण | IETF RFC 3951 (कोडेक), RFC 3952 (RTP पेलोड) |
| सामान्य फ़ाइल एक्सटेंशन | .ilbc, .lbc |
| MIME मीडिया प्रकार | audio/iLBC |
| सैंपलिंग फ़्रीक्वेंसी | $8\text{ kHz}$ (नैरोबैंड) |
| क्वांटाइजेशन रिज़ॉल्यूशन | 16-बिट लीनियर PCM |
| ऑडियो चैनल | मोनो (एकल-चैनल भाषण) |
| समर्थित फ्रेम लंबाई | $20\text{ ms}$ मोड और $30\text{ ms}$ मोड |
| ऑपरेशनल बिटरेट्स | $15.20\text{ kbit/s}$ ($20\text{ ms}$) / $13.33\text{ kbit/s}$ ($30\text{ ms}$) |
| पेलोड बिट्स प्रति ब्लॉक | $304\text{ bits}$ ($20\text{ ms}$) / $400\text{ bits}$ ($30\text{ ms}$) |
| मैजिक हेडर पहचानकर्ता | #!iLBC20\n ($20\text{ ms}$) या #!iLBC30\n ($30\text{ ms}$) |
| लाइसेंसिंग | रॉयल्टी-फ्री (WebRTC के माध्यम से 3-धारा BSD ओपन सोर्स) |
3. विस्तृत विशेषताएँ और आर्किटेक्चरल डिज़ाइन
स्वतंत्र फ्रेम एन्कोडिंग (शून्य त्रुटि प्रसार)
परम्परागत स्पीच संपीड़न फ़ॉर्मेट जैसे G.729 और CELP-परिवार के कोडेक इंटर-फ़्रेम प्रेडिक्शन का उपयोग करते हैं, जहाँ प्रत्येक ऑडियो फ़्रेम पूर्ववर्ती फ़्रेम की स्थिति जानकारी और पिच प्रेडिक्टर वेक्टर पर निर्भर करता है। यदि भीड़भाड़ वाले नेटवर्क पर कोई पैकेट गिर जाता है, तो वह अनुपस्थित स्थिति आगे बढ़ती है, जिससे कई सौ मिलीसेकंड तक डाउनस्ट्रीम ऑडियो बिगड़ जाता है।
iLBC इस निर्भरता को समाप्त करता है। iLBC में प्रत्येक स्पीच फ्रेम स्वतंत्र रूप से एन्कोड किया जाता है। यदि पैकेट $N$ ट्रांज़िट के दौरान गिर जाता है, तो पैकेट $N+1$ पूर्ण ध्वनिक सटीकता के साथ डिकोड होता है।
ड्यूल ऑपरेटिंग मोड ($20\text{ ms}$ बनाम $30\text{ ms}$)
टेलीकॉम इंजीनियरों को लचीला लेटेंसी प्रबंधन प्रदान करने के लिए, iLBC दो अनिवार्य ऑपरेटिंग मोड परिभाषित करता है:
- $20\text{ ms}$ फ़्रेम मोड ($15.20\text{ kbit/s}$):
- प्रति फ़्रेम 160 ऑडियो सैंपल को 38 बाइट्स ($304\text{ bits}$) में एन्कोड करता है।
- निम्न एल्गोरिदमिक बफ़रिंग लेटेंसी प्रदान करता है, जिससे यह इंटरैक्टिव संचार के लिए उपयुक्त बनता है।
- $30\text{ ms}$ फ़्रेम मोड ($13.33\text{ kbit/s}$):
- प्रति फ़्रेम 240 ऑडियो सैंपल को 50 बाइट्स ($400\text{ bits}$) में एन्कोड करता है।
- लगभग $12%$ बिट खपत को कम करता है, जिससे लंबी दूरी के कनेक्शन पर नेटवर्क पेलोड दक्षता अनुकूलित होती है।
उन्नत पैकेट लॉस कंसिलमेंट (PLC)
जब ड्रॉप्ड पैकेट होते हैं, iLBC एक स्टेट-वेरिएबल LPC (लीनियर प्रेडिक्टिव कोडिंग) सिंथेसिस फ़िल्टर का उपयोग करता है जो पड़ोसी फ़्रेमों की सीमा स्थितियों का उपयोग करके गायब पिच-साइकिल प्रतिनिधित्व को पुनर्निर्मित करता है। क्लिक, डिजिटल पॉप्स, या कठोर म्यूट बनाने के बजाय, ड्रॉप्ड वॉइस पैकेट सौम्य रूप से घटते हैं।
ऑडियो गुणवत्ता बनाम बिटरेट प्रोफ़ाइल
आदर्श नेटवर्क परिस्थितियों (0% पैकेट हानि) में, iLBC लगभग 4.14 (5.0 में से) का मीन ओपिनियन स्कोर (MOS) प्राप्त करता है। जबकि यह अनकम्प्रेस्ड G.711 PCM ($\mu$-law पर $\sim 4.3$) से थोड़ा कम है, iLBC $5%\text{ to }10%$ तक की उच्च पैकेट हानि दरों पर भी आवाज़ की स्पष्टता बनाए रखता है, जहाँ G.729 या G.711 की समझदारी काफी घट जाती है।
4. .ilbc ऑडियो फ़ाइलें कैसे खोलें और चलाएँ
क्योंकि .ilbc एक विशेषीकृत रॉ टेलीफ़ोनी स्ट्रीम फ़ॉर्मेट है, न कि सामान्य‑उपयोगकर्ता मीडिया कंटेनर (जैसे MP3 या WAV), इसलिए मुख्यधारा के उपभोक्ता प्लेयर्स इसे समर्पित कोडेक पैक्स के बिना हमेशा पहचान नहीं पाते हैं।
विधि 1: ऑडेसिटी का उपयोग करके (कच्चा डेटा आयात करें)
Audacity रॉ PCM डंप्स या डिकोडेड iLBC आवाज़ फ़ाइलें आयात कर सकता है:
- Audacity लॉन्च करें।
- File > Import > Raw Data… पर जाएँ।
- फ़ाइल चुनें और एन्कोडिंग को Signed 16-bit PCM, बाइट ऑर्डर को Little-endian, 1 Channel (Mono), तथा सैंपल रेट को 8000 Hz पर सेट करें।
विधि 2: FFplay के माध्यम से कमांड-लाइन प्लेबैक
यदि आपका FFmpeg बिल्ड libilbc एक्सटेंशन के साथ संकलित है:
ffplay -f ilbc sample.ilbc
विधि 3: समर्पित VoIP विश्लेषक
नेटवर्क डायग्नोस्टिक टूल्स जैसे Wireshark सीधे कैप्चर किए गए SIP/RTP पैकेट सत्रों से .ilbc आवाज़ पेलोड को निकाल और पुनर्निर्मित कर सकते हैं और उन्हें बिल्ट‑इन RTP प्लेयर यूटिलिटी के माध्यम से चला सकते हैं।
5. .ilbc ऑडियो फ़ाइलें कैसे बनाएं और परिवर्तित करें
.ilbc ऑडियो के साथ काम करने के लिए 16-बिट, सिंगल-चैनल, $8000\text{ Hz}$ इनपुट ऑडियो आवश्यक है।
FFmpeg का उपयोग करके iLBC एन्कोडिंग
मौजूदा .wav या .mp3 ऑडियो सैंपल को .ilbc बिटस्ट्रीम में बदलने के लिए:
ffmpeg -i input_speech.wav \
-ar 8000 \
-ac 1 \
-c:a libilbc \
output_audio.ilbc
-ar 8000: ऑडियो को आवश्यक 8 kHz दर पर री-सैंपल करता है।-ac 1: मल्टी-चैनल ऑडियो को मोनो में डाउनमिक्स करता है।-c:a libilbc:libilbcरेफ़रेंस एन्कोडर का उपयोग करता है।
फ़्रेम मोड निर्दिष्ट करना ($20\text{ ms}$ या $30\text{ ms}$)
आप -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
एक .ilbc फ़ाइल को मानक WAV में डिकोड करना
एक .ilbc फ़ाइल को कहीं भी चलने योग्य अनकम्प्रेस्ड WAV फ़ाइल में बदलने के लिए:
ffmpeg -f ilbc -i voice_message.ilbc converted_audio.wav
6. अक्सर पूछे जाने वाले प्रश्न (FAQ)
Q1: iLBC ऑडियो फ़ॉर्मेट को किस प्राथमिक समस्या को हल करने के लिए बनाया गया था?
iLBC फ़ॉर्मेट को IP नेटवर्क्स पर भाषण की समझदारी को बनाए रखने के लिए डिज़ाइन किया गया था, प्रत्येक ऑडियो फ्रेम को स्वतंत्र बनाकर, जिससे पैकेट लॉस त्रुटियों का प्रभाव अगले भाषण फ्रेमों तक न फैले।
Q2: एक .ilbc फ़ाइल के दो ऑपरेशनल बिटरेट क्या हैं?
एक .ilbc स्ट्रीम या तो $13.33\text{ kbit/s}$ पर काम करती है जब $30\text{ ms}$ फ्रेम्स का उपयोग किया जाता है या $15.20\text{ kbit/s}$ पर जब $20\text{ ms}$ फ्रेम्स के लिए कॉन्फ़िगर किया जाता है।
Q3: क्या iLBC फ़ॉर्मेट को उच्च-गुणवत्ता वाले संगीत की स्ट्रीमिंग के लिए उपयोग किया जा सकता है?
नहीं, iLBC एक संकीर्ण बैंड स्पीच कोडेक है जो केवल $8\text{ kHz}$ सैंपलिंग रेट तक सीमित है, और यह केवल मानव आवाज़ के लिए $90\text{ Hz}$ से $4000\text{ Hz}$ के बीच अनुकूलित किया गया है।
Q4: क्या iLBC ऑडियो कोडेक रॉयल्टी-फ़्री है?
हाँ, iLBC पूरी तरह से IETF RFC 3951 के तहत मानकीकृत है और WebRTC प्रोजेक्ट के माध्यम से एक ओपन-सोर्स, royalty-free 3-क्लॉज़ BSD लाइसेंस के तहत जारी किया गया है।
Q5: iLBC आधुनिक Opus कोडेक की तुलना में कैसे है?
जबकि iLBC ने शुरुआती ब्रॉडबैंड नेटवर्क में संकीर्ण बैंड VoIP के लिए पैकेट-लॉस कंसिलिएशन प्रदान किया, आधुनिक Opus कोडेक डायनामिक बिटरेट, फुल-बैंड ($48\text{ kHz}$) ऑडियो, और कम एल्गोरिदमिक लेटेंसी का समर्थन करता है।
7. आधिकारिक विनिर्देश और संदर्भ
- IETF RFC 3951 विनिर्देशन: इंटरनेट लो बिट रेट कोडेक (iLBC) स्पीच और ऑडियो मानक
- IETF RFC 3952 पेलोड फ़ॉर्मेट: iLBC के लिए रियल-टाइम ट्रांसपोर्ट प्रोटोकॉल (RTP) पेलोड फ़ॉर्मेट
- WebRTC ओपन सोर्स प्रोजेक्ट: WebRTC कोडेक लाइसेंसिंग और iLBC कार्यान्वयन
- FFmpeg कोडेक दस्तावेज़ीकरण: FFmpeg libilbc एकीकरण दिशानिर्देश