前后端 java 对接海康威视监控-hls实现h5播放

这篇具有很好参考价值的文章主要介绍了前后端 java 对接海康威视监控-hls实现h5播放。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

海康的获取监控预览流的接口当中支持 rtsp、rtmp、hls等协议。
这篇文章主要是说hls协议的。
贴上海康的开发平台地址,其中有对应的API:海康开发平台

1、java层面代码

这里除了main方法之外,有两个方法,分别是:
1)分页获取监控点资源。 即返回所有的监控点信息。
2)获取监控点预览取流。 即根据监控点的唯一标识查询Url流。前端要根据这个流去展示监控视频。

/**
 * @Author hanmw
 **/
public class Test {

    /**
     * 分页获取监控点资源
     */
    public static String getMonitorPoint() throws Exception {
        ArtemisConfig config = new ArtemisConfig();
        config.setHost("120.48.8.80:447"); // 代理API网关nginx服务器ip端口
        config.setAppKey("22363721");  // 秘钥appkey
        config.setAppSecret("jrrNwKMdccHJVggAfeLR");// 秘钥appSecret
        final String getCamsApi =  "/artemis/api/resource/v1/cameras";
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("pageNo", 1);
        jsonObject.put("pageSize", 500);
        Map<String, String> path = new HashMap<String, String>(2) {
            {
                put("https://", getCamsApi);
            }
        };
        return ArtemisHttpUtil.doPostStringArtemis(config, path, jsonObject.toJSONString(), null, null, "application/json");
    }

    /**
     * 获取监控点预览取流
     */
    public static String getMonitorPointPreview() throws Exception {
        ArtemisConfig config = new ArtemisConfig();
        config.setHost("120.48.8.80:447"); // 代理API网关nginx服务器ip端口
        config.setAppKey("22363721");  // 秘钥appkey
        config.setAppSecret("jrrNwKMdccHJVggAfeLR");// 秘钥appSecret
        final String getCamsApi = "/artemis/api/video/v2/cameras/previewURLs";
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("cameraIndexCode", "1c9ef71e452241a095d2aaaaf1985af9");
        jsonObject.put("streamType", 1);
        jsonObject.put("protocol", "hls");
        Map<String, String> path = new HashMap<String, String>(2) {
            {
                put("https://", getCamsApi);
            }
        };
        return ArtemisHttpUtil.doPostStringArtemis(config, path, jsonObject.toJSONString(), null, null, "application/json");
    }


    public static void main(String[] args) throws Exception {
        String result = getMonitorPointPreview();
        System.out.println(result);

        JSONObject jsonObject = JSONObject.parseObject(result, JSONObject.class);
        if ("0".equals(jsonObject.get("code").toString()) && "success".equals(jsonObject.get("msg").toString())) {
            String url = jsonObject.getJSONObject("data").get("url").toString();
            System.out.println(url);
        }

    }

第一个方法分页获取监控点资源的返回值 主要是为了第二个方法分页获取监控点资源服务的。
这里我们用的是hls协议,所以可以把streamType传1,取子码流。
transmode 以获取的监控点信息当中的 transType为准,一般都是1 即默认TCP。

前后端 java 对接海康威视监控-hls实现h5播放

调试的时候记得在工程下面引入海康的lib包(文章结尾有下载地址)
前后端 java 对接海康威视监控-hls实现h5播放

2、海康和对接方方面

将你的合作方账号中的domainId字段改成外网的就可以。
这部分主要是为了让调接口返回的hls 流url是外网可以访问到的。
比如 http://120.207.8.20:83/openUrl/x3KDmM0/live.m3u8

前后端 java 对接海康威视监控-hls实现h5播放
前后端 java 对接海康威视监控-hls实现h5播放
前后端 java 对接海康威视监控-hls实现h5播放

注意:
hls 协议支持的码流编码格式是 h264,音频格式是 aac(前端是复合流时),需要注意前 端的码流编码格式,要检查下前端设备上的编码格式和音频格式是否符合,编码格式是不是h264,音频格式是不是aac,如果不需要音频,可以把视频类型由复合流改为视频流。
前后端 java 对接海康威视监控-hls实现h5播放

参考文章:https://blog.csdn.net/m0_46690280/article/details/120849969

后端lib包和前端html 以供测试。
链接:https://pan.baidu.com/s/1aKvV3BlGyAhOSaXJ8xxXsg
提取码:ghwn

注:下载下来的html文件当中只需要修改这部分,替换为你的 hls 流url就可以。
前后端 java 对接海康威视监控-hls实现h5播放文章来源地址https://www.toymoban.com/news/detail-476330.html

到了这里,关于前后端 java 对接海康威视监控-hls实现h5播放的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • vue中web端播放rtsp视频流(摄像头监控视频)(海康威视录像机)

