百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

视频云平台——搭建SRS5平台支持GB28181视频流的推送

nanshan 2024-11-23 20:15 22 浏览 0 评论

  • 序言

搭建视频云平台有很多种方式,如果是内部平台往抖音等平台推送,大可以采用SRS-Stack服务搭建模式,因为一般的视频源都可以控制在自己的网络范围内。

而如果是企业内网想要把视频送到云平台,国内的大客户(一般是国有大厂)们,最早接触的应该都是GB28181系列的平台,因此这次我们就来聚焦在GB28181视频推流的服务平台上。

1. SRS 5.0

系统的环境采用大名鼎鼎的CentOS 7.5及以上

SRS是一个开源的(MIT协议)简单高效的实时视频服务器,支持RTMP、WebRTC、HLS、HTTP-FLV、SRT、MPEG-DASH和GB28181等协议。SRS媒体服务器和FFmpeg、OBS、VLC、 WebRTC等客户端配合使用,提供流的接收和分发的能力,是一个典型的发布 (推流)和订阅(播放)服务器模型。SRS支持互联网广泛应用的音视频协议转换,比如可以将RTMP或SRT, 转成HLS或HTTP-FLV或WebRTC等协议。

由于之前的4.0版本需要特别编译才支持GB28181协议,且不够稳定,因此我们这次采用的是5.0的最新发布版本。

目前正式版本支持:

  • 摄像头通过SIP注册。

  • 自动邀请摄像头推流。

  • GB/2016转RTMP协议。

  • 基于TCP的SIP信令。

  • TCP单端口传输媒体。

当前版本不支持语音对讲功能,注意注意!

2. 部署命令

我们使用Docker方式进行部署,这种方式简直不要太简单!

请按照以下步骤命令进行部署。


# 更新系统
yum -y update

# 安装docker,如果已经安装请忽略以下命令
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine

yum install -y yum-utils
yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo

yum install docker-ce docker-ce-cli containerd.io
systemctl start docker

# 拉取srs5镜像
docker pull ossrs/srs:5
# 临时启动srs
docker run -it --name srs5 ossrs/srs:5
# 复制配置等文件到/srs
mkdir /srs
# 把配置文件复制到/srs
docker cp -a srs5:/usr/local/srs/conf /srs/conf
docker cp -a srs5:/usr/local/srs/objs /srs/objs

# 检查查看/srs内的目录是否包含conf和objs
# 删除临时容器
docker rm -f srs5

# 创建srs5容器
docker run -d --restart=always --name srs5 -p 5060:5060 -p 9000:9000 -p 1935:1935 -p 1985:1985 -p 8080:8080 -p 8000:8000/udp -v /srs/conf/:/usr/local/srs/conf/ -v /srs/objs/:/usr/local/srs/objs/ ossrs/srs:5

# 检查容器是否存在
docker logs srs5

3.测试和配置

按照上述命令配置完成后,我们已经启动了SRS5容器服务,这时候我们默认启用了docker.conf 配置文件,因此还需要对该文件进行配置。

因为做了文件资源的映射,因此让我们打开本地文件进行编辑,并替换【你的公网IP】地址。

# 打开 docker.conf
# vi /srs/conf/docker.conf
# 增加gb28181的配置,如下:
stream_caster {
enabled on;
caster gb28181;
listen 9000;
output rtmp://127.0.0.1/live/[stream];
host 【你的公网IP】;
sip {
enabled on;
listen 5060;
candidate 【你的公网IP】;
}
}

编辑完毕后,需要重启srs5服务。

docker restart srs5

4.测试你的服务

让我们打开srs自带的web服务,在这之前,你需要在云服务的安全管理策略内增加上你的IP端口接入。

包含下列端口:5060,9000,1935,1985,8080,8000。

访问 http://你的公网IP:8080
点击连接srs,即可连接上srs服务。

5.GB28181推流配置

注意:音频编码仅支持AAC格式。
登录你的摄像头界面,找到GB28181配置,这里以海康摄像头为例:

按照如下进行配置。

配置时注意以下方面。

  • 必须是AAC编码,在音频编码中,选择AAC,采样率44100HZ。

  • 必须是GB-2016标准,否则不支持TCP,在协议版本中选择GB/T28181-2016。

  • 必须是TCP协议,不支持UDP,在传输协议中选择TCP,并使用GB-2016标准。

摄像头注册后,SRS会自动邀请摄像头推流,可以打开下面的链接播放:

http://localhost:8080/live/34020000001320000001.flv
http://localhost:8080/live/34020000001320000001.m3u8
webrtc://localhost/live/34020000001320000001
注意: 请把流名称换成你的设备名称,IP也更换为你的服务器IP,然后点播放。

在SRS管理界面内也可以看到推送的视频:

