原文地址:http://blog.51cto.com/908405/1959536

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_bakmv mod_bcg729 mod_g729

4、返回FreeSWITCH源码主目录,执行配置

./configure

5、进入../src/mod/endpoints/mod_g729目录,并执行编译

  cd /usr/src/freeswitch-1.6.19/src/mod/endpoints/mod_g729make##编译时如果提示找不到头文件,可以将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_g729load mod_bcg729

FreeSWITCH折腾笔记5——G729转码支持相关推荐

  1. Freeswitch如何支持G729转码开源版本

    在目前freeswitch各种业务都开始需要支持高并发的背景下,线路带宽的占用成为很多客户的考虑范围,目前比较流行语音编码有2种G711.G729.由于语音需要采用上下行对等的宽带,G711每线需要大 ...

  2. FreeSWITCH之配置G729转码

    在互联网大数据时代的背景下,作为服务器程序,高并发尤为重要,线路带宽资源就显得更加弥足珍贵了.目前比较流行语音编码有2种G711.G729.由于语音需要采用上下行对等的宽带,G711每线需要大约90k ...

  3. FreeSWITCH 学习笔记(一)

    [1]FreeSWITCH学习笔记 1.Windows安装包下载地址: http://files.freeswitch.org/windows/installer/ 2.源码下载地址: http:// ...

  4. apache arm 交叉编译_MacOS 下交叉编译的折腾笔记

    这是这个系列 "折腾笔记" 的第一篇,希望能用更直白的方式去展现交叉编译的时候做了些什么.因此,这个教程并不是最佳实践,但是可以让小伙伴们有一个更直白的理解.之后,我会把笔记的重点 ...

  5. NUC 折腾笔记 - Linux 系统篇

    NUC 折腾笔记 - Linux 系统篇 写一篇迟到的折腾笔记:NUC8 8i5beh .原本计划折腾 Hackintosh ,最后折腾了一台 Linux Homelab 设备. 本篇记录 NUC 基 ...

  6. python源码编译为库_【Python笔记】如何源码编译依赖LAPACK和ATLAS库的NumPy包

    上篇笔记介绍了不依赖lapack和atlas库的NumPy包源码编译/安装方法,但"纯净版"的NumPy会损失性能,故本篇笔记说明如何源码编译安装依赖lapack和atlas库的N ...

  7. 小米路由器3G建站折腾笔记1 - 引言与路由器选择

    小米路由器3G建站折腾笔记1 - 引言与路由器选择 小米路由器3G建站折腾笔记2 - 刷ROM和开启SSH 小米路由器3G建站折腾笔记3 - 网站架构选择 小米路由器3G建站折腾笔记4 - 安装opk ...

  8. MacBook外置显卡eGPU折腾笔记

    MacBook外置显卡eGPU折腾笔记 硬件选购 当今市场上个人电脑的独立显卡,基本上能选的只有NVIDIA和AMD了,如果你想买外置显卡来打游戏的话,NVIDIA和AMD的都可以,但如果是像我一样准 ...

  9. 小米路由器3G建站折腾笔记4 - 安装opkg和onmp

    小米路由器3G建站折腾笔记1 - 引言与路由器选择 小米路由器3G建站折腾笔记2 - 刷ROM和开启SSH 小米路由器3G建站折腾笔记3 - 网站架构选择 小米路由器3G建站折腾笔记4 - 安装opk ...

  10. K8s基础知识学习笔记及部分源码剖析

    K8s基础知识学习笔记及部分源码剖析 在学习b站黑马k8s视频资料的基础上,查阅了配套基础知识笔记和源码剖析,仅作个人学习和回顾使用. 参考资料: 概念 | Kubernetes 四层.七层负载均衡的 ...

最新文章

  1. Laplacian Eigenmaps 拉普拉斯特征映射
  2. 只读账号设置-db_datareader
  3. 100 计算机网络概述小结
  4. android 价格排序筛选页面,Android应用开发之基于Popupwindow实现的筛选房源信息等相关的可自由排序控件...
  5. python list存储对象_python List 对象
  6. docker提交容器成一个新的镜像commit和push,以及docker常用命令
  7. odbc驱动程序配置失败_如何使用ODBC驱动程序配置链接服务器
  8. Address already in use: bind JVM端口被占用解决方法
  9. 硬核!如何全面系统地自学 Java ?
  10. Spring 初始化2次的问题
  11. 从XmlDocument到XDocument的转换
  12. 用java把word转pdf
  13. 一次人大金仓剔除锁经历
  14. 微信小程序实现五星评分效果
  15. VMware虚拟机复制文件卡死的解决
  16. 如何一天深度睡眠4个小时
  17. Python项目通用的目录结构总结
  18. 信号地与电源地、模拟地与信号地
  19. 目前世界上最主要的导航电子地图数据标准/格式
  20. 解决windows下流氓软件的广告弹窗找不到关闭设置的问题

热门文章

  1. Android O WMS(3) -- addwindow
  2. dell 7040m 黑苹果_王者做图显示器,戴尔(DELL)U2417全面介绍
  3. Android混淆规则
  4. 批处理访问域服务器文件夹,批处理如何访问域共享文件夹
  5. HTML5期末大作业:动漫人物介绍网站设计——哆啦A梦(5页) HTML+CSS+JavaScript 学生动漫网页设计模板下载 哆啦A大学生HTML网页制作作品 简单漫画网页设计成品
  6. java jdom jar_jdom jar
  7. Pytho爬虫-4567电影网电影信息爬取
  8. Android信鸽推送全解
  9. 百度富文本ueditor实现导入word并将内容显示到编辑器中
  10. 隐马尔可夫模型(四)学习问题