freeswitch 编译

Posted lmxx

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了freeswitch 编译相关的知识,希望对你有一定的参考价值。

2019年3月12日

 

前面三个月一直在研究webrtc源码,也算小有成效吧。但是当客户端处理完成之后发现,很多应用场景还是需要MCU对视频进行处理,所以从上周开始研究带MCU相关的服务器。目前阶段在研究freeswitch源码。本文主要介绍一下freeswitch的编译过程。

 

一. 下载freeswitch代码

官方地址为 https://freeswitch.org/stash/scm/fs/freeswitch.git 

使用 git clone https://freeswitch.org/stash/scm/fs/freeswitch.git 命令将代码下载到本地。

备注:在用windows下载的时候,经常会出现断开连接的情况,如果也有这个问题的同学可以使用 https://github.com/lmxx/freeswitch.git 进行下载。

本文编译的版本为 v1.8.5,故下载完成需要进入文件夹执行如下命令:

git checkout -b v1.8.5

 

二. 编译

1 windows

    Windows版本编译比较简单,直接打开Freeswitch.2017.sln文件

    右键点击 FreeSwitchConsole 工程,编译即可。(freeswitch会自动下载相关依赖,并进行编译)

2 linux(Ubuntu 16.04)

     注:本文使用的是Ubuntu16.04  x64位版本,其它版本可能会有差异。

     (1) 依赖库按照

           sudo apt-get install autoconf
           sudo apt-get install libtool libtool-bin 
           sudo apt-get install zlib1g-dev 
           sudo apt-get install libjpeg-dev
           sudo apt-get install  libsqlite3-dev
           sudo apt-get install libcurl4-openssl-dev
           sudo apt-get install libpcre3-dev
           sudo apt-get install libspeexdsp-dev libspeex-dev
           sudo apt-get install libldns-dev
           sudo apt-get install libedit-dev
           sudo apt-get install libtiff-dev
           sudo apt-get install yasm
           sudo apt-get install liblua5.2-dev  (freeswtich v1.8.5仅支持lua5.1和5.2版本,其他版本无法建立依赖关系)
           sudo apt-get install libopus-dev
           sudo apt-get install build-essential
           sudo apt-get install uuid-dev 
           sudo apt-get install libsndfile-dev
           sudo apt-get install libpq-dev 
           sudo apt-get install libavformat-dev
           sudo apt-get install libavresample-dev 
           sudo apt-get install libswscale-dev

     其他依赖库:

           cmake:(部分依赖库编译需要cmake版本高于 3.6.2,但是本机的稳定版本最高只能升级到3.5,故用以下方法升级)
           去 https://cmake.org/download/ 现在cmake代码,本文下载的版本是 cmake-3.11.3.tar.gz ,然后执行如下命令
           tar xzvf cmake-3.11.3.tar.gz 
           cd cmake-3.11.3/
           ./configure 
           make
           sudo make install
           以上执行完成后 输入 cmake -version 产看版本号

           libks:
           git clone https://github.com/signalwire/libks.git
           cd libks/
           git checkout -b 1.1.0 
           mkdir build
           cd build
           cmake -DCMAKE_BUILD_TYPE=Release ..  (如果要编译debug版本,将Release改为Debug)
           make
           sudo make install (如果遇到问题,打开cmake_install.cmake文件,找到错误对应的行数,把相应内容注释掉即可)

           signalwire-c:
           git clone https://github.com/signalwire/signalwire-c.git
           cd signalwire-c/
           mkdir build
           cd build
           cmake -DCMAKE_BUILD_TYPE=Release ..  (如果要编译debug版本,将Release改为Debug)
           make
           sudo make install (如果遇到问题,打开cmake_install.cmake文件,找到错误对应的行数,把相应内容注释掉即可)

     (2) 编译freeswitch

           ./bootstrap.sh
           ./configure
           make
           sudo make install
           sudo make sounds-install 
           sudo make moh-install 
           sudo make cd-sounds-install 
           sudo make cd-moh-install

3. mac

    在外出差,mac代码没带,后续编译了再补充

 

以上是关于freeswitch 编译的主要内容,如果未能解决你的问题,请参考以下文章

LINUX下载编译FreeSwitch

freeSwitch入门

怎么查看freeswitch版本

freeSWITCH 视频通话

freeSWITCH 视频通话

FreeSWITCH voicemail