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代码没带,后续编译了再补充
原文地址:https://www.cnblogs.com/lmxx/p/10519505.html