对接海康威视监控-hls实现h5播放

news/2024/11/17 17:43:27/

对接海康威视监控-hls实现h5播放

  • 前戏
  • 联系海康和对接方
  • 最后一步配置格式--成功
  • 附上对接文档和html

前戏

活干着干着突然老大丢给我一个css文件,说是改吧成Java的

public class OnLineVideoController {private static String appkey = "xx";private static String secret = "xxx";private static String ip = "36.26.24.126";private static int port = 4443;//分页获取监控点资源private static String cameras = "/artemis/api/resource/v1/cameras";//获取监控点预览取流URLprivate static String previewURLs = "/artemis/api/video/v1/cameras/previewURLs";/*** @description json中传入PageSize,和PageIndex 大小和页数 来获取列表数*/@ApiOperation(value = "获取摄像头列表")@RequestMapping(value = "/queryList", method = RequestMethod.POST)public String Cameras(@RequestBody JSONObject requestval) {int pagesize = requestval.getInteger("pageSize");if (pagesize == 0) pagesize = 10;int pageindex = requestval.getInteger("pageIndex");if (pageindex == 0) pageindex = 1;Map<String, String> path = new HashMap<String, String>(2) {{put("https://", cameras);//根据现场环境部署确认是http还是https}};ArtemisConfig artemisConfig = new ArtemisConfig();artemisConfig.setHost(ip + ":" + port);artemisConfig.setAppKey(appkey);artemisConfig.setAppSecret(secret);String contentType = "application/json";JSONObject jsonBody = new JSONObject();jsonBody.put("pageSize", pagesize);jsonBody.put("pageNo", pageindex);String body = jsonBody.toJSONString();/*** STEP6:调用接口*/String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, contentType, null);// post请求application/json类型参数
/*        JSONObject object = JSONObject.parseObject(result);JSONObject data = (JSONObject) object.get("data");JSONArray dataList = (JSONArray) data.get("list");//  List<String> cameraCodeList = new ArrayList<>();// 获取视频列表for (Object obj : dataList) {System.out.println(obj);// cameraCodeList.add(((JSONObject) obj).getString("cameraIndexCode"));}*/return result;}/*** @description 根据json中传入的cameraIndexCode,获取url*/@ApiOperation(value = "获取摄像头访问地址")@RequestMapping(value = "/queryUrl", method = RequestMethod.POST)public String PreviewURLs(@RequestParam String cameraIndexCode) {Map<String, String> path = new HashMap<String, String>(2) {{put("https://", previewURLs);//根据现场环境部署确认是http还是https}};ArtemisConfig artemisConfig = new ArtemisConfig();artemisConfig.setHost(ip + ":" + port);artemisConfig.setAppKey(appkey);artemisConfig.setAppSecret(secret);String contentType = "application/json";String body = "{\"cameraIndexCode\":\"" + cameraIndexCode + "\",\"streamType\":1,\"protocol\":\"hls\",\"transmode\": 1}";//  String body = "{\"cameraIndexCode\":\"" + cameraIndexCode + "\",\"streamType\":1,\"protocol\":\"rtmp\",\"transmode\": 1}";//  String body = "{\"cameraIndexCode\":\"" + cameraIndexCode + "\",\"streamType\":0,\"protocol\":\"rtsp\",\"transmode\": 1,\"expand\":\"streamform=rtp\"}";String result = ArtemisHttpUtil.doPostStringArtemis(path, body, null, null, contentType, null);// post请求application/json类型参数return result;}public static void main(String[] args) {String s = new OnLineVideoController().PreviewURLs("xx");System.out.println(s);}}

改完之后获取到的url地址是 http://10.20.5.10:83/openUrl/xxxx/live.m3u8

然后发现可以获取各种格式的流地址
rtmp://10.20.5.10:1935/live/openUrl/zrPbrXi
rtsp://10.20.5.10:554/openUrl/A0HzEQM
内网地址无法访问。

就给了个css代码,没了僵住。

联系海康和对接方

海康那得到的结果是需要能访问10.20.5.10:83内网的机器,访问http://10.20.5.10:8001/center
将你的合作方账号中的domainId字段改成外网的就可以
在这里插入图片描述
在这里插入图片描述

大概配置这些,然后下面就全部打开就好
在这里插入图片描述

结果对接方说打开是下面这样的,找不到配置的地方。。。
在这里插入图片描述
我也是找了一圈没找到,后来海康那点了记下进去了,还真有。
直接贴连接
http://10.20.5.10:9017/artemis-web/consumer/index
然后按照上面的访问就可以

最后一步配置格式–成功

用新注册的账号密码,去获取流地址,获取到的是
http://36.26.24.126:83/openUrl/xx/live.m3u8
这种可以外网访问的。

这个时候要选择播放格式了。hls是可以直接h5解析的,其他格式要自己转码比较麻烦,我采用的是hls格式的

hls 协议支持的码流编码格式是 h264,音频格式是 aac(前端是复合流时),需要注意前 端的码流编码格式,要检查下前端设备上的编码格式和音频格式是否符合,编码格式是不是h264,音频格式是不是aac,如果不需要音频,可以把视频类型由复合流改为视频流

去找对接方登陆设备的网址,设置这两个格式在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

改完格式后,把获取到的流放到html中即可

附上对接文档和html

链接:https://pan.baidu.com/s/1f8UKS2QLOjh0bx2NOFOmDA
提取码:v126


http://www.ppmy.cn/news/508475.html

相关文章

海康威视监控主机如何管理大华摄像枪

一、大华摄像枪设置 1、关闭 ONVIF 协议端口 登录大华摄像枪&#xff0c;浏览至“网络设置”---“端口”---“ONVIF”&#xff0c; 在 ONVIF 选项界面中&#xff0c;“登录校验”处选择“关闭”点击“确定”保存 2、添加ONVIF用户 浏览至“系统管理”---“用户管理”---点击…

海康威视监控工具-IVMS-4200不同系统兼容性问题汇总

1.ivms-4200在win10专业版系统中&#xff0c;使用正常。 2.ivms-4200最新的3.6以及3.4版本&#xff0c;在win_server_2016中可以安装&#xff0c;但是“主预览”总是转圈圈&#xff0c;无法看到监控画面&#xff0c;而且使用很卡&#xff0c;咨询过官方客服&#xff0c;应该是…

海康威视监控使用html播放

欢迎访问我的个人博客 https://ximikang.icu 存在的问题 rtsp 无法直接在网页端播放&#xff0c;需要插件的支持。不考虑。rtmp 可以在网页播放&#xff0c;但是播放器需要flash的支持&#xff0c;chrome在2020年后对flash的支持十分不友好,但是延迟比较底。hls 可以在网页播放…

CPU与内存控制器相关知识点科普

QPI、CPU、MC这些名词太专业&#xff0c;还是举例来说吧。 有一个科学家&#xff08;CPU核心&#xff09;在实验室&#xff08;CPU&#xff09;做研究&#xff0c;要看很多很多资料。 图书馆有一个管理员&#xff08;MC&#xff0c;内存控制器&#xff09;帮科学家从图书馆&a…

『GoLang』协程与通道

作为一门 21 世纪的语言&#xff0c;Go 原生支持应用之间的通信&#xff08;网络&#xff0c;客户端和服务端&#xff0c;分布式计算&#xff09;和程序的并发。程序可以在不同的处理器和计算机上同时执行不同的代码段。Go 语言为构建并发程序的基本代码块是 协程 (goroutine) …

Java总结(一、JVM内存结构)

参考&#xff1a;http://www.hollischuang.com/archives/80 https://iamjohnnyzhuang.github.io/java/2016/07/12/Java%E5%A0%86%E5%92%8C%E6%A0%88%E7%9C%8B%E8%BF%99%E7%AF%87%E5%B0%B1%E5%A4%9F.html https://mritd.me/2016/03/22/Java-%E5%86%85%E5%AD%98%E4%B9%8B%E6%96…

STM32CUBEIDE(10)----ADC在DMA模式下扫描多个通道

STM32CUBEIDE.10----ADC在DMA模式下扫描多个通道 概述样品申请视频教学csdn课程代码下载生成例程STM32CUBEIDE配置串口重定向代码测试结果 概述 本章STM32CUBEMX配置STM32F103的ADC在DMA模式扫描多个通道&#xff0c;通过串口进行打印。 最近在弄ST和GD的课程&#xff0c;需要…

内存和CPU匹配方法详解

目录 1.内存和CPU的有关数据 2.内存跟CPU搭配的基本原则 3.在Intel平台实现频率同步的方法 4.在Intel平台实现带宽相等的计算方法 5.在Intel平台用主板调控内存运行参数的方法 6.在Intel 平台没有FSB了&#xff0c;怎么配内存 7.内存的双通道的设置问题 8.在AMD K8以前…