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

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

相关推荐
wefg111 分钟前
【Linux】进程地址空间深入理解
linux·运维·服务器
leisigoyle11 分钟前
SQL Server 2025安装教程
大数据·运维·服务器·数据库·人工智能·计算机视觉·数据可视化
ZHANG13HAO13 分钟前
android13 4G网络环境和wifi内网说明
linux·服务器·网络
共享家952713 分钟前
基于 Coze 工作流搭建 AI 动物视频生成器
人工智能·音视频
Linux运维技术栈15 分钟前
Magento 2.3.5 宝塔Linux环境完整安装指南(避坑版+图文详解)
linux·运维·服务器
龙飞0516 分钟前
Kubernetes 排障实战:PVC 一直 Pending 的原因与解决方案
运维·学习·云原生·容器·kubernetes
酣大智23 分钟前
FTP--文件传输协议
运维·网络·网络协议·tcp/ip·华为
古月-一个C++方向的小白23 分钟前
Linux——命令行参数与环境变量
linux·运维
gaize121325 分钟前
服务器核心功能与应用场景全解析
服务器
qinyia25 分钟前
使用AI助手完成服务器系统备份迁移任务
linux·运维·服务器