    ffmpeg下载 https://ffmpeg.org/download.html 找ffmpeg-release-essentials.zip点击下载,下载完解压 ffmpeg.exe 程序运行 添加成功后验证是否生效任意地方打开cmd窗口输入 ffmpeg 打印如下表示成功 新建一个app.js文件,同级目录下npm安装 node-rtsp-stream 我是直接写在项目里了,你们可以单独写在外

    2024年04月25日
    浏览(52)
  • vue3实现海康威视根据海康插件进行监控实时预览和回放功能

    因为我的文章已经写过基于vue实现海康web插件进行视频播放开箱即用文章,这个文章是利用 vite+vue3+js 进行编写的,大致内容跟vue2一样,拿过去能直接用。 至于我为什么要用js而不用ts,因为海康提供的三个脚本为js语言的,ts尝试过一次,我道行太浅,没搞明白。 这些代码是

    2024年02月05日
    浏览(90)
  • Python海康威视SDK实现实时预览:快速构建高效视频监控系统

    Python海康威视SDK实现实时预览:快速构建高效视频监控系统 在当今社会,安全问题越来越受到人们的关注,越来越多的企业和机构开始建设视频监控系统。而Python作为一种高效、易用的编程语言,已经成为了许多开发人员的首选。本文将介绍如何使用Python海康威视SDK来实现实

    2024年02月14日
    浏览(54)
  • vue2实现海康威视根据海康插件进行监控实时预览和回放功能,全套代码,开箱即用。

     这是一套拿到手就能直接用的根据海康提供的摄像机节点实时预览和回放的全步骤代码,开箱即用。  我的是基于vue2写的,vue3可以看我下一篇文章。 很多人在开发vue项目的时候,不知道怎么去开发视频实时预览和回放功能,然后一直查文档,再去看别人写的项目,就是无

    2023年04月15日
    浏览(72)
  • 记录对接海康威视摄像头web端实时预览:Linux+ffmpeg+nginx转换RTSP视频流(完整版实现)

            需求:web端实现海康摄像头实时预览效果         由于市面上大部分网络摄像头都支持RTSP协议视频流,web端一般无法直接使用RTSP实现视频预览,本篇使用ffmpeg对视频流进行转换,最终实现web端实时预览。         工具介绍:ffmpeg、nginx、vue         介

    2024年01月25日
    浏览(54)
  • 海康威视iSC 平台第三方对接门禁权限分享

    一、 场景描述 iSC 平台的门禁产品及功能在项目应用广泛,第三方对接门禁权限功能的需求也越来也 多,由于门禁权限下发需要涉及到往设备上下发,第三方接口调用一旦不正确,不合理的接 口调用很容易给我们平台造成额外的性能消耗,甚至导致我们平台挂掉,特此梳理

    2024年02月02日
    浏览(340)
  • java 实现监控rtsp流转flv,实现前端播放(前后端代码都有)

    controller层: config层: factories层: result层: service层: 这里因为浏览器把自动播放给禁止了,加了个按钮点击事件 https://www.bootcdn.cn/ 引入的flv.js文件在如下网站下载即可:

    2024年02月11日
    浏览(88)
  • 海康威视后台监控布防

    由于公司业务的需要,前端时间一直在折腾海康摄像头的对接。在这期间踩过许多坑,做一记录分享。 大致的业务场景,主要用到的是海康的 Ai 摄像头与高清摄像头,实现监控布防与实时画面在 web 页面展示预览。 对于 Ai 摄像头内部已经上传了训练好的模型,直接调用海康

    2024年02月06日
    浏览(86)
  • LabVIEW编写上位机控制汇川PLC H5U和伺服运动,海康威视相机视觉对位,实现全面的自动化控制

    LabVIEW编的上位机控制汇川PLCH5U和汇川伺服运动,海康威视相机视觉对位,LabVIEW通过网口控制汇川H5U和Ethercat伺服,LabVIEW需要装视觉 和DSC模块。 因给的是LabVIEW和PLC源码,项目里有LabVIEW上位机,PLC下位机,ethercat伺服,相机对位,涉及面比较全,这套学会的话,就可以接一般

    2024年04月14日
    浏览(35)
  • SRS4 对接海康威视GB28181协议推流 RTMP、webRTC拉流

    Ubuntu 20.04.2 LTS (GNU/Linux 5.4.0-88-generic x86_64) 编译SRS,需要切换到Develop分支,并开启gb28181功能: 配置文件:push.gb28181.conf Remark: 一定要修改配置文件中的host配置,改成你的服务器的IP,摄像头能访问到的这个IP。后续会改进为自动获取,目前还需要修改配置。 然后使用配置文件

    2023年04月08日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包