GB28181监控视频统一汇聚平台LiveGBS将海康大华华为宇视等厂家监控设备统一接入后如何生成固定播放链接或者固定的流地址可以直接无插件播放或者拉取
目前汇聚各种厂家监控设备的视频汇聚平台,基本都是通过GB28181标准协议实现的。下面介绍下LiveGBS Web无插件直播的GB28181视频平台将各厂家(包括海康、大华、华为、宇视、天地伟业等)监控汇聚到同一个服务器上后,如何或者直播链接可以直播浏览器播放,或者二次开发嵌入到自己的业务系统里面进行浏览器无插件播放的。
1、视频集成方式
1.1、分享页面集成
直接集成包含播放器的页面到业务系统中去,如 iframe 方式集成页面
1.2、视频流地址集成
通过接口或其它方式获取视频流的地址,设置到web播放器|APP播放器|PC播放器中,进行播放
2、视频集成说明
2.1、 获取通道分享页面
2.1.1、查看通道
上一层的设备可以是一个NVR,一个下级平台,一个单兵设备。点击设备列表的 【查看通道】,可以查看到设备下面具体的视频通道(摄像头)。

2.1.2、分享页面
通道可以配置开启分享, 分享之后,可以获得一个具体的播放页面,分享的是页面地址并非原始流地址。可以直接集成分享页面到自己的业务系统中(通过iframe方式集成)
2.1.2.1、开启分享
LiveGBS可以控制单个视频通道 ,是否可以被分享,默认不分享,可以在通道列表中开启分享

2.1.2.2、分享页面传参
具体的分享页面可以附件的一些参数可以参考:使用分享页面

2.1.2.3、分享页面播放

手机端可以直接扫码观看,或是 访问分享的直播页面

2.2 获取通道视频直播流地址
2.2.1、直播流播放
默认播放的 ws_flv 的直播流, 可以点击下面的选项,切换播放的直播流格式
这里的点击播放,实际上是取视频直播流地址,设置到播放器中的,下面会具体说明如何获取视频直播流地址

2.2.2、获取直播流地址
2.2.2.1、实时直播-开始直播接口说明
通过调用接口的方式获取直播流地址,具体接口 实时直播 - 开始直播 /api/v1/stream/start

2.2.2.2、实时直播-开始直播接口调用示例
接口请求示例
http://192.168.2.135:10000/api/v1/stream/start?serial=34020000001110000234&code=34020000001320000234
接口返回示例
{"AudioEnable": false,"CDN": "","CascadeSize": 0,"ChannelCustomName": "演示","ChannelID": "34020000001320000234","ChannelName": "演示","ChannelPTZType": 1,"DeviceID": "34020000001110000234","Duration": 2,"FLV": "http://192.168.2.135:10000/sms/34020000002020000001/flv/hls/34020000001110000234_34020000001320000234.flv","HLS": "http://192.168.2.135:10000/sms/34020000002020000001/hls/34020000001110000234_34020000001320000234/live.m3u8","RTMP": "rtmp://192.168.2.135:11935/hls/34020000001110000234_34020000001320000234","RTSP": "rtsp://192.168.2.135:554/34020000001110000234_34020000001320000234","WS_FLV": "ws://192.168.2.135:10000/sms/34020000002020000001/ws-flv/hls/34020000001110000234_34020000001320000234.flv","WEBRTC": "webrtc://192.168.2.135:10000/sms/34020000002020000001/rtc/34020000001110000234_34020000001320000234","InBitRate": 0,"InBytes": 0,"NumOutputs": 0,"Ondemand": true,"OutBytes": 0,"RecordStartAt": "","RelaySize": 0,"SnapURL": "/snap/34020000001110000234/34020000001320000234.jpg?t=1594177940107633780","SourceAudioCodecName": "","SourceAudioSampleRate": 0,"SourceVideoCodecName": "","SourceVideoFrameRate": 0,"SourceVideoHeight": 0,"SourceVideoWidth": 0,"StartAt": "2020-07-08 11:16:14","StreamID": "stream:34020000001110000234:34020000001320000234","Transport": "TCP"
}
2.2.2.3、获取HTTP-FLV直播流地址
取接口返回的 FLV 字段
"FLV": "http://192.168.2.135:10000/sms/34020000002020000001/flv/hls/34020000001110000234_34020000001320000234.flv",
2.2.2.4、获取HLS直播流地址
取接口返回的 HLS 字段
"HLS": "http://192.168.2.135:10000/sms/34020000002020000001/hls/34020000001110000234_34020000001320000234/live.m3u8",
2.2.2.5、获取WebRTC直播流地址
取接口返回的 WEBRTC字段
"WEBRTC": "webrtc://192.168.2.135:10000/sms/34020000002020000001/rtc/34020000001110000234_34020000001320000234",
2.2.2.6、获取RTMP直播流地址
取接口返回的 RTMP 字段,对应的 RTMP 端口需要在服务端开放 TCP
"RTMP": "rtmp://192.168.2.135:11935/hls/34020000001110000234_34020000001320000234",
2.2.2.7、获取WS-FLV直播流地址
取接口返回的 WS_FLV字段
"WS_FLV": "ws://192.168.2.135:10000/sms/34020000002020000001/ws-flv/hls/34020000001110000234_34020000001320000234.flv",
2.2.2.8、RTSP
2.2.2.8.1、开启RTSP
在基础配置 -> 流媒体服务配置中配置,RTSP端口,对应的 RTSP 端口需要在服务端开放 TCP

