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.…...
eNSP-Cloud(实现本地电脑与eNSP内设备之间通信)
说明: 想象一下,你正在用eNSP搭建一个虚拟的网络世界,里面有虚拟的路由器、交换机、电脑(PC)等等。这些设备都在你的电脑里面“运行”,它们之间可以互相通信,就像一个封闭的小王国。 但是&#…...
Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以?
Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以? 在 Golang 的面试中,map 类型的使用是一个常见的考点,其中对 key 类型的合法性 是一道常被提及的基础却很容易被忽视的问题。本文将带你深入理解 Golang 中…...
visual studio 2022更改主题为深色
visual studio 2022更改主题为深色 点击visual studio 上方的 工具-> 选项 在选项窗口中,选择 环境 -> 常规 ,将其中的颜色主题改成深色 点击确定,更改完成...
vue3 字体颜色设置的多种方式
在Vue 3中设置字体颜色可以通过多种方式实现,这取决于你是想在组件内部直接设置,还是在CSS/SCSS/LESS等样式文件中定义。以下是几种常见的方法: 1. 内联样式 你可以直接在模板中使用style绑定来设置字体颜色。 <template><div :s…...
Python实现prophet 理论及参数优化
文章目录 Prophet理论及模型参数介绍Python代码完整实现prophet 添加外部数据进行模型优化 之前初步学习prophet的时候,写过一篇简单实现,后期随着对该模型的深入研究,本次记录涉及到prophet 的公式以及参数调优,从公式可以更直观…...
论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一)
宇树机器人多姿态起立控制强化学习框架论文解析 论文解读:交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(一) 论文解读:交大&港大&上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化…...
从零实现STL哈希容器:unordered_map/unordered_set封装详解
本篇文章是对C学习的STL哈希容器自主实现部分的学习分享 希望也能为你带来些帮助~ 那咱们废话不多说,直接开始吧! 一、源码结构分析 1. SGISTL30实现剖析 // hash_set核心结构 template <class Value, class HashFcn, ...> class hash_set {ty…...
Go 语言并发编程基础:无缓冲与有缓冲通道
在上一章节中,我们了解了 Channel 的基本用法。本章将重点分析 Go 中通道的两种类型 —— 无缓冲通道与有缓冲通道,它们在并发编程中各具特点和应用场景。 一、通道的基本分类 类型定义形式特点无缓冲通道make(chan T)发送和接收都必须准备好࿰…...
A2A JS SDK 完整教程:快速入门指南
目录 什么是 A2A JS SDK?A2A JS 安装与设置A2A JS 核心概念创建你的第一个 A2A JS 代理A2A JS 服务端开发A2A JS 客户端使用A2A JS 高级特性A2A JS 最佳实践A2A JS 故障排除 什么是 A2A JS SDK? A2A JS SDK 是一个专为 JavaScript/TypeScript 开发者设计的强大库ÿ…...
关于easyexcel动态下拉选问题处理
前些日子突然碰到一个问题,说是客户的导入文件模版想支持部分导入内容的下拉选,于是我就找了easyexcel官网寻找解决方案,并没有找到合适的方案,没办法只能自己动手并分享出来,针对Java生成Excel下拉菜单时因选项过多导…...
