Windows7中使用SRS集成音视频一对一通话

本文详细介绍了如何在Windows7环境下,利用docker部署SRS服务器,启动一对一通话功能。首先拉取SRS镜像,然后启动SRS服务和信令服务器,注意配置HTTPS以确保安全通信,并在Chrome浏览器中进行相应设置以允许本地IP。通过设置相同的Room名称,即可实现一对一通话。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

SRS早就具备了SFU的能力,比如一对一通话、多人通话直播连麦等等。在沟通中,一对一是常用而且典型的场景, 让我们一起来看看如何用SRS做直播和RTC一体化的一对一通话。

一、启动windows7-docker

 二、拉取SRS镜像

执行命令:docker pull ossrs/srs:4

使用docker images查看当前镜像列表

 三、启动SRS

执行命令如下:

docker run --rm -it -p 1935:1935 -p 1985:1985 -p 8080:8080 --env CANDIDATE="127.0.0.1" -p 8000:8000/udp ossrs/srs:4 ./objs/srs -c conf/rtc.conf

我们使用windows自带的powershell执行我们的命令。

 四、启动信令服务器

执行命令如下:

docker run --rm -p 1989:1989 registry.cn-hangzhou.aliyuncs.com/ossrs/signaling:1

 接下来我们使用docker容器的ip地址来访问,端口是1989

 五、注意事项

因为一对一通话需要使用https地址,而我们需要做本地测试的话需要把本地的IP地址添加到浏览器的安全设置中。

1.浏览器输入chrome://flags

2.搜索unsafely-treat-insecure-origin-as-secure

3.输入ip地址,并设置可用enabled

 4.最后点击右下角的重启浏览器按钮。

六、一对一通话展示

 

 

我们再次开一个一对一通话窗口,并设置同一个Room名称。

 

 通过上面的操作,我们就实现了一个一对一通话的功能。同理后面的多人通话也是一样的配置。

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 ,使用cygwin 在windows下的编译 。 修改代码 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
发出的红包

打赏作者

qinxun2008081

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

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

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

打赏作者

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

抵扣说明:

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

余额充值