SRS(Simple Realtime Server)是一款开源、高性能、低延迟的流媒体服务器,专为实时音视频传输设计。它支持多种主流流媒体协议,广泛应用于直播、点播、视频会议、在线教育、游戏直播等场景。因为很多接口都已经封装好,让我们不懂底层的开发者,使用起来非常方便,我们在此也是选择使用SRS流媒体服务器来进行国标的对接。
第一步、下载和配置SRS
我们需要使用源码编译,从官方git地址下载srs
git clone -b develop https://gitee.com/ossrs/srs.git
下载完成后按照下述步骤进行操作 如果在./configure或者make时出现缺少包的报错,安装提示安装相关包,并重新运行报错指令
–gb28181=on 一定不要丢下,否则开启不了国标协议
cd srs/trunk
./configure --gb28181=on
make
第二步、修改配置文件
第一步指令运行成功后,输入下面指令修改gb28181.conf文件,修改内容
vim conf/gb28181.conf
gb28181.conf修改完成后内容如下
listen 1935;
max_connections 1000;
daemon off;
srs_log_tank console;
stream_caster {
enabled on;
caster gb28181;
output rtmp://xx.xx.xx.xx/live/[stream];#此处修改你自己的IP地址,这是输出的播放格式,可以自己定义修改
listen 9000;
sip {
enabled on;
listen 5060;#国标接口,如果被占用可以修改
# @see https://ossrs.net/lts/zh-cn/docs/v5/doc/gb28181#config-candidate
candidate xx.xx.xx.xx;#此处修改你自己的IP地址
serial 34020000002000000001;#国标服务器编号
realm 3402000000;
auto_play on;
invite_port_fixed on;
}
}
http_server {
enabled on;
listen 8080;
https { #此处设置https,配置完成可以输出https的视频流,直接复制我的配置就可以
enabled on;
listen 8088;
key ./conf/server.key;
cert ./conf/server.crt;
}
}
http_api {
enabled on;
listen 1985;
}
stats {
network 0;
}
rtc_server {
enabled on;
listen 8000; # UDP port
# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/webrtc#config-candidate
candidate xx.xx.xx.xx;#此处修改你自己的IP地址
}
vhost __defaultVhost__ {
rtc {
enabled on;
# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/webrtc#rtmp-to-rtc
rtmp_to_rtc on;
# @see https://ossrs.net/lts/zh-cn/docs/v4/doc/webrtc#rtc-to-rtmp
rtc_to_rtmp on;
}
hls {
enabled on;
}
http_remux {
enabled on;
mount [vhost]/[APP]/[stream].flv; #此处是拼接的播放地址,如果想要修改播放地址修改此处
}
}
配置完成后输入下面指令运行,使用前台编译可以更好的查看输出内容,方便新手使用,后续可以使用后台编译
./objs/srs -c conf/gb28181.conf
如果报错端口占用可以使用以下指令排查
lsof -i:xxxx xxxx为被占用端口
输入口如果被占用会出来具体信息,复制PID(如下图)
kill -9 pid
第三步、配置摄像头信息
我们在此处需要一个带国标协议的摄像头,此处使用的为海康的摄像头,修改内容如下图所示
配置成功就能在服务器运行界面看到如下内容
第四步、登录SRS管理系统验证
我们可以登录SRS的管理系统(xx.xx.xx.xx:8080),进入后内容如下,点击控制台
选择连到SRS,输入你的IP地址,点击连接按钮
连接成功后带年纪视频流,就会出现你配置的摄像头
第五步、输出HTTPS视频流
SRS可以输出rtmp、webrtc、http、https,此处为输出https教程
我们如果想直接播放可以按照gb28281.conf里面的这个地方的mount配置的拼接格式
vhost是你的地址加端口
上面配置的HTTPS端口为8088
在摄像头上配置的SIP用户名为34020000001000000001
xx.xx.xx.xx为你的IP地址
https://xx.xx.xx.xx:8088/live/34020000001000000001.flv
可以下载VLC播放器播放也可以使用SRS自带的播放器播放
此处使用SRS自带播放器播放,地址如下
http://xx.xx.xx.xx:8080/players/srs_player.html
将上面总结的地址输入,能播放出来即为成功!