SRS编译configure参数文档

SRS是在2020年支持的WebRTC协议,研发的详细过程请参考#307。 直播和RTC的协议或能力,是SRS的核心能力,新的音视频开发者,将不会区分直播和RTC,因为都是互联网视频能力。

SRS对直播和RTC这两种能力的抽象,是流(Stream),一个流会有多个消费者(Consumer),流之间没有关联。 基于流,我们构造了各种业务的能力,比如集群、录制、转码、转发。 基于这些业务能力,我们提供了各种场景下的DEMO,比如低延迟直播、一对一通话、多人通话、连麦等等。

在下载SRS源码后编译过程中,可以通过添加./configure参数来开启某些功能!
具体参数有如下:

 ./configure --help 查看编译帮助信息。SRS提供了详细的编译选项来控制功能的开关,以及提供了一些有用的预设功能,可以针对不同的应用场景使其具备不同的默认选项。

比如 ./configure --gb28181=on 默认开启。主支版本SRS开启gb功能不完善,存在gb推流注册成功,无法invite拉流问题。如果使用晚上gb功能,需要使用SRS的gb分支。

比如 ./configure --with-ingest 开启ingest采集数据流,默认不开启

SRS的配置(configure)参数说明如下:

--help 配置的帮助信息
--with-ssl 添加ssl支持,ssl用来支持复杂握手。参考:RTMP Handshake。
--with-hls 支持HLS输出,将RTMP流切片成ts,可用于支持移动端HLS(IOS/Android),不过PC端jwplayer也支持HLS。参考:HLS
--with-dvr 支持将RTMP流录制成FLV。参考:DVR
--with-nginx 编译nginx,使用nginx作为web服务器分发HLS文件,以及demo的静态页等。
--with-http-callback 支持http回调接口,用于认证,统计,事件处理等。参考:HTTP callback
--with-http-api 打开HTTP管理接口。参考:HTTP API
--with-http-server 打开内置HTTP服务器,支持分发HTTP流。参考:HTTP Server
--with-ffmpeg 编译转码/转封装/采集用的工具FFMPEG。参考:FFMPEG
--with-transcode 直播流转码功能。需要在配置中指定转码工具。参考:FFMPEG
--with-ingest 采集文件/流/设备数据,封装为RTMP流后,推送到SRS。参考:Ingest
--with-stat 是否开启数据统计功能,SRS可以采集cpu/内存/网络/磁盘IO等数据,供监控系统通过http-api获取。(目前osx不支持)。
--with-research 是否编译research目录的文件,research目录是一些调研,譬如ts info是做HLS时调研的ts标准。和SRS的功能没有关系,仅供参考。
--with-utest 是否编译SRS的单元测试,默认开启,也可以关闭。
--with-gperf 是否使用google的tcmalloc库,默认关闭。
--with-gmc 是否使用gperf的内存检测,编译后启动srs会检测内存错误。这个选项会导致低性能,只应该在找内存泄漏时才开启。默认关闭。参考:gperf
--with-gmp 是否使用gperf的内存性能分析,编译后srs退出时会生成内存分析报告。这个选项会导致地性能,只应该在调优时开启。默认关闭。参考:gperf
--with-gcp 是否启用gperf的CPU性能分析,编译后srs退出时会生成CPU分析报告。这个选项会导致地性能,只应该在调优时开启。默认关闭。参考:gperf
--with-gprof 是否启用gprof性能分析,编译后srs会生成CPU分析报告。这个选项会导致地性能,只应该在调优时开启。默认关闭。参考:gprof
--with-librtmp 客户端推流/播放库,参考srs-librtmp
--with-arm-ubuntu12 交叉编译ARM上运行的SRS,要求系统是Ubuntu12。参考srs-arm
--jobs[=N] 开启的编译进程数,和make的-j(--jobs)一样,在configure时可能会编译nginx/ffmpeg等工具,可以开启多个jobs编译,可以显著加速。参考:Build: jobs
--static 使用静态链接。指定arm编译时,会自动打开这个选项。手动编译需要用户自身打开。参考:ARM
预设集:

--x86-x64,默认预设集,一般的x86或x64服务器使用。release使用这个配置编译。
--osx,苹果MAC OSX(Darwin)系统下编译,安装好xcode和brew后,可以使用这个选项。
--pi,树莓派预设集,arm的子集。树莓派的release用这个配置编译。
--cubie,在cubieboard下直接编译的选项,使用ubuntu差不多的配置集。
--arm,ubuntu下交叉编译,等价于--with-arm-ubuntu12。release使用这个配置。
--mips,ubuntu下交叉编译,为hiwifi的mips路由器编译。(目前srs在mips上有内存泄漏,2天左右会把路由器跑死)。
--dev,开发选项,尽可能开启功能。
--fast,关闭所有功能,只支持基本RTMP(不支持h264/aac),最快的编译速度。
--pure-rtmp,支持RTMP(支持h264+aac),需要编译ssl。
--rtmp-hls,支持RTMP和HLS,典型的应用方式。还可以加上内置的http服务器(--with-http-server)。
--disable-all, 禁用所有功能,只支持rtmp(vp6)。
--demo,SRS的演示编译选项。
--full,开启SRS所有的功能。
专家选项:有可能编译失败,不是专家就不要用这个。

--use-sys-ssl 使用系统的ssl,不单独编译ssl(在--with-ssl时有效)。

以下是对configure简介:

Linux系统下Configure命令参数解释说明

' [1]  configure'脚本有大量的命令行选项.对不同的软件包来说,这些选项可能会有变化,但是许多基本的选项是不会改变的.带上'-- help'选项执行'configure'脚本可以看到可用的所有选项.尽管许多选项是很少用到的,但是当你为了特殊的需求而configure一个包时,知道他们的存在是很有益处的.下面对每一个选项进行简略的介绍:

猜你喜欢

转载自blog.csdn.net/Lemon_D1999/article/details/129261393
srs
今日推荐