点击预览也可以直接播放视频。

总结

GB28181这个协议,真的很古怪,但毕竟是国内大厂经常使用的方案,因此了解它还是很必须的,基于推流方式的播放,视频延迟率也非常高,基本在1秒以上,因此你要注意了哦。

你学废了吗?

??都收藏了,还在乎一个评论吗?


相关推荐

F5负载均衡器如何通过irules实现应用的灵活转发?

F5是非常强大的商业负载均衡器。除了处理性能强劲,以及高稳定性之外,F5还可以通过irules编写强大灵活的转发规则,实现web业务的灵活应用。irules是基于TCL语法的,每个iRules必须包含...

映射域名到NAS

前面介绍已经将域名映射到家庭路由器上,现在只需要在路由器上设置一下端口转发即可。假设NAS在内网的IP是192.168.1.100,NAS管理端口2000.你的域名是www.xxx.com,配置外部端...

转发(Forward)和重定向(Redirect)的区别

转发是服务器行为,重定向是客户端行为。转发(Forward)通过RequestDispatcher对象的forward(HttpServletRequestrequest,HttpServletRe...

SpringBoot应用中使用拦截器实现路由转发

1、背景项目中有一个SpringBoot开发的微服务,经过业务多年的演进,代码已经累积到令人恐怖的规模,亟需重构,将之拆解成多个微服务。该微服务的接口庞大,调用关系非常复杂,且实施重构的人员大部分不是...

公司想搭建个网站,网站如何进行域名解析?

域名解析是将域名指向网站空间IP,让人们通过注册的域名可以方便地访问到网站的一种服务。IP地址是网络上标识站点的数字地址,为方便记忆,采用域名来代替IP地址标识站点地址。域名解析就是域名到IP地址的转...

域名和IP地址什么关系?如何通过域名解析IP?

一般情况下,访客通过域名和IP地址都能访问到网站,那么两者之间有什么关系吗?本文中科三方针对域名和IP地址的关系和区别,以及如何实现域名与IP的绑定做下介绍。域名与IP地址之间的关系IP地址是计算机的...

分享网站域名301重定向的知识

网站域名做301重定向操作时,一般需要由专业的技术来协助完成,如果用户自己在维护,可以按照相应的说明进行操作。好了,下面说说重点,域名301重定向的操作步骤。首先,根据HTTP协议,在客户端向服务器发...

NAS外网到底安全吗?一文看懂HTTP/HTTPS和SSL证书

本内容来源于@什么值得买APP,观点仅代表作者本人|作者:可爱的小cherry搭好了NAS,但是不懂做好网络加密,那么隐私泄露也会随时发生!大家好,这里是Cherry,喜爱折腾、玩数码,热衷于分享数...

ForwardEmail免费、开源、加密的邮件转发服务

ForwardEmail是一款免费、加密和开源的邮件转发服务,设置简单只需4步即可正常使用,通过测试来看也要比ImprovMX好得多,转发近乎秒到且未进入垃圾箱(仅以Mailbox.org发送、Out...

使用CloudFlare进行域名重定向

当网站变更域名的时候,经常会使用域名重定向的方式,将老域名指向到新域名,这通常叫做:URL转发(URLFORWARDING),善于使用URL转发,对SEO来说非常有用,因为用这种方式能明确告知搜索引...

要将端口5002和5003通过Nginx代理到一个域名上的操作笔记

要将端口5002和5003通过Nginx代理到域名www.4rvi.cn的不同路径下,请按照以下步骤配置Nginx:步骤说明创建或编辑Nginx配置文件通常配置文件位于/etc/nginx/sites...

SEO浅谈:网站域名重定向的三种方式

在大多数情况下,我们输入网站访问网站的时候,很难发现www.***.com和***.com的区别,因为一般的网站主,都会把这两个域名指向到同一网站。但是对于网站运营和优化来说,www.***.com和...

花生壳出现诊断域名与转发服务器ip不一致的解决办法

出现诊断域名与转发服务器ip不一致您可以:1、更改客户端所处主机的drs为223.5.5.5备用dns为119.29.29.29;2、在windows上进入命令提示符输入ipconfig/flush...

涨知识了!带你认识什么是域名

1、什么是域名从技术角度来看,域名是在Internet上解决IP地址对应的一种方法。一个完整的域名由两个或两个以上部分组成,各部分之间用英文的句号“.”来分隔。如“abc.com”。其中“com”称...

域名被跳转到其他网站是怎么回事

当你输入域名时被跳转到另一个网站,这可能是由几种原因造成的:一、域名可能配置了域名转发服务。无论何时有人访问域名,比如.com、.top等,都会自动重定向到另一个指定的URL,这通常是在域名注册商设...

取消回复欢迎 发表评论: