一、服务器配置:
1. git拉项目:git clone -b 4.0release srs: See http://community.ossrs.net/
切换到目录,编译
cd srs/trunk
./configure
make
2. 安装go环境(用于信令服务器和https代理)
wget https://dl.google.com/go/go1.13.8.linux-amd64.tar.gz
tar -xvf go1.13.8.linux-amd64.tar.gz -C /usr/local
创建GO工作目录
mkdir -p /home/go/src
vim /etc/profile
在最下面添加下面三行代码
export GOROOT=/usr/local/go
export GOPATH=/home/go
export PATH=$PATH:$GOROOT/bin
重启
source /etc/profile
3. 配置https代理
进入目录:cd srs/trunk/3rdparty/httpx-static/
生成key和crt自签名证书
sudo openssl genrsa -out server.key 2048 &&
subj="/C=CN/ST=Beijing/L=Beijing/O=Me/OU=Me/CN=me.org" &&
openssl req -new -x509 -key server.key -out server.crt -days 365 -subj $subj
如果是ubuntu系统,可能会只生成了key,说明key解析问题,打开server.key文件进行编辑,在开始和结尾加入RSA,变成BEGIN RSA PRIVATE KEY,END RSA PRIVATE KEY
编译,编译完后会在当前目录生成“httpx-static”
go build -mod=vendor . #带上“ .”
4. 配置信令服务器
进入目录:cd /srs/trunk/3rdparty/signaling
编译:make
二、修改服务器相关配置
vim srs/trunk/conf/rtc.conf
vhost __defaultVhost__ {
rtc {
rtc_to_rtmp on; #这个改一下,要不然录不了
}
#添加下面信息
dvr {
enabled on; #开启录制
dvr_apply arbit/arbit1 arbit/arbit2 arbit/arbit3; #设置只录制这些内容
dvr_plan session;
dvr_path ./objs/nginx/html/[app]/[2006]-[01]-[02]/[stream]-[timestamp].mp4; #录制的文件保存地址
}
http_hooks {
enabled on; #开启回调
on_publish http://192.168.0.18:51123/arbit/srs/publish; #推流回调
on_dvr http://192.168.0.18:51123/arbit/srs/dvr; #录制回调
on_hls http://192.168.0.18:51123/arbit/srs/hls; #推.m3u8文件回调,用不着时不用配
}
}
录制后视频访问地址:
返回的地址格式为:./objs/nginx/html/arbit/2023-04-23/arbit1-1682227587892.mp4
http://ip:8080/+返回的地址红色部分
https://ip/+返回的地址红色部分
三、启动服务
0. 进入srs目录
1 启动srs服务器
进入srs/trunk
执行命令:
export CANDIDATE=”192.168.0.?”
./objs/srs -c conf/rtc.conf
2. 启动信令服务器
目录:srs/trunk/3rdparty/signaling/
执行命令:./objs/signaling
3. 启动https代理服务
目录:srs/trunk/3rdparty/httpx-static/
export CANDIDATE=”192.168.0.?”
./httpx-static -http 80 -https 443 -ssk server.key -ssc server.crt -r ./html -r ~/srs/trunk/research/ -proxy http://$CANDIDATE:1989/sig -proxy http://$CANDIDATE:1985/rtc -proxy http://$CANDIDATE:8080/
浏览器输入https://ip访问
https://ip/demos/ 访问示例
如果无法访问,需要开启服务器上以下端口:8000,8080,1935,1985,1989,80,443
执行:sudo iptables -I INPUT -p tcp --dport 端口号-j ACCEPT 依次开放
四、 java回调代码略