当前位置: 首页 > 知识库问答 >
问题:

java接入海康威视摄像头sdk后,如何推流给前端?

阎鸿煊
2023-11-28

海康提供的demo用的Java Swing开发的GUI程序,怎么把这个视频转到前端vue项目,后端是怎么生成流地址?

public static void realPlay(int userID, int iChannelNo) {        if (userID == -1) {            System.out.println("请先注册");            return;        }        HCNetSDK.NET_DVR_PREVIEWINFO strClientInfo = new HCNetSDK.NET_DVR_PREVIEWINFO();        strClientInfo.read();        strClientInfo.hPlayWnd = 0;  //窗口句柄,从回调取流不显示一般设置为空        strClientInfo.lChannel = iChannelNo;  //通道号        strClientInfo.dwStreamType=0; //0-主码流,1-子码流,2-三码流,3-虚拟码流,以此类推        strClientInfo.dwLinkMode=4; //连接方式:0- TCP方式,1- UDP方式,2- 多播方式,3- RTP方式,4- RTP/RTSP,5- RTP/HTTP,6- HRUDP(可靠传输) ,7- RTSP/HTTPS,8- NPQ        strClientInfo.bBlocked=1;        strClientInfo.write();                //回调函数定义必须是全局的        if (fRealDataCallBack == null) {            fRealDataCallBack = new FRealDataCallBack();        }                //开启预览        lPlay = hCNetSDK.NET_DVR_RealPlay_V40(userID, strClientInfo, fRealDataCallBack , null);        if (lPlay == -1) {            int iErr = hCNetSDK.NET_DVR_GetLastError();            System.out.println("取流失败" + iErr);            return;        }        System.out.println(lPlay);        System.out.println("取流成功");        //设置裸码流回调函数//        if (fPlayescallback==null)//        {//            fPlayescallback=new fPlayEScallback();//        }//        boolean setcallback=hCNetSDK.NET_DVR_SetESRealPlayCallBack(lPlay,fPlayescallback,null);//        if (setcallback==false)//        {//            System.out.println("设置裸码流回调失败,错误码:"+hCNetSDK.NET_DVR_GetLastError());//        }        //取流解码过程中播放库从解码码流中抓图//        getPicbyPlayCtrl();                /**         * 预览一段时间;如果要一直取流预览,需要保证程序一直运行         */        try {//            Thread.sleep(10000);            Thread.sleep(100000000);        } catch (InterruptedException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }        if (lPlay>=0) {            if (hCNetSDK.NET_DVR_StopRealPlay(lPlay))            {                System.out.println("停止预览成功");                return;            }        }    }

共有2个答案

钱稳
2023-11-28

播放这种功能不都是前台直接对接的吗,从后台转一下的意义是啥

徐智渊
2023-11-28

海康一般都是rtsp的流,后端需要用ffmpeg进行转流为flv格式推给前端

 类似资料:
  • null 我如何向摄像机发送重置请求?或者有没有我们可以与HTTP get post方法一起使用的命令列表?有海康威视CGI的名单吗?和Onvif命令来重置相机? 任何帮助都是感激的

  • 技术支持工程师-医疗方向-杭州 时间线: 9.04:测评 9.06:笔试 9.21:一面 1、一面(钉钉)(第一个面试) 1.01 自我介绍 1.02 问项目 1.03 项目中的主要工作 1.04 最有成就感的事情,详细说下 1.05 当班长的体会 1.06 对这个岗位的了解 1.07 课余爱好 1.08 长期坚持的爱好 1.09 为什么选这个城市 1.10 反问

  • 刚刚面的海康威视。找的是Java开发。一进是线下面的。然后他开始也不问,我技术啊,他就问我一些七七八八的学校做什么,你怎么自学的?你觉得你可算了多少嗯什么你最精通的什么框架?笑死了,我说我就会一个是公布的,其他不是很熟练。他说他这边要求必须精通三个以上的框架。真**笑死我了。然后说什么妮蔻,你这才刷至少得刷200道题啊?然后就是说你技术上不行。然后问我练了多少家公司了,怎么有没有考虑,为什么没有通

  • 整体来说问的还是很简单的,感觉不符合想象 1.自我介绍 2.问了半天公司的事 3.数组方法 4.找数组最多出现次数 5.vue双向绑定 6.git解决冲突 7.微前端 8.webpack 9.工厂模式 10.反问 还有记不得了,问的奇少无比,而且都贼简单,不过听面试官的意思,招进来好像就是干外包的,原话叫"负责定制" 面试官声音挺好听的#我的实习求职记录#

  • 1、自我介绍 2、项目 3、项目功能上还可以有哪些优化 4、页面dom太多如何优化 5、图片懒加载 6、http与socket的区别 7、闭包、原型链 8、vue响应式原理,如何给一个普通变量加上响应式 9、说说es6 10、项目部署

  • 全程大概25min 1.自我介绍 2.围绕项目询问 3.vue的响应式原理 4.说一下flex布局 5.js事件循环 6.自己在前端方面还有什么不足 #前端面经##海康威视#