JAVA开发(JAVA视频监控接口相关)

 一、背景

最近在做视频监控接口相关的开发,需要调用视频的接口获取直播地址,回放地址,然后集成到web里查看。

二、涉及的接口

1、获取卡口的id

2、通过卡口id获取通道(设备的id)

3、通过设备的id获取到直播地址

4、通过设备的id和时间范围获取回放视频文件

5、通过设备id和回放视频文件获取回放视频地址。

三、接口设计

1、获取卡口的id

 响应报文

{"code": "00000000","success": true,"message": "success","data": [{"id": "352864153016221636","type": 1,"name": "测试5","parentId": null},{"id": "eeaa1649b325402ab968eed40934d437","type": 2,"name": "卡口1","parentId": "352864153016221696"},{"id": "2d3fb39f1e52424a4c2885f13b558dc9fb5c","type": 2,"name": "卡口2","parentId": "352864153016221696"},{"id": "2605311145094ffcad9717fa3c1d7bfd","type": 2,"name": "卡口3","parentId": "352864153016221696"},{"id": "1882a593fd104f55a40b35dc7083abfb","type": 2,"name": "卡口4","parentId": "352864153016221696"},{"id": "353113531698122752","type": 3,"name": "卡口5","parentId": "352864153016221696"},{"id": "353112424330567680","type": 3,"name": "卡口6","parentId": "1882a593fd104f55a40b35dc7083abfb"},{"id": "353112063356174336","type": 3,"name": "卡口7","parentId": "2605311145094ffcad9717fa3c1d7bfd"},{"id": "353111937258627072","type": 3,"name": "卡口8","parentId": "2605311145094ffcad9717fa3c1d7bfd"},{"id": "353111801455448064","type": 3,"name": "卡口9","parentId": "2d3fb39f1e52424a4c2885f13b558dc9fb5c"},{"id": "353111504343531520","type": 3,"name": "卡口10","parentId": "2d3fb39f1e52424a4c2885f13b558dc9fb5c"},{"id": "353111361863032832","type": 3,"name": "卡口11","parentId": "2d3fb39f1e52424a4c2885f13b558dc9fb5c"},{"id": "352889700026949632","type": 3,"name": "卡口12","parentId": "1882a593fd104f55a40b35dc7083abfb"}]
}

2、获取设备id

请求报文
{"devIds":["352889700026949632"]
}响应报文
{"code": "00000000","success": true,"message": "success","data": [{"kakouId": "352889700026949632","kakouName": "卡口1","deviceChannels": [{"name": "测试设备1通道ad","deviceChannelCode": "12221S2B69H4_0","onlineStatus": 1},{"name": "HD IPC test","deviceChannelCode": "12221S2B69H4_1","onlineStatus": 1}]}]
}

3、获取直播地址

{"deviceChannelCode":"12221S2B69H4_0"
}
响应报文
{"code": "00000000","success": true,"message": "success","data": "https://ip/live/10100075_1015007501000_12221S2B69H4_0_1.flv"
}

四、视频监控接入云服务

1、视频监控如何接入云服务器

视频监控在现代社会中起着非常重要的作用,然而,如何接入云服务器也是一个重要的问题。云服务器可以提供更好的数据存储和处理服务,同时还可以帮助监控系统实现远程管理和动态诊断。下面是一个流程,介绍如何将视频监控接入云服务器:

需要选择一款高质量的云服务器服务商,并创建一个云服务器。然后,为视频监控系统配置一个公网 IP,使其能够与云服务器进行通信。接下来,需要将监控系统的转码、传输和储存服务配置为与云服务器的端口一致,以实现视频数据的上传和下载。通过安装和配置远程监控软件,可以让用户在任何时间、任何地点轻松地查看视频监控数据。

2、云服务器调用本地摄像头

云服务器调用本地摄像头是一种越来越常见的应用场景,特别是在视频会议、远程监控、视频直播等领域。所谓云服务器,简单来说就是将服务器的各种资源整合在云上,方便用户进行操作和管理。而本地摄像头则是“离线设备”,不依赖于网络,需要通过云服务器才能够远程调用和管理。

如今,随着云计算和物联网技术的不断发展,云服务器调用本地摄像头已经成为了一种热门的技术应用。比如,在视频会议中,参与者无需在同一地点,只需通过云服务器进行连接,即可进行高效的视频交流。在远程监控方面,司机可以通过云服务器远程监控车内情况,而家长也可通过云服务器远程监控孩子的安全状况。另外,在视频直播中,云服务器也扮演着重要的角色,它可以将本地摄像头的视频流上传至云端,随时在线观看、分享。

3、视频监控服务器搭建

视频监控服务器是一种重要的安全设备,它可以记录和存储监控摄像头拍摄的视频,帮助公共场所、企业和个人保护财产安全和人员安全。搭建视频监控服务器需要以下步骤:

1.选择合适的硬件和操作系统。服务器硬件配置可以根据需求来确定,但是操作系统最好选择稳定、安全可靠的版本,如Windows Server或Linux。

2.安装视频监控软件。常用的视频监控软件有Blue Iris、iSpy、ZoneMinder等。根据软件的安装指南下载安装文件并进行安装。

3.配置监控摄像头。将监控摄像头连接到服务器,并根据软件的操作指南完成配置。

4.设置录像存储路径和时间间隔。可以设置录像保存路径和存储周期,以便后期检查和使用。

5.设置远程访问和告警功能。在需要时可以通过网络远程访问监控画面,同时可以设置告警功能,对异常情况进行警报提示。

视频监控服务器是一种非常实用和高效的安全设备,搭建过程要仔细操作,以确保其正常稳定运行。

6。视频接入云平台:

一般的视频监控设备都是在局域网或者专网里运行,但是有些时候我们需要把监控设备接入互联网,然后可以远程访问,存储,录像回放,甚至是做一些视频图像的智能分析。

通常的做法,监控设备厂家会提供专门的云平台,对应的手机app,电脑客户端。我们只需要把监控设备接入互联网,即可实现远程监控,录像回放和设备操作等功能。设备访问功能,一般使用P2P穿透的方式,视频流一般不会经过中间的云平台,云平台的花费不大。如果需要云存储,涉及的流量费和存储空间费用比较大,所以厂家一般提供免费的P2P访问,收费的云存储功能。

一些云计算,CDN存储公司提供第三方的视频监控接入云平台功能服务,觉得可以研究下。主要功能实现如下图:

首先是接入方式,不外乎两种,一种是推流,一种是拉流。所谓推流即监控端把视频流主动推送到云平台。常见的推流方式是RTMP,有些摄像机内置有RTMP服务(注意是RTMP服务,不是RTMP协议,支持RTMP服务的监控摄像机比较少见),在RTMP服务里配置对应的平台的推流信息,比如服务器地址(广域网的地址,静态IP或者域名),端口号,流ID等,即可把摄像机视频流推送到云平台。如果摄像机不支持RTMP服务,可以使用推流软件,比如OBS(Open Broadcaster Software)。OBS和摄像机运行在同一个局域网里,摄像机通过rtsp协议接入到OBS里,然后OBS推流到云平台。

还有一种推流接入方式是GB28181协议, GB28181是国内安防行业的行业标准协议,目前国内的安防设备大都能支持。GB28181的推流方法和原理和RTMP差不多,这里就不详细展开了。

而另一种接入方式拉流,顾名思义,即平台服务端主动去查找,发现前端监控设备,前提条件是前端监控设备需要在互联网里有唯一的地址(公网静态IP或者域名)。毫无疑问,在监控设备数量中众多时,这一条件很难满足,所以拉流的接入方式一般用于局域网监控接入,广域网中很少采用。安防行业里的ONVIF协议属于拉流的接入方式,即后端客户端,平台去查找发现前端设备,常用于局域网的网络环境里,广域网中很难采用ONVIF的接入方式,这也是ONVIF协议与 GB28181协议 在实际应用中的最大区别。

接入平台以后,可以进行视频分析处理,录像存储,回放调用等。也可以通过webRTC,FLV,HLS,rtsp,RTMP等方式对实时视频流进行分发和访问。

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/20570.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

密码学入门——HMAC

文章目录 一、什么是HMAC二、HMAC的步骤 一、什么是HMAC HMAC是一种使用单向散列函数来构造消息认证码的方法(RFC2104),其中 HMAC的H就是Hash的意思。 HMAC 中所使用的单向散列函数并不仅限于一种,任何高强度的单向散列函数都可以被用于HMAC&#xff0…

Java028——Runtime 类

一、Runtime 类介绍 Runtime 类是JDK 提供的运行时类,该类为 Java 程序提供了与当前运行环境相连接的一个通道,Java 程序可以利用该类对当前的运行环境执行一些简单的操作。 二、Runtime 对象的创建 Runtime 类对象不能使用 new 关键字创建,只能通过 …

jmeter 终端命令执行jmx文件 生成jtl日志文件

终端命令执行jmx文件 生成jtl日志文件, 步骤如下: 步骤1:终端进入jmx文件目录 步骤2:执行命令:jmeter -n -t ****.jmx -l ****.jtl -n 以cli模式(命令行运行模式)运行jmeter -t 需要运行的…

OnlyHome三代金属智能手环|健康、科技齐实现

近年来,人们越来越追求生活的品质与趣味,生活中的一点点小确幸、小惊喜最能让人感受到深深地愉悦。这不,Only&Home三代金属智能手环也带来了惊喜,有了它,健康、科技两手抓,享受生活更自由。 Only&Home三代金属智能手环给人的第一印象是它超高的颜值,延用了二代手环奢华…

收好这5个SVG编辑器,轻松实现高效创作

随着设计工作的不断发展,对SVG图形的需求也逐渐增加,SVG编辑器就随之诞生。可市面上的SVG编辑质量参差不齐,设计师无法第一时间找到适合自己的,于是本文就收集整理了5款相对来说比较好用的SVG编辑器为设计师们推荐,一起…

RocketMQ5.0消息消费<二> _ 消息队列负载均衡机制

RocketMQ5.0消息消费<二> _ 消息队列负载均衡机制 一、消费队列负载均衡概览 RocketMQ默认一个主题下有4个消费队列,集群模式下同一消费组内要求每个消费队列在同一时刻只能被一个消费者消费。那么集群模式下多个消费者是如何负载主题的多个消费队列呢?并且如果有新的消费…

指针面试题详解

目录 前言(数组名的总结): 一、int 型数组和 sizeof 的组合 sizeof计算原理 二、char类型和strlen()组合 三、char*类型和sizeof()组合(有 \0 版本) 四、char*类型和…

LC-931 下降路径最小和(记忆化搜索 ==> 动态规划)

931. 下降路径最小和 难度中等247 给你一个 n x n 的 方形 整数数组 matrix ,请你找出并返回通过 matrix 的下降路径 的 最小和 。 下降路径 可以从第一行中的任何元素开始,并从每一行中选择一个元素。在下一行选择的元素和当前行所选元素最多相隔一列…

从小白到大神之路之学习运维第58天--------Firewalld防火墙

第三阶段基础 时 间:2023年7月12日 参加人:全班人员 内 容: Firewalld防火墙 目录 Firewalld防火墙 一、防火墙 1、netfilter和防火墙管理工具 2、防火墙配置模式 3、Firewalld数据流处理的方式 4、firewalld区域类型 1&#x…

python常用库之colorama (python命令行界面打印怎么加颜色)

文章目录 python常用库之colorama (python命令行界面打印怎么加颜色)背景colorama介绍colorama使用colorama打印红色闪烁打印颜色组合 python常用库之colorama (python命令行界面打印怎么加颜色) 背景 在Python开发项目过程中,为了方便调试代码,经常会…

fastapi初使用,构建自己的api

文章目录 1、安装2、api实现2.1、 app.get("/1)2.2、app.get("/{a})2.3、app.get("/{a}{b}")2.4、函数和api分离 3、运行 原文链接:https://wangguo.site/posts/d98bb3c9.html fastapi 是一个基于 Python 的 API 构建框架,简单且易用…

LLM - DataCollatorForLanguageModeling 样本生成 by transformers

目录 一.引言 二.生成样本 By API 1.样本处理样式 2.DataCollatorForLanguageModeling 2.1 样本准备 2.2 API 生成 三.生成样本 By DIY 1.样本准备 2.data_colloator 实现 3.使用自定义 data_colloator 四.总结 一.引言 前面我们讲了 Baichuan7B 的 lora 微调步骤&a…