前言
为什么要做这么一个工作?从事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版本,可能可以用