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

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

相关推荐
linux修理工6 分钟前
n1 armbian 安装桌面环境并启用xrdp远程登录
linux·服务器·数据库
Brookty33 分钟前
【操作系统】进程(二)内存管理、通信
java·linux·服务器·网络·学习·java-ee·操作系统
易德研发41 分钟前
ubuntu24.04安装NFS网络文件系统/ARM开发板NFS挂载
运维·服务器·网络
开开心心就好2 小时前
高效报价软件,简化商铺定价流程
服务器·数据库·安全·面试·职场和发展·电脑·symfony
生活爱好者!2 小时前
NAS 部署白板工具,实现思维导图/画板/流程图自由
运维·docker·容器
令狐少侠20113 小时前
ai之对接电信ds后端服务,通过nginx代理转发https为http,对外请求,保持到达第三方后请求头不变
nginx·ai·https
段帅龙呀7 小时前
Redis构建缓存服务器
服务器·redis·缓存
乌鸦不像写字台8 小时前
【docker部署】在服务器上使用docker
服务器·docker·容器
~央千澈~9 小时前
优雅草蜻蜓R实时音视频会议系统云原生私有化部署方案深度解析-优雅草卓伊凡|贝贝|clam|麻子|夜辰
webrtc·实时音视频
互联网搬砖老肖9 小时前
运维打铁: MongoDB 数据库集群搭建与管理
运维·数据库·mongodb