FreeSWITCH中文网,电话机器人开发网 ,微信订阅号:

FreeSWITCH及VOIP,Openser,电话机器人等产品中文技术资讯、交流、沟通、培训、咨询、服务一体化网络。QQ群:293697898

FreeSWITCH-V1.8.7在CentOS7上编译且进行视频聊天


tags:FreeSWITCH 视频 CentOS7 编译 创建时间:2020-02-07 20:03:04

        作为语音应用来说,其实FreeSWITCH1.2.24够用,当然ims等的配置那么1.4.26也足矣!但如果作为视频会议和视频聊天,还是用1.6以上的版本会好一些,在2015年,我们写了一篇专门为WEBRTC,FS 视频会议相关的文章《FreeSWITCH1.7带mod_av的编译及H264、VP8转码支持操作及WEBRTC》(写文章时,还没有这个订阅号),当然当时前提是Debian 8的操作系统,而CentOS系统中一直因为FFmpeg和libav两个库的原因,一直没有搞好,最近抽时间,把在Centos7上安装FreeSWITCH1.8.7及mod_av,用于视频会议和点对点视频对话。

        闲话少说,言归正传!

CentOS版本

切记,安装mini版,不要装desktop版,因为大量的依赖库会因desktop而不同。

安装是使用的虚拟机Virtual Box,当时也不知为啥选了个3核

内存

安装CentOS7-mini版不再叙述。我们认为配好了ip可以远程通过putty等连接了。

以下为安装步骤:

yum install yum-utils

yum install -y https://files.freeswitch.org/repo/yum/centos-release/freeswitch-release-repo-0-1.noarch.rpm epel-release

yum-builddep -y freeswitch

yum install -y yum-plugin-ovl centos-release-scl rpmdevtools yum-utils git

yum install -y devtoolset-4-gcc*

scl enable devtoolset-4 'bash'

cd /usr/local/src

git clone -b v1.8 https://git.oschina.net/nwaycn/freeswitch.git

cd /usr/local/src/freeswitch

./bootstrap.sh -j

./configure --enable-portable-binary \
            --prefix=/usr --localstatedir=/var --sysconfdir=/etc \
            --with-gnu-ld --with-python --with-erlang --with-openssl \
--enable-core-odbc-support --enable-zrtp

这里需要对modules.conf中的mod_av取消注释


make

make -j install

make -j cd-sounds-install

make -j cd-moh-install



注:如果要编译mod_av,则需要以下步骤

wget http://download1.rpmfusion.org/free/el/updates/7/x86_64/x/x264-libs-0.148-24.20170521gitaaa9aa8.el7.x86_64.rpm

wget http://download1.rpmfusion.org/free/el/updates/7/x86_64/x/x264-devel-0.148-24.20170521gitaaa9aa8.el7.x86_64.rpm

rpm -hiv x264-libs-0.148-24.20170521gitaaa9aa8.el7.x86_64.rpm

rpm -hiv x264-devel-0.148-24.20170521gitaaa9aa8.el7.x86_64.rpm

cd /usr/local/src/freeswitch/libs

git clone https://gitee.com/nwaycn/libav.git

cd libav

 ./configure --enable-pic --enable-shared  --enable-libx264 --enable-gpl --extra-libs="-ldl"

make

make install

cp /usr/local/lib/pkgconfig/libavcodec.pc    /usr/lib64/pkgconfig/
cp /usr/local/lib/pkgconfig/libavdevice.pc   /usr/lib64/pkgconfig/
cp /usr/local/lib/pkgconfig/libavfilter.pc   /usr/lib64/pkgconfig/
cp /usr/local/lib/pkgconfig/libavformat.pc   /usr/lib64/pkgconfig/
cp /usr/local/lib/pkgconfig/libavresample.pc /usr/lib64/pkgconfig/
cp /usr/local/lib/pkgconfig/libavutil.pc     /usr/lib64/pkgconfig/
cp /usr/local/lib/pkgconfig/libswscale.pc    /usr/lib64/pkgconfig/、

ldconfig

如果pkgconfig配了后,还是会出现找不到动态库,故而强行做软链库

ln -s /usr/local/lib/libavformat.so.56 /usr/lib64

ln -s /usr/local/lib/libavdevice.so.55 /usr/lib64
ln -s /usr/local/lib/libavfilter.so.5 /usr/lib64
ln -s /usr/local/lib/libavcodec.so.56 /usr/lib64
ln -s /usr/local/lib/libavresample.so.2 /usr/lib64
ln -s /usr/local/lib/libavutil.so.54 /usr/lib64
ln -s /usr/local/lib/libswscale.so.3 /usr/lib64
然后

cd /usr/src/freeswitch

重新编译freeswitch

于是乎,我们就可以互打看到视频

当然占的流量也是杠杠滴



上海老李,QQ:1354608370,FreeSWITCH QQ群: