web,h5海康视频接入监控视频流记录二(后台node取流)

news2024/9/28 19:17:47

首先将自己的appkey,secret以及对应参数填上,看看是否能够取流成功。

ws取流是需要开通559端口的,可以联系海康技术开放,以及mgc需要升级版本。

普通模式的话 需要升级mgc到5.13.102版本,可以找下现场技术帮你升级,先卸载老的再上传安装新的

 

 取流能成功,再开始接口取流

对了,海康的接口是不能够直接用前端去请求对接的,所以一定是需要后端先接。java,c,node,都可以。

接接口,需要进行加签,加签成功后,将获得的x-ca-signature放置于请求header中,官方提供加签认证文档

海康开放平台

 

以下是我用node请求的例子

1 需注意的是,node axios请求https接口,会报一个self-access的错误,无法请求。需要在请求前加入

process.env.NODE_TLS_REJECT_UNAUTHORIZED = '0'; // 解决https请求(self-...-chain)问题

2.请求取流接口代码

//生成加密串
    const toSignUrl = '/artemis/api/video/v2/cameras/previewURLs'
    const singStr = signature.getSignStr(toSignUrl)
    console.log(singStr);
    const url = 'https://27.154.53.2:10443/artemis/api/video/v2/cameras/previewURLs'
    // 发起一个post请求
    axios({
        method: 'post',
        url,
        data: {
            "cameraIndexCode": videoCode,
            "streamType": 1,
            "protocol": "ws",
            "transmode": 1,
            "expand": "streamform=rtp"
        },
        headers: {
            'Content-Type': 'application/json',
            'x-ca-key': appKey,
            'x-ca-signature-headers': 'x-ca-key',
            'x-ca-signature': singStr,
            'Accept': '*/*'
        }
    }).then(function (response) {
        console.log(response.data);
        res.sendResult({data: response.data, code: 200, message: "取流成功"});
    }).catch(function (error) {
        console.log(error);
        return res.sendResult({data: null, code: 500, message: '获取失败'})
    })

 其中加签代码

   const singStr = signature.getSignStr(toSignUrl)

toSignUrl = '/artemis/api/video/v2/cameras/previewURLs'  每个接口,都需要传入对应的接口url再与appsecret进行加签

function getSignStr(accessSignStr){
    const to_sign_str = "POST\n" +
        "*/*\n" +
        "application/json\n" +
        `x-ca-key:${appKey}\n` +
        accessSignStr;//签名拼接字符串
    return (CryptoJS.enc.Base64.stringify(CryptoJS.HmacSHA256(appSecret, to_sign_str)))
}

这样一来,就能够成功取回对应的直播ws流了

依赖安装 "crypto-js": "^4.1.1"

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Java | IO 模式之 JavaBIO 应用

文章目录IO模型Java BIOJava NIOJava AIO(NIO.2)BIO、NIO、AIO的使用场景BIO1 BIO 基本介绍2 BIO 的工作机制3 BIO 传统通信实现3.1 业务需求3.2 实现思路3.3 代码实现4 BIO 模式下的多发和多收消息4.1 业务需求4.2 实现思路4.3 代码实现5 BIO 模式下接收…

大V龚文祥造谣董明珠恋情被禁言

我是卢松松,点点上面的头像,欢迎关注我哦! 因造谣董明珠与王自如恋情,知名大V龚文祥老师被今日头条禁言。龚文祥说,69岁的董明珠,找了一个小自己34岁的男友,引的网友议论纷纷。 2月26日&#…

使用Python和OpenCV制作电影般的截屏相册!

目录 简介: 实现步骤: 代码说明: 报错error: 问题所在: 解决方法: 1)卸载: 2)重新安装: 3)安装成功: 效果如下: 简…

DockQuery 天狼 v1.2.0 正式发布

DockQuery 天狼经过 2022 年的孵化,于 2022 年年底发布了第一个版本。 在春回大地万象更新之际,DockQuery 发布了 1.2.0 版本,也是我们公开招募第一批产品体验官的版本。 在这个版本中,DockQuery 主要专注以下几个主题&#xff…

电影《毒舌律师》观后感

上周看了《毒蛇律师》这部电影,讲述一位’大律师’在法庭为己方辩护,最终赢得辩护的故事。 (1)人之常情 说起法律相关,不禁会让人联想到讲法律相关知识的罗翔老师,平时也会看他相关视频,无论是亲…

开发中遇到的问题合集

集合相关 1.JDK版本冲突导致的报错 报错信息: Set.of、List.of、Path.of 如果在 JDK 1.8 的项目中使用 Set.of() 方法报错,可能是因为该方法是 JDK 9 中新增的,不被 JDK 1.8 所支持。 如果你需要在 JDK 1.8 中使用类似的功能,可…

前端:CSS

