溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

FreeSWITCH折騰筆記5——G729轉(zhuǎn)碼支持

發(fā)布時(shí)間:2020-06-30 04:08:08 來源:網(wǎng)絡(luò) 閱讀:8311 作者:ligen119 欄目:建站服務(wù)器

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


向AI問一下細(xì)節(jié)

免責(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)容。

AI