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

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

相关推荐
追随远方9 分钟前
Android OpenSL ES 音频播放完整实现指南
android·elasticsearch·音视频
Digitally21 分钟前
如何将视频从 iPhone 传输到 HP 笔记本电脑
电脑·音视频·iphone
bingbingyihao1 小时前
服务自动添加实例工具
linux·运维·bash
南棱笑笑生2 小时前
20250614让NanoPi NEO core开发板在Ubuntu core16.04系统下使用耳机播音测试
linux·运维·ubuntu
liang89992 小时前
负载均衡器:Ribbon和LoadBalance
运维·ribbon·负载均衡
陶然同学2 小时前
从零开始:VMware上的Linux与Java开发环境配置
linux·运维·服务器·vmware·虚拟机
盛满暮色 风止何安2 小时前
BGP基础
运维·服务器·网络·网络协议·tcp/ip·网络安全·智能路由器
阿拉丁的梦2 小时前
ue5的blender4.1groom毛发插件v012安装和使用方法(排除了冲突错误)
linux·运维·服务器
GeminiJM2 小时前
Docker监控服务部署
运维·docker·容器
morliz子轩2 小时前
在Docker上部署datalust/Seq日志服务系统
运维·docker·容器