CSS基本语法规则:选择器若干属性声明 style标签:可以放到代码的任意位置处,head/body中都可以 三种写CSS的方式: 1、内部样式:使用style标签,直接把CSS写到html文件中。此时的style标签可以放到任何位置…

BMI160 BOSCH/博世 六轴 加速度 陀螺仪 传感器

BMI160 6轴惯性运动传感器,采用MEMS传感器封装,将16位3轴加速度计和超低功耗3轴陀螺仪集成在一起。当加速度计和陀螺仪在全速模式下运行时,耗电典型值低至950A,仅为市场上同类产品耗电量的50%或者更低。 Bosch BMI160专为智能手机…

7 款最好的免费 PDF 转 Word 转换器工具

将 PDF 到 Word 转换软件下载到您的计算机将节省您一遍又一遍地访问浏览器的时间。在执行转换任务时,您也不会受到文件大小或数量的限制。现在阅读这篇文章,了解可免费下载的 7 种最佳 PDF 转 Word 转换器软件,以及在转换器中寻找什么。 哪个…

浅谈React Fiber工作原理

静态数据结构 每个 Fiber 节点对应一个组件,保存了该组件的类型,对应的 DOM 节点的对应信息。 FiberRootNode 有且仅有一个,而 rootFiber 可以有多个,因为我们可以挂载多个应用(也就是多次调用ReactDOM.render&#…

注解@EnableAutoConfiguration

上一节已经看了Import注解,而EnableAutoConfiguration注解中就引用了此注解 AutoConfigurationPackage Import(AutoConfigurationImportSelector.class) public interface EnableAutoConfiguration { 所以接下来可以看一下AutoConfigurationImportSelector类&…

Educational Codeforces Round 144 (Rated for Div. 2) E

人菜瘾大还是忍不住打了这场比赛,b卡了半小时,甚至还写了一个最长公共子序列然后喜提wa2,但是c,d还是过的比较快,最后排名rk175有惊无险的上分了,e题赛时一眼想出思路,但是我的实现能力有限,没能…

谷歌关键词排名上首页需要多久【2023年实战数据】

本文主要分享2023年实战得出谷歌做新站关键词排名到首页所需要的时间周期测试。 本文由光算创作,有可能会被剽窃和修改,我们佛系对待这种行为吧。 谷歌关键词排名上首页需要多久? 答案是:90天左右。 具体以下图实战数据为主 关…

【总结】记一次log4j包冲突引发es类找不到的问题

问题现象 某天,某个应用搞新的迭代,突然报ElasticSearch 7.17.5 相关操作都失败了,且问题是必现,本地启动也能稳定复现。组内小伙伴按照es jar包冲突排查了一番,无果,于是问题转交给我来排查。 错误信息是…

计算机网络(第三版) 胡亮 第四章知识点总结

计算机网络(第三版) 胡亮 第四章知识点总结 学习指导 1、掌握询问/确认、轮询/选择模式的使用场合与工作方式 2、掌握停止等待协议的流量控制和差错控制,会进行相关定量的计算。 3、掌握滑动窗口协议中的回退N和选择控制的工作方式 4、了…

重拾JS基础:掌握闭包和作用域链的秘密,让你代码更加简洁优雅

在 JavaScript 中,闭包和作用域链是两个重要的概念,对于理解 JavaScript 中函数的工作方式和实现高级功能非常关键。本文将介绍闭包和作用域链的概念、如何创建和使用闭包,以及如何避免常见的陷阱和错误。 引言 JavaScript 是一门具有函数式编…

基于神经网络的滑模鲁棒控制

目录 前言 1.双关节机械手臂模型 2.神经网络自适应律设计 3. 滑模控制律设计 4. 仿真分析 4.1 仿真模型 4.2 仿真结果 4.3 小结 5 学习问题 前言 上一篇文章我介绍了神经网络补偿的机理,只不过控制律不同,本章我们结合滑模理论设计控制律&#…

不同规划企业对CRM系统的性价比要求

很多企业在选型时关心CRM客户管理系统的价格,有人对CRM的价格完全没有概念,也有的人先问价格再看其他。CRM价格在系统选型中到底有多重要?如何评估CRM价格和价值之间的关系?企业规模对CRM系统价格有什么影响? CRM软件…

Android系统10 RK3399 init进程启动(四十八) init第一阶段分析

配套系列教学视频链接:安卓系列教程之ROM系统开发-百问100ask说明系统:Android10.0设备: FireFly RK3399 (ROC-RK3399-PC-PLUS)前言本文通过代码梳理的方式,给大家介绍Android init祖先进程第一阶段的工作流…

MAC地址申请MAC码购买流程MAC地址哪里申请MAC地址作用

众所周知mac地址号段全世界都是由美国一家政府机构IEEE进行分配的,也是由他们进行管理的。我站具有丰富的MAC地址申请经验,可以帮助客户有效的快速高效的完成MAC地址的申请。关于mac地址购买种类、范围、方式、费用详情如下。 一、服务项目:…