FreeSWITCH开启silk编码及转码

操作系统:Debian 12.5_x64

FreeSWITCH版本: 1.10.11

SILK编码由Skype设计,是一种用于VoIP的宽带音频编解码器,它支持8khz、12khz、16khz、24khz四种不同的采样率。今天整理下FreeSWITCH使用silk编码进行通话及转码的笔记,希望对你有帮助。

一、模块安装及配置

1、添加模块编译项

文件:源码根目录的modules.conf文件

添加(或取消注释)如下代码:

codecs/mod_silk

FreeSWITCH开启silk编码及转码

2、编译及安装

需要安装依赖:

FreeSWITCH开启silk编码及转码

如果下载过慢,可从如下渠道获取:

关注微信公众号(聊聊博文,文末可扫码)后回复 20251125 获取。
libsilk库编译及加载命令如下:
./bootstrap.sh ./configure make && make install  cp /usr/local/lib/pkgconfig/silk.pc /usr/lib64/pkgconfig ldd

FreeSWITCH开启silk编码及转码

源码目录执行如下命令:

autoreconf -fiv make clean ./devel-bootstrap.sh && ./configure && make && make install

会编译mod_silk模块并生成文件:

FreeSWITCH开启silk编码及转码

3、加载mod_silk模块

编辑 conf/autoload_configs/modules.conf.xml 文件,添加如下内容:

<load module="mod_silk"/>

FreeSWITCH开启silk编码及转码

 重启FreeSWITCH或执行重新load操作:

load mod_silk

FreeSWITCH开启silk编码及转码

如果加载不报错,则添加mod_silk 模块成功。

4、启用编码

 配置文件路径:

/usr/local/freeswitch/conf/vars.xml

配置文件内容如下(默认):

<X-PRE-PROCESS cmd="set" data="global_codec_prefs=SILK,OPUS,G722,PCMU,PCMA,L16,H264,VP8"/> <X-PRE-PROCESS cmd="set" data="outbound_codec_prefs=SILK,OPUS,G722,PCMU,PCMA,L16,H264,VP8"/>

FreeSWITCH开启silk编码及转码

 重启freeswitch生效。

二、使用silk编码通话

1、配置话机支持silk编码

配置分机只支持silk编码:

FreeSWITCH开启silk编码及转码

2、验证silk编码通话

添加测试拨号方案:

  <extension name="playTest">       <condition field="destination_number" expression="^10087$">         <action application="answer"/>         <action application="playback" data="$${hold_music}"/>       </condition>     </extension>

FreeSWITCH开启silk编码及转码

拨打测试号码(比如10087)进行呼叫测试,效果如下:

FreeSWITCH开启silk编码及转码

三、silk编码转换

1、开启语音编码转换功能

文件:conf/vars.xml

修改或添加内容:

<X-PRE-PROCESS cmd="set" data="global_codec_prefs=SILK,OPUS,G722,PCMU,PCMA,L16,H264,VP8"/>   <X-PRE-PROCESS cmd="set" data="outbound_codec_prefs=SILK,OPUS,G722,PCMU,PCMA,L16,H264,VP8"/>   <X-PRE-PROCESS cmd="set"data="media_mix_inbound_outbound_codecs=true"/>

FreeSWITCH开启silk编码及转码

 文件:

sip_profiles/internal.xml

修改或添加如下内容:

    <param name="inbound-late-negotiation" value="false"/>     <param name="disable-transcoding" value="false"/>

FreeSWITCH开启silk编码及转码

重启freeswitch生效。

2、通话效果

分机1009 PCMU编码

分机1010 silk编码

通话效果如下:

FreeSWITCH开启silk编码及转码

抓包效果如下:

FreeSWITCH开启silk编码及转码

四、资源下载

本文相关资源及示例配置,可从如下渠道获取:

关注微信公众号(聊聊博文,文末可扫码)后回复 20251125 获取。

FreeSWITCH开启silk编码及转码

【文件说明】

libsilk.tar.gz    :  libsilk源码

libsilk-compiled.tar.gz  : libsilk源码(已编译,so文件在源码的.libs目录)

fs_mod_silk.tar.gz : mod_silk二进制编译文件

发表评论

评论已关闭。

相关文章