2.2.2.8.2、获取RTSP直播流地址
取接口返回的 RTSP 字段
"RTSP": "rtsp://192.168.2.135:554/34020000001110000234_34020000001320000234",
2.2.2.9、浏览器中查看直播流地址
浏览器可以先打开 f12 ,再查看通道点击播放,可以再 network中跟踪到 接口调用和结果

2.3 拼接视频流地址
如果需要通过直播流地址直接拉流, 而不是通过开始直播接口, 请开启 基础配置 -》允许直播地址拉流
配置规则如下:
HTTP端口直播流地址格式
-
WEBRTC: webrtc://{cms_ip}:{port}/sms/{sms_id}/rtc/{设备国标编号}_{通道国标编号}
-
FLV: http://{cms_ip}:{port}/sms/{sms_id}/flv/hls/{设备国标编号}_{通道国标编号}.flv
-
WS_FLV: ws://{cms_ip}:{port}/sms/{sms_id}/ws-flv/hls/{设备国标编号}_{通道国标编号}.flv
-
HLS: http://{cms_ip}:{port}/sms/{sms_id}/hls/{设备国标编号}_{通道国标编号}/live.m3u8
-
RTMP: rtmp://{sms_ip}:{port}/hls/{设备国标编号}_{通道国标编号}
-
RTSP: rtsp://{sms_ip}:{port}/{设备国标编号}_{通道国标编号}
HTTPS端口直播流地址格式
-
WEBRTC: webrtcs://{cms_ip}:{port}/sms/{sms_id}/rtc/{设备国标编号}_{通道国标编号}
-
FLV: https://{cms_ip}:{port}/sms/{sms_id}/flv/hls/{设备国标编号}_{通道国标编号}.flv
-
WS_FLV: wss://{cms_ip}:{port}/sms/{sms_id}/ws-flv/hls/{设备国标编号}_{通道国标编号}.flv
-
HLS: https://{cms_ip}:{port}/sms/{sms_id}/hls/{设备国标编号}_{通道国标编号}/live.m3u8
-
RTMP: rtmp://{sms_ip}:{port}/hls/{设备国标编号}_{通道国标编号}
-
RTSP: rtsp://{sms_ip}:{port}/{设备国标编号}_{通道国标编号}
3、接口调用相关问题
LiveGBS国标GB/T28181流媒体平台调用接口时遇到401Unauthorized时怎么办?
4、搭建GB28181视频直播平台
- 支持 Windows Linux 及其它CPU架构(国产、嵌入式…)操作系统
- 安装包下载 、 安装使用说明、 WEB前端源码
- 更多常见问题
相关文章:
GB28181监控视频统一汇聚平台LiveGBS将海康大华华为宇视等厂家监控设备统一接入后如何生成固定播放链接或者固定的流地址可以直接无插件播放或者拉取
目前汇聚各种厂家监控设备的视频汇聚平台,基本都是通过GB28181标准协议实现的。下面介绍下LiveGBS Web无插件直播的GB28181视频平台将各厂家(包括海康、大华、华为、宇视、天地伟业等)监控汇聚到同一个服务器上后,如何或者直播链接…...
认识BUG
如何描述 bug一个合格的 bug 描述应该包括以下几个部分:发现问题的版本开发人员需要知道出现问题的版本,才能够获取对应版本的代码来重现故障,并且版本的标识也有利于统计和分析每个版本的质量。问题出现的环境环境分为硬件环境和软件环境&am…...
C++string类型内置的搜索函数
string的搜索操作 string类型一共提供了6种不同的搜索函数,每个函数都有4个重载版本。如果搜索成功,每个搜索操作都会返回一个 string::size_type类型的值,表示匹配发生位置的下标。 如果搜索失败,则会返回一个名位string::npos…...
Disruptor 消费线程丢失、写入无限阻塞问题
使用jstack打印后,发现 1)写入disruptor线程卡死在 java.lang.Thread.State: TIMED_WAITING (parking) at sun.misc.Unsafe.park(Native Method) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:338) at com.lmax.…...
【禅道测试环境搭建及安装】Linux上的禅道安装教程,从环境搭建开始
目录 一、操作环境 二、安装VMware 三、安装FinalShell 四、在VMware里安装CentOS 1.前置:CentOS的下载 2.CentOS的安装 3.查看网络 五、用宿主机连接远程的虚拟机 六、禅道包的下载与CentOS配置的修改 七、上传项目包并安装禅道 一、操作环境 Windows 10…...
spring-boot rabbitmq整合
文章请参考:Springboot 整合RabbitMq ,用心看完这一篇就够了 mven依赖 <dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-amqp</artifactId></depende…...
CentOS7安装redis redis常用命令
Redis简介Redis是一个开源免费的、使用C语言编写的NoSQL 数据库。Redis基于内存运行并支持持久化(RDB、AOF方式将数据保存在磁盘),采用key-value (键值对)的存储形式。Redis数据类型Redis支持五种数据类型:string(字符串)…...
世界文明的脉络
人类文明大体上可分为农耕文明、海洋文明和游牧文明三大类别,文明的标志一般是文字、青铜器、城市以及礼仪性建筑等要素。据此,史学家目前已发现了巴比伦文明、埃及文明、印度文明、华夏文明、希腊文明和波斯文明六种主要文明,其中前四种文明…...
map和set 的封装
文章目录引入key-value模型map和set底层setset的几个重要接口mapmap几个重要的接口map和set的封装引入 对于map和set的引入,我们用一道在程序中常见的问题解决: 给定一个数组int arr[]{1,2,1,3,1,4,1,5,5,2,3,4,5};,给出以下问题的解决方案&…...
Springboot集成kafka(环境搭建+演示)|超级详细,建议收藏
Springboot集成kafka一、前言🔥二、环境说明🔥三、概念🔥四、CentOS7安装kafka🔥1.下载kafka安装包2.下载好后,进行解压六、kafka项目集成🔥1️⃣pom引入2️⃣配置kafka3️⃣一个kafka消息发送端4️⃣定义一…...
Qt 绘制图表 - Qt Charts版
一、前言 自从 Qt 发布以来,给广大跨平台界面研发人员带来了无数的福利。但是Qt自己却一直没有提供自带的图表库,这就使得 QWT、QCustomPlot 等第三方图表库有了巨大的生存空间,为了降低开发成本,大家都涌向了这些第三方库。这种…...
Java学习笔记 --- JavaScript
一、JavaScript介绍 JavaScript语言诞生主要是完成页面的数据验证。因此它运行在客户端,需要运行浏览器来解析执行JavaScript代码。JS是Netcape网景公司的产品,最早取名为LiveScript;为了吸引更多java程序员。更名为 JavaScript JS是弱类型&…...
AP5216 平均电流型LED 降压恒流驱动器
产品描述 AP5216 是一款 PWM工作模式, 高效率、外围简单、内置功率管,适用于5V~100V输入的高精度降压 LED 恒流驱动芯片。输出最大功率可达 9W,最大电流 1.0A。 AP5216 可实现全亮/半亮功能切换,通过MODE 切换:全亮/…...
B站的多个视频教程,怎样生成一个二维码?
商业插画视频教程、电商运营视频教程、在线网课视频、舞蹈视频教程、摄影视频教程、语言学习教程、纪录片视频…所有你发布在哔哩哔哩上的视频,都可以放在一个二维码里面。 任何人只要扫描这个二维码,就能在线观看你的这些视频教程!分享起来…...
深入底层源码的Listener内存马(内存马系列篇三)
写在前面 继前面的FilterServlet内存马技术,这是系列文章的第三篇了,这篇将给大家带来的是Listener内存马技术。 前置 什么是Listener? 监听器 Listener 是一个实现特定接口的 Java 程序,这个程序专门用于监听另一个 Java 对象…...
云端需求助力跑赢周期,金山办公有望借助ChatGPT加速腾飞
与微软在办公领域“搏杀”了三十年的金山办公,或许正在迎来自己的“第二春”。2月25日,金山办公(688111)发布2022年度业绩快报,全年营收38.85亿元人民币(单位下同),同比增加18.44%&a…...
Vulnhub靶场----8、DC-8
文章目录一、环境搭建二、渗透流程三、思路总结一、环境搭建 DC-8下载地址:https://download.vulnhub.com/dc/DC-8.zip kali:192.168.144.148 DC-8:192.168.144.156 二、渗透流程 1、信息收集nmap -T5 -A -p- -sV -sT 192.168.144.156思路&am…...
Makefile 和 Shell 脚本的区别与联系
以下内容转载于博客Makefile 和 shell 脚本的区别与联系,有删改与内容添加。 参考内容:初学Makefile指南 一、什么是 Makefile? Makefile 描述了整个工程的编译、链接规则。当源码文件比较多的时候就不适合通过输入 gcc 命令来编译…...
java25种设计模式之工厂模式
Java设计模式 - 工厂模式 工厂模式是一种创建模式,因为此模式提供了更好的方法来创建对象。 在工厂模式中,我们创建对象而不将创建逻辑暴露给客户端。 例子 在以下部分中,我们将展示如何使用工厂模式创建对象。 由工厂模式创建的对象将是…...
力扣-2020年最后一次登录
大家好,我是空空star,本篇带大家了解一道简单的力扣sql练习题。 文章目录前言一、题目:1890. 2020年最后一次登录二、解题1.正确示范①提交SQL运行结果2.正确示范②提交SQL运行结果3.正确示范③提交SQL运行结果4.正确示范④提交SQL运行结果5.…...
OpenLayers 可视化之热力图
注:当前使用的是 ol 5.3.0 版本,天地图使用的key请到天地图官网申请,并替换为自己的key 热力图(Heatmap)又叫热点图,是一种通过特殊高亮显示事物密度分布、变化趋势的数据可视化技术。采用颜色的深浅来显示…...
ubuntu搭建nfs服务centos挂载访问
在Ubuntu上设置NFS服务器 在Ubuntu上,你可以使用apt包管理器来安装NFS服务器。打开终端并运行: sudo apt update sudo apt install nfs-kernel-server创建共享目录 创建一个目录用于共享,例如/shared: sudo mkdir /shared sud…...
Spring Boot 实现流式响应(兼容 2.7.x)
在实际开发中,我们可能会遇到一些流式数据处理的场景,比如接收来自上游接口的 Server-Sent Events(SSE) 或 流式 JSON 内容,并将其原样中转给前端页面或客户端。这种情况下,传统的 RestTemplate 缓存机制会…...
深入理解JavaScript设计模式之单例模式
目录 什么是单例模式为什么需要单例模式常见应用场景包括 单例模式实现透明单例模式实现不透明单例模式用代理实现单例模式javaScript中的单例模式使用命名空间使用闭包封装私有变量 惰性单例通用的惰性单例 结语 什么是单例模式 单例模式(Singleton Pattern&#…...
Python如何给视频添加音频和字幕
在Python中,给视频添加音频和字幕可以使用电影文件处理库MoviePy和字幕处理库Subtitles。下面将详细介绍如何使用这些库来实现视频的音频和字幕添加,包括必要的代码示例和详细解释。 环境准备 在开始之前,需要安装以下Python库:…...
【学习笔记】深入理解Java虚拟机学习笔记——第4章 虚拟机性能监控,故障处理工具
第2章 虚拟机性能监控,故障处理工具 4.1 概述 略 4.2 基础故障处理工具 4.2.1 jps:虚拟机进程状况工具 命令:jps [options] [hostid] 功能:本地虚拟机进程显示进程ID(与ps相同),可同时显示主类&#x…...
Python Ovito统计金刚石结构数量
大家好,我是小马老师。 本文介绍python ovito方法统计金刚石结构的方法。 Ovito Identify diamond structure命令可以识别和统计金刚石结构,但是无法直接输出结构的变化情况。 本文使用python调用ovito包的方法,可以持续统计各步的金刚石结构,具体代码如下: from ovito…...
使用LangGraph和LangSmith构建多智能体人工智能系统
现在,通过组合几个较小的子智能体来创建一个强大的人工智能智能体正成为一种趋势。但这也带来了一些挑战,比如减少幻觉、管理对话流程、在测试期间留意智能体的工作方式、允许人工介入以及评估其性能。你需要进行大量的反复试验。 在这篇博客〔原作者&a…...
FFmpeg:Windows系统小白安装及其使用
一、安装 1.访问官网 Download FFmpeg 2.点击版本目录 3.选择版本点击安装 注意这里选择的是【release buids】,注意左上角标题 例如我安装在目录 F:\FFmpeg 4.解压 5.添加环境变量 把你解压后的bin目录(即exe所在文件夹)加入系统变量…...
Golang——7、包与接口详解
包与接口详解 1、Golang包详解1.1、Golang中包的定义和介绍1.2、Golang包管理工具go mod1.3、Golang中自定义包1.4、Golang中使用第三包1.5、init函数 2、接口详解2.1、接口的定义2.2、空接口2.3、类型断言2.4、结构体值接收者和指针接收者实现接口的区别2.5、一个结构体实现多…...
