SRS流媒体服务器,配置国标协议对接和HTTPS视频流输出功能

SRS(Simple Realtime Server)是一款开源、高性能、低延迟的流媒体服务器,专为实时音视频传输设计。它支持多种主流流媒体协议,广泛应用于直播、点播、视频会议、在线教育、游戏直播等场景。因为很多接口都已经封装好,让我们不懂底层的开发者,使用起来非常方便,我们在此也是选择使用SRS流媒体服务器来进行国标的对接。

第一步、下载和配置SRS

我们需要使用源码编译,从官方git地址下载srs

bash 复制代码
git clone -b develop https://gitee.com/ossrs/srs.git

下载完成后按照下述步骤进行操作 如果在./configure或者make时出现缺少包的报错,安装提示安装相关包,并重新运行报错指令
--gb28181=on 一定不要丢下,否则开启不了国标协议

bash 复制代码
cd srs/trunk
./configure --gb28181=on
make

第二步、修改配置文件

第一步指令运行成功后,输入下面指令修改gb28181.conf文件,修改内容

bash 复制代码
vim conf/gb28181.conf

gb28181.conf修改完成后内容如下

bash 复制代码
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; #此处是拼接的播放地址,如果想要修改播放地址修改此处
    }

    
}

配置完成后输入下面指令运行,使用前台编译可以更好的查看输出内容,方便新手使用,后续可以使用后台编译

bash 复制代码
./objs/srs -c conf/gb28181.conf

如果报错端口占用可以使用以下指令排查

bash 复制代码
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地址

bash 复制代码
https://xx.xx.xx.xx:8088/live/34020000001000000001.flv

可以下载VLC播放器播放也可以使用SRS自带的播放器播放

此处使用SRS自带播放器播放,地址如下

bash 复制代码
http://xx.xx.xx.xx:8080/players/srs_player.html

将上面总结的地址输入,能播放出来即为成功!

相关推荐
SugarPPig2 分钟前
Docker Volumes 还原指南
运维·docker·容器
不会c嘎嘎20 分钟前
linux初识--基础指令
linux·运维·服务器
飞飞98721 分钟前
spring mvc
java·服务器·前端
网硕互联的小客服23 分钟前
如何排查服务器 CPU 温度过高的问题并解决?
linux·运维·服务器·网络·安全
南方以南_29 分钟前
VMware虚拟机突然无法ssh连接
运维·ssh
CRMEB定制开发1 小时前
打开小程序提示请求失败(小程序页面空白)
小程序·https·ssl
苹果企业签名分发1 小时前
火山引擎火山云带宽价格
服务器·火山引擎
山东布谷科技官方2 小时前
2025语音语聊系统源码开发深度解析:WebRTC与AI降噪技术如何重塑语音社交体验
实时音视频·交友
酷道2 小时前
CentOS停止维护了,解决yum不能安装软件的问题
linux·运维·centos
摆烂仙君2 小时前
怎样通过神经网络估计股票走向
linux·运维·服务器