一、简介
二、go环境配置
三、srs编译配置
四、信令服务器编译
4.1 signaling8
4.2 web服务器
五、测试
六、附录
官⽅⽂档参考地址:https://github.com/ossrs/srs/wiki/v4_CN_WebRTC#sfu-one-to-one
一、简介
srs的webrtc能力和两个信令服务器不管是逻辑上还是代码目录上都是分开的,两个信令服务器相当于是srs的外挂服务器。这两个服务器分别是signaling(信令)和httpx-static(web访问),代码都放在了SRS的3rdparty⽬录,需要go环境才能编译。
二、go环境配置
Go官⽹(https://golang.google.cn/dl/)
cd /usr/local/
wget https://dl.google.com/go/go1.16.5.linux-amd64.tar.gz --no-check-certificate
tar -C /usr/local -xzf go1.16.5.linux-amd64.tar.gz
配置环境变量GOROOT使得任何终端都能使用go,也就是找到go的可执行文件路径。
GOROOT 的值应该为Go语⾔的当前安装⽬录
vim /etc/profile
export GOROOT=/usr/local/go
export PATH=$PATH:$GOROOT/bin
source /etc/profile
三、srs编译配置
git clone -b v4.0.123 https://gitee.com/winlinvip/srs.oschina.git
srs.4.0.123
cd srs.4.0.123/trunk
./configure
make
./objs/srs -c conf/rtc.conf
四、信令服务器编译
4.1 signaling8
cd 3rdparty/signaling
make
./objs/signaling
4.2 web服务器
这⾥需要server.crt和server.key,如果没有则⽤openssl⽣成,见附录
编译和启动httpx-static for HTTPS/WSS
cd 3rdparty/httpx-static
make
./objs/httpx-static -http 80 -https 443 -ssk server.key -ssc server.crt -proxy http://127.0.0.1:1989/sig -proxy http://127.0.0.1:1985/rtc -proxy http://127.0.0.1:8080/
1935端⼝对应的是rtmp服务
1985对应的是http api服务,官网介绍:https://github.com/ossrs/srs/wiki/v4_CN_HTTPApi
8080对应的是http-flv、hls的服务器端⼝
五、测试
在本机运行以上三个服务器
a客户端:在本机firefox运行一个web客户端
b客户端:在同网段pc的google运行另一个web客户端
srs的一对一,多对多web端demo
https://127.0.0.1/demos/
点击后可以看到链接到Signaling服务器。
一对一测试:
点击“SRS一对一通话演示”
本机:
远端:
多对多
本机:
远端:
附录:
⽣成server.key和server.crt
server.key
openssl genrsa -out server.key 2048
⽣成 server.crt
openssl req -new -x509 -key server.key -out server.crt -days 3650