FreeSWITCH折腾笔记5——G729转码支持
2017-08-26 14:22
239 查看
FreeSWITCH默认是不支持G729转码的,但可至此G729媒体透传,因此如果两个话机有一个只支持G729时是无法进行呼叫的,同时在使用G729编码时FreeSWITCH是不能进行录音的。
当然如果商业应用的话可以购买G729的许可,10刀一通道,或者使用硬件的转码卡,价格貌似就更高了。
网络上有很多使用8000hz的源码包编译FreeSWITCH可用的G729模块,但是效果一般,我这里使用的是bcg729的源码来进行编译,转码效果比8000hz的稍好。BCG729当前最新的版本是1.0.3
准备工作:与当前运行的FreeSWITCH版本一致的源码一份
开始编译:
1、进入源码../src/mod/endpoints目录
当然如果商业应用的话可以购买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/endpoints2、检出FreeSWITCH适用的G729模块(这部分源码是对BCG729进行FreeSWITCH的适配)
git clone https://github.com/xadhoom/mod_bcg729.git[/code]3、将mod_bcg729改名为mod_g729mv mod_g729 mod_g729_bak mv mod_bcg729 mod_g7294、返回FreeSWITCH源码主目录,执行配置./configure5、进入../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
相关文章推荐
- FreeSWITCH折腾笔记4——自己做一个TTS服务器
- FreeSWITCH折腾笔记7——使用keepalived进行高可用部署
- FreeSWITCH折腾笔记8——使用OpenSIPS进行负载均衡
- FreeSWITCH折腾笔记6——科大讯飞TTS合成lua脚本
- FreeSWITCH折腾笔记2——个性化FreeSWITCH
- FreeSWITCH折腾笔记3——数据库修改为postgresql
- FreeSWITCH折腾笔记1——SIP中继对接
- FreeSWITCH学习笔记 第一场 第四个镜头 局域网支持
- ASP.NET Core 折腾笔记二:自己写个完整的Cache缓存类来支持.NET Core
- Android源代码编译笔记(支持5.x及以上版本) - Mac篇
- IS笔记-同名文件支持不同系统的操作
- C#笔记31:本地化或多语言支持
- python进阶学习笔记(三)数据库支持 (实际工作用到了)
- LocalNote,让你像使用本地文件一样使用印象笔记(支持 markdown 格式)
- Java IO学习笔记(八):System类对IO的支持
- 优秀课件笔记之决策支持系统
- 简单OA项目笔记(1):MyEclipse添加SSH支持
- 支持证书许可证转手的公平抗滥用的合同签署协议(笔记)
- WebService学习笔记-CXF支持的数据类型
- 折腾了很久,突然CSDN又支持离线写博客了,继续博客计划。