srs在win11下的编译

1.首先安装cygwin,最基本的gcc,g++,make,(libssl,openssl--未删除验证),libssl-devel这些库必须要安装,否则会提示相关的工具或者库找不到

如果中途提示缺什么库,在cygwin安装软件里面搜索并安装;我中途遇到过libssl找不到,安装了libssl-devel这个库后就可以正常编译并通过

 

2.直接按照官方给的方法:

./configure --gb28181=on
make
./objs/srs -c conf/gb28181.conf

 

SRS定位是运营级的互联网直播服务器集群,追求更好的概念完整性和最简单实现的代码。SRS提供了丰富的接入方案将RTMP流接入SRS,包括推送RTMP到SRS、推送RTSP/UDP/FLV到SRS、拉取流到SRSSRS还支持将接入的RTMP流进行各种变换,譬如将RTMP流转码、转发给其他服务器、转封装成HTTP-FLV流、转封装成HLS、转封装成HDS、录制成FLV。SRS包含支大规模集群如CDN业务的关键特性,譬如RTMP多级集群、VHOST虚拟服务器、无中断服务Reload、HTTP-FLV集群。此外,SRS还提供丰富的应用接口,包括HTTP回调、安全策略Security、HTTP API接口、RTMP测速。SRS在源站和CDN集群中都得到了广泛的应用Applications。 最新版本SRS 2.0-258 ,使用cygwinwindows下的编译 。 修改代码 setrlimit (2048) ,使其默认能支持 2048个连接 在i7笔记本上 ,测试 500路视频转发 ,srs.exe进程 占用cpu 5%,出奇的低。 以下是 编译错误笔记和修改的配置项。 *.修改 Makefile CXXFLAGS = -ansi -Wall -g -O0 -fPIC -std=gnu++11 -D__GLIBC__=2 -D__GLIBC_MINOR__=31 -DFD_SETSIZE=2048 1.depends.sh what a fuck, os not supported. ingore it !!!! 2. make[1]: 进入目录“/mnt/srs-2.0-r5/trunk/objs/st-1.9” if [ ! -d LINUX_3.0.4(0.338/5/3)_DBG ]; then mkdir LINUX_3.0.4(0.338/5/3)_DBG; f i /bin/sh: -c:行0: 未预期的符号 `(' 附近有语法错误 /bin/sh: -c:行0: `if [ ! -d LINUX_3.0.4(0.338/5/3)_DBG ]; then mkdir LINUX_3.0.4 (0.338/5/3)_DBG; fi' make[1]: *** [Makefile:348:LINUX_3.0.4(0.338/5/3)_DBG] 错误 1 make[1]: 离开目录“/mnt/srs-2.0-r5/trunk/objs/st-1.9” make: *** [Makefile:441:linux-debug] 错误 2 build st-1.9 failed, ret=2 3.depends.sh make cygwin-debug 提示 static lib failed. # st-1.9 # Some platforms allow to define FD_SETSIZE (if select() is used), e.g.: DEFINES += -DFD_SETSIZE=4096 ##################################################################################### if [ $SRS_EXPORT_LIBRTMP_PROJECT = NO ]; then # check the cross build flag file, if flag changed, need to rebuild the st. _ST_MAKE=linux-debug && _ST_EXTRA_CFLAGS="-DMD_HAVE_EPOLL -DMALLOC_STACK" 4.install CherryPy-3.2.4" require sudoer failed 解压 CherryPy-3.2.4.zip 至 objs目录 4.1 local_ip.sh 改成 ip='0.0.0.0' #ip=`ifconfig|grep "inet "|grep -v "127.0.0.1"|awk -F 'inet ' 'NR==1 {print $2}'|awk '{print $1}'|sed "s/addr://g"` 5. libst.def st_get_eventsys_name @112 st_set_eventsys @113 ibssl.a objs/openssl/lib/libcrypto.a -ldl /usr/lib/gcc/i686-pc-cygwin/7.4.0/../../../../i686-pc-cygwin/bin/ld: objs/src/ap p/srs_app_st.o: in function `Z11srs_st_initv': /mnt/srs-2.0-r5/trunk/src/app/srs_app_st.cpp:217: undefined reference to `st_set _eventsys' /usr/lib/gcc/i686-pc-cygwin/7.4.0/../../../../i686-pc-cygwin/bin/ld: /mnt/srs-2. 0-r5/trunk/src/app/srs_app_st.cpp:219: undefined reference to `st_get_eventsys_n ame' /usr/lib/gcc/i686-pc-cygwin/7.4.0/../../../../i686-pc-cygwin/bin/ld: /mnt/srs-2. 0-r5/trunk/src/app/srs_app_st.cpp:222: undefined reference to `st_get_eventsys_n ame' /usr/lib/gcc/i686-pc-cygwin/7.4.0/../../../../i686-pc-cygwin/bin/ld: /mnt/srs-2. 0-r5/trunk/src/app/srs_app_st.cpp:229: undefined reference to `st_get_eventsys_n ame' collect2: 错误:ld 返回 1 make[2]: *** [objs/Makefile:302:objs/srs] 错误 1 make[2]: 离开目录“/mnt/srs-2.0-r5/trunk” make[1]: *** [Makefile:38:server] 错误 2 make[1]: 离开目录“/mnt/srs-2.0-r5/trunk” make: *** [Makefile:8:default] 错误 2 6. ulimit -n 2048 srs_app_config.cpp 增加代码修改 进程可打开的最大文件描述词大一的值,超出此值,将会产生EMFILE错误 rlimit l; getrlimit(RLIMIT_NOFILE,&l); l.rlim_cur = get_max_connections() + 100; setrlimit(RLIMIT_NOFILE, &l); srs_info("setrlimit => soft:%d , hard:%d\n",(int)l.rlim_cur,(int)l.rlim_max);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

飘摇的海啸

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值