您好,登錄后才能下訂單哦!
FreeSWITCH默認是不支持G729轉碼的,但可至此G729媒體透傳,因此如果兩個話機有一個只支持G729時是無法進行呼叫的,同時在使用G729編碼時FreeSWITCH是不能進行錄音的。
當然如果商業應用的話可以購買G729的許可,10刀一通道,或者使用硬件的轉碼卡,價格貌似就更高了。
網絡上有很多使用8000hz的源碼包編譯FreeSWITCH可用的G729模塊,但是效果一般,我這里使用的是bcg729的源碼來進行編譯,轉碼效果比8000hz的稍好。BCG729當前最新的版本是1.0.3
準備工作:與當前運行的FreeSWITCH版本一致的源碼一份
開始編譯:
1、進入源碼../src/mod/endpoints目錄
cd /usr/src/freeswitch-1.6.19/src/mod/endpoints
2、檢出FreeSWITCH適用的G729模塊(這部分源碼是對BCG729進行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源碼主目錄,執行配置
./configure
5、進入../src/mod/endpoints/mod_g729目錄,并執行編譯
cd /usr/src/freeswitch-1.6.19/src/mod/endpoints/mod_g729 make ##編譯時如果提示找不到頭文件,可以將FreeSWITCH源碼include目錄下的對應頭文件復制到 #../mod_g729/bcg729/include/目錄,還有其他找不到的頭文件可以使用find命令 #在FreeSWITCH源碼目錄下搜索,然后復制到../mod_g729/bcg729/include/目錄,然后再重新編譯
6、編譯完成后,將mod_bcg729.so復制到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
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。