- 作者:james.zhu(james.zhu@hiastar.com) www.hiastar.com 微信公眾號:asterisk-cn
- Asterisk課堂-如何通過源代碼安裝方式安裝Asteisk/dahdi
- Asterisk課堂-系統(tǒng)部署環(huán)境要求
- Asterisk課堂-Asterisk技術(shù)架構(gòu)
- Asterisk課堂-撥號規(guī)則基礎(chǔ)
- Asterisk課堂-創(chuàng)建第一個撥號規(guī)則
- Asterisk課堂-撥號規(guī)則中的Contexts
- Asterisk課堂-撥號規(guī)則中變量的使用
- Asterisk課堂-撥號規(guī)則中的Extensions用法
- Asterisk課堂-撥號規(guī)則中匹配模式
- Asterisk課堂-IAX2 介紹
- Asterisk課堂-IAX2 呼叫流程
- Asterisk課堂-SIP介紹
- Asterisk課堂-SIP呼叫流程
- Asterisk課堂-終端注冊
- Asterisk課堂-SIP Trunk
- Asterisk課堂-SIP和NAT
- Asterisk課堂-撥號規(guī)則中的Include使用方法
- Asterisk課堂-撥號規(guī)則中的語音播放
- Asterisk課堂-DTMF 介紹
- Asterisk課堂-語音IVR基礎(chǔ)
- Asterisk課堂-Timeout 超時設(shè)置
- Asterisk課堂-CLI 使用方法
- Asterisk課堂-關(guān)于Input DTMF介紹
- Asterisk課堂-撥號規(guī)則中呼叫控制
- Asterisk課堂-如何使用Debug
- Asterisk課堂-撥號規(guī)則中的優(yōu)先級
- Asterisk課堂-語音編碼介紹
視頻中介紹了幾種編碼的特點和各自的特點:
本章節(jié)主要介紹幾個在Asterisk環(huán)境中關(guān)于語音編碼的相關(guān)問題。它們包括:語音編碼的基本屬性,使用語音編碼原因,幾種語音編碼的各自的特點。
語音編碼包括四個基本的屬性,它們是:Sampling rate,Packet size,Complexity,Bandwidth。 語音首先經(jīng)過空氣傳播,并且通過一定的設(shè)備采集了語音以后,經(jīng)過設(shè)備的處理,完成數(shù)字轉(zhuǎn)換,最后轉(zhuǎn)化成一定的數(shù)據(jù)形式,通過網(wǎng)絡(luò)或者其他設(shè)備發(fā)送到相應(yīng)的目的地。對于語音電話系統(tǒng)來說,根據(jù)數(shù)字通信之父Nyquist的采樣定律,8kHz是可以滿足窄帶采樣率的要求。這個過程就涉及了以上這四個屬性。因為要適應(yīng)不同的環(huán)境和設(shè)備的要求,采樣律可能有所不同。Packet size 是語音的打包時長,顧名思義就是在一定時間內(nèi)語音文件在傳輸之前打包幀數(shù)據(jù)需要的時間。因為不同編碼的傳輸帶寬要求不同,語音數(shù)據(jù)以幀的方式來測試,這樣需要要求在一定時間內(nèi)對每個幀數(shù)據(jù)進(jìn)行打包,以便穩(wěn)定地發(fā)送到對端。一般都限定在20毫秒內(nèi)完成,有的語音編碼可支持靈活配置。語音編碼算法的計算復(fù)雜度和帶寬,CPU有著非常緊密的聯(lián)系,采用不同算法會消耗不同的系統(tǒng)資源,例如需要高壓縮比的編碼還是低壓縮比的編碼。這樣就會導(dǎo)致網(wǎng)絡(luò)帶寬占用的不同。Bandwidth 是一個核心的考慮因素,為了節(jié)省帶寬,很多用戶考慮使用G.729 編碼。但是,G.729 會提高部署成本。
為什么在asterisk中使用語音編碼? 根據(jù)上面的介紹,因為網(wǎng)絡(luò)的不同和終端的不同,導(dǎo)致通話使用的語音編碼不同,雙方不同的語音編碼不會實現(xiàn)正常的通話。這時,需要Asterisk來進(jìn)行一個語音編碼的轉(zhuǎn)換功能,這樣會導(dǎo)致系統(tǒng)CPU負(fù)載增加,可能影響系統(tǒng)的穩(wěn)定性。
Asterisk環(huán)境中常用編碼的特點。在目前經(jīng)常使用的幾種語音編碼中,大部分用戶需要使用G.711 或者G.729 編碼。G.711 使用在傳統(tǒng)的PSTN語音接入環(huán)境中,G.729 則使用在IP測定語音編碼環(huán)境,例如現(xiàn)在的SIP中繼或者IMS。為了保證系統(tǒng)的穩(wěn)定性,選擇語音編碼時管理員需要考慮幾個方面的因素,例如語音質(zhì)量,帶寬占用比,CPU消耗情況,部署費用的問題。當(dāng)然管理員也只能在這幾個因素之間做一個平衡和妥協(xié)。圖例中列出了它們各自的特點。如果采用了G.729編碼,在系統(tǒng)部署時要考慮編碼轉(zhuǎn)換的問題。編碼轉(zhuǎn)化的成本大約一路差不多10美金左右。編碼轉(zhuǎn)換的解決方案包括通過IMS設(shè)備或者語音編碼卡來解決,也可以購買Digium官方的軟件許可證來支持。另外,還有免費的編碼解決方案,但是這里提醒大家,這種解決方案不能使用在商業(yè)的環(huán)境中,以免引起法律方面的糾紛,同時語音質(zhì)量也得不到保障。管理員在部署Asterisk服務(wù)器時,筆者建議用戶使用計算工具來計算出不同編碼的帶寬占用比,這樣可以獲得一個大概部署預(yù)算費用。
本章節(jié)簡單討論了語音編碼的基本概念和相關(guān)的幾個參數(shù),也討論了為什么使用不同的語音編碼,還有幾個不同語音編碼的特點。另外,我們這里沒有討論寬帶的編碼和其他高清編碼,還有最新的Opus 和其他編碼類型。當(dāng)然,這些編碼也逐漸支持了Asterisk環(huán)境。因為網(wǎng)絡(luò)環(huán)境不同,終端不同,筆者建議用戶需要根據(jù)自己的網(wǎng)絡(luò)環(huán)境做進(jìn)一步的測試來保證系統(tǒng)的語音質(zhì)量。