您好,登錄后才能下訂單哦!
FreeSWITCH默認(rèn)是不支持G729轉(zhuǎn)碼的,但可至此G729媒體透?jìng)鳎虼巳绻麅蓚€(gè)話機(jī)有一個(gè)只支持G729時(shí)是無法進(jìn)行呼叫的,同時(shí)在使用G729編碼時(shí)FreeSWITCH是不能進(jìn)行錄音的。
當(dāng)然如果商業(yè)應(yīng)用的話可以購買G729的許可,10刀一通道,或者使用硬件的轉(zhuǎn)碼卡,價(jià)格貌似就更高了。
網(wǎng)絡(luò)上有很多使用8000hz的源碼包編譯FreeSWITCH可用的G729模塊,但是效果一般,我這里使用的是bcg729的源碼來進(jìn)行編譯,轉(zhuǎn)碼效果比8000hz的稍好。BCG729當(dāng)前最新的版本是1.0.3
準(zhǔn)備工作:與當(dāng)前運(yùn)行的FreeSWITCH版本一致的源碼一份
開始編譯:
1、進(jìn)入源碼../src/mod/endpoints目錄
cd /usr/src/freeswitch-1.6.19/src/mod/endpoints
2、檢出FreeSWITCH適用的G729模塊(這部分源碼是對(duì)BCG729進(jìn)行FreeSWITCH的適配)
git clone https://github.com/xadhoom/mod_bcg729.git
3、將mod_bcg729改名為mod_g729
mv mod_g729 mod_g729_bak mv mod_bcg729 mod_g729
4、返回FreeSWITCH源碼主目錄,執(zhí)行配置
./configure
5、進(jìn)入../src/mod/endpoints/mod_g729目錄,并執(zhí)行編譯
cd /usr/src/freeswitch-1.6.19/src/mod/endpoints/mod_g729 make ##編譯時(shí)如果提示找不到頭文件,可以將FreeSWITCH源碼include目錄下的對(duì)應(yīng)頭文件復(fù)制到 #../mod_g729/bcg729/include/目錄,還有其他找不到的頭文件可以使用find命令 #在FreeSWITCH源碼目錄下搜索,然后復(fù)制到../mod_g729/bcg729/include/目錄,然后再重新編譯
6、編譯完成后,將mod_bcg729.so復(fù)制到FreeSWITCH的庫目錄,也可以直接替換FreeSWITCH的庫目錄下的G729庫文件
cp mod_bcg729.so /usr/lib/freeswitch/mod/
7、修改FreeSWITCH配置文件vars.xml,在global_codec_prefs和outbound_codec_prefs中添加G729
<X-PRE-PROCESS cmd="set" data="global_codec_prefs=PCMU,PCMA,GSM,G729,G7221@32000h,G7221@16000h,G722,OPUS,VP8" /> <X-PRE-PROCESS cmd="set" data="outbound_codec_prefs=PCMU,PCMA,GSM,G729" />
8、在fs_cli中加載BCG729模塊
unload mod_g729 load mod_bcg729
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。