前言
为什么要做这么一个工作?从事FS开发也有些年头了,从最初的1.4版本到现在1.8版本(1.10版本一直没评估升级)。从音频(1.4)开发到视频开发(1.6)都做了,深知FS对于新手的门槛还是比较高的,尤其是入门的编译这一块。看了下ffmpeg有老外做了预编译版本,而FS原先也有预编译版本,但是是需要有系统依赖,运行也不是很方便,因此做了这么一个项目,就是把FS预编译并打包,只需要解压,可以很快执行运行跑起来整个FS。
底座系统及支持版本
系统 | 平台 | 工具链 | 编译日期 | FS版本列表 |
Debian 12 | x86_64 | gcc version 12.2.0 (Debian 12.2.0-14) | 20230903 | 1.10.10 1.10.7 1.8.7 1.6.20 |
Debian 11 | x86_64 | gcc version 10.2.1 20210110 (Debian 10.2.1-6) | 20221015 | 1.10.7 1.8.7 1.6.20 |
后续考虑增加更多的系统支持,初步先支持Linux x86_64。使用bundle的方式,确保在非Debian的Linux系统上也能正常运行。
二进制压缩包下载地址
支持的FreeSWITCH版本
- 1.10.10
- 1.10.7
- 1.8.7
- 1.6.20
不考虑支持1.4及以下的版本了,版本太老了,以上几个版本都是原版代码,没做任何补丁及bugfix,也不夹带私货(如果说有,那么就是一些编译路径是有私货)。编译完成后,仅做一些基础模块的加载测试,功能暂时没时间做验证。
依赖库说明(最新版本依赖)
依赖库 | 版本 | FS 1.10 | FS 1.8 | FS 1.6 |
ffmpeg | 3.2.18 | ✓ | ✓ | ✓ |
freetype | 2.13.1 | ✓ | ✓ | ✓ |
krb5 | 1.19.2 | ✓ | × | × |
lame | 3.100 | ✓ | ✓ | ✓ |
ldns | 1.8.3(FS1.8~FS1.10)/1.6.17(FS1.6) | ✓ | ✓ | ✓ |
libcurl | 8.0.1 | ✓ | ✓ | ✓ |
libedit | 20210910-3.1 | ✓ | ✓ | ✓ |
libflac | 1.4.3 | ✓ | ✓ | ✓ |
libjpeg-turbo | 2.1.4 | ✓ | ✓ | ✓ |
libks | v1.8.3 | ✓ | × | × |
libogg | v1.3.4 | ✓ | ✓ | ✓ |
libopus | 1.4 | ✓ | ✓ | ✓ |
libpng | v1.6.40 | ✓ | ✓ | ✓ |
libpq | 13.8 | ✓ | × | × |
libshout | 2.4.6 | ✓ | ✓ | ✓ |
libsndfile | 1.0.31 | ✓ | ✓ | ✓ |
libtiff | v4.4.0 | ✓ | ✓ | ✓ |
libuuid | 1.0.3 | ✓ | ✓ | ✓ |
libverto | 0.3.2 | ✓ | × | × |
libvorbis | 1.3.7 | ✓ | ✓ | ✓ |
lua | v5.4.6 | ✓ | ✓ | ✓ |
mariadb-connector-c | 3.3.4 | ✓ | × | × |
mpg123 | 1.30.2 | ✓ | ✓ | ✓ |
ncurses | 6.4 | ✓ | ✓ | ✓ |
opencore-amr | 0.1.6 | ✓ | ✓ | ✓ |
openh264 | v2.1.1 | ✓ | ✓ | ✓ |
openssl | 1.1.1-t(FS1.8~FS1.10)/1.0.2-u(FS1.6) | ✓ | ✓ | ✓ |
pcre | 8.45(FS1.8~FS1.10)/8.32(FS1.6) | ✓ | ✓ | ✓ |
sofia-sip | v1.13.16 | ✓ | builtin | builtin |
spandsp | 56795ba | ✓ | ✓ | ✓ |
speex | 1.2.1 | ✓ | ✓ | ✓ |
speexdsp | 1.2.1 | ✓ | ✓ | ✓ |
sqlite3 | 3.39.0+200 | ✓ | ✓ | ✓ |
vo-amrwbenc | 0.1.3 | ✓ | ✓ | ✓ |
x264 | 3fd9e89 | ✓ | ✓ | ✓ |
x265 | 3.4 | ✓ | ✓ | ✓ |
zlib | v1.3 | ✓ | ✓ | ✓ |
FS的依赖库就是这么多(应该还有部分被静态编译进去的,可能没统计进来),这也是他上手成本高的原因之一。
快速上手
由于编译是是用的我自己的路径,并不能适配所有人,因此通过脚本来定义了basedir,所以解压对应版本后,可以使用以下命令来执行相关的操作:
./bootstrap.sh # start FS ./stop.sh # stop FS ./cli.sh # run fs_cli
转载请注明: 转载自elkPi.com
本文链接地址: FreeSWITCH Builds
2024年9月23日
这个android 能有吗?
2024年10月2日
暂时还没计划,最近整一个arm版本,可能可以用