如题,Java如何通过官方SDK接口获取大华监控的实时视频流帧,有偿
6条回答 默认 最新
- Johar 2021-03-07 00:01关注
一般大华的sdk有两种方式,一种是把窗口句柄直接传给sdk,画面直接显示,不用管解码显示,最为方便;另外一种是通过注册回调方法,返回数据流,sdk demo里面均有实现,见General_NetSDK_ChnEng_JAVA_Win64_IS_V3.052.0000002.0.R.201103中RealplayEx:
public void realplay(){ lRealHandle= netSdk.CLIENT_RealPlayEx(loginHandle, 0, null, 0); if(lRealHandle.longValue()!=0){ System.out.println("realplay success"); netSdk.CLIENT_SetRealDataCallBackEx(lRealHandle, CbfRealDataCallBackEx.getInstance(),null, 31); } }
/** * 实时监视数据回调函数--扩展(pBuffer内存由SDK内部申请释放) */ private static class CbfRealDataCallBackEx implements NetSDKLib.fRealDataCallBackEx { private CbfRealDataCallBackEx() { } private static class CallBackHolder { private static CbfRealDataCallBackEx instance = new CbfRealDataCallBackEx(); } public static CbfRealDataCallBackEx getInstance() { return CallBackHolder.instance; } @Override public void invoke(LLong lRealHandle, int dwDataType, Pointer pBuffer, int dwBufSize, int param, Pointer dwUser) { int bInput=0; if(0 != lRealHandle.longValue()) { switch(dwDataType) { case 0: System.out.println("码流大小为" + dwBufSize + "\n" + "码流类型为原始音视频混合数据"); break; case 1: //标准视频数据 break; case 2: //yuv 数据 break; case 3: //pcm 音频数据 break; case 4: //原始音频数据 break; default: break; } } } }
解决 无用评论 打赏 举报
悬赏问题
- ¥100 求汇川机器人IRCB300控制器和示教器同版本升级固件文件升级包
- ¥15 用visualstudio2022创建vue项目后无法启动
- ¥15 x趋于0时tanx-sinx极限可以拆开算吗
- ¥500 把面具戴到人脸上,请大家贡献智慧
- ¥15 任意一个散点图自己下载其js脚本文件并做成独立的案例页面,不要作在线的,要离线状态。
- ¥15 各位 帮我看看如何写代码,打出来的图形要和如下图呈现的一样,急
- ¥30 c#打开word开启修订并实时显示批注
- ¥15 如何解决ldsc的这条报错/index error
- ¥15 VS2022+WDK驱动开发环境
- ¥30 关于#java#的问题,请各位专家解答!