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

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

相关推荐
f***24111 天前
高效自动化管理临时文件的技术方案
运维·自动化
m0_738120721 天前
应急响应——知攻善防靶场Linux-1详细应急过程
linux·运维·服务器·网络·web安全·ssh
obboda1 天前
磁盘管理(MBR、LVM)
运维·5g
GHL2842710901 天前
无法连接服务端socket
linux·服务器·网络
kylezhao20191 天前
S7-1200 CPU 与 S7-200 SMART S7通信(S7-1200 作为服务器)
运维·服务器
阿华hhh1 天前
项目(购物商城)
linux·服务器·c语言·c++
摸鱼仙人~1 天前
大模型文章生成的风格个性化与多文体写作:一套可落地的方法论
linux·运维·服务器
天天进步20151 天前
KrillinAI 源码级深度拆解二:时间轴的艺术:深入 KrillinAI 的字幕对齐与音频切分算法
算法·音视频
xybDIY1 天前
亚马逊云 Organizations 组织 Link 账号关联与解绑自动化解决方案
运维·自动化·云计算·aws
2501_913981781 天前
音频传输模块选型指南:音频传输技术原理及应用方案详解
音视频