mobile CCTV,mobile surveillance,police body worn cameras

标题: mcu.getSession().getPuChannelInfos() [打印本页]

author: 张先生    time: 2019-9-11 15:24
标题: mcu.getSession().getPuChannelInfos()
mcu.getSession().getPuChannelInfos()  一直获取不到信息 size 一直是 0  确定登陆成功

author: xuwei    time: 2019-9-11 15:45
要先发设备列表查询命令
author: 张先生    time: 2019-9-11 16:16
xuwei post on2019-9-11 15:45
要先发设备列表查询命令

这个指令是指   mcu.getmCmdManager().QueryPUListByParam(CmdManager.QUERY_ONLINE_PULIST, 0, 0, mcu.getConnection().getIQueryResponse());
   这句代码嘛?
author: Arthur    time: 2019-9-11 19:24
张先生 post on2019-9-11 16:16
这个指令是指   mcu.getmCmdManager().QueryPUListByParam(CmdManager.QUERY_ONLINE_PULIST, 0, 0, mcu.g ...

是的。要注意IQueryResponse的回复,塞入数据。
  1. for (BVCU_PUChannelInfo bvcu_PUChannelInfo : list) {
  2.     mcu.getSession().updatePUChannelInfo(bvcu_PUChannelInfo);
  3.                                                 }
copycode
然后才能使用
  1. mcu.getSession().getPuChannelInfos();
copycode
或者你可以自己单独保存。
  1. mcu.getmCmdManager().QueryPUListByParam(), 这个是分页查询, position为起始位置,count为一次查询的数量。</span>
copycode



author: 张先生    time: 2019-9-12 16:49
Arthur post on2019-9-11 19:24
是的。要注意IQueryResponse的回复,塞入数据。
然后才能使用
或者你可以自己单独保存。

有没有现成的方法,直接调用登陆  和  接受回复的数据 而不是照着demo那样粘贴复制  ,给的这个SDK 包含的东西太多了
author: admin    time: 2019-9-12 17:06
嗯,这个系统是东西比较多,毕竟我们做了七八年了,您肯定要稍微花些时间去熟悉。

author: 张先生    time: 2019-9-17 16:25
admin post on2019-9-12 17:06
嗯,这个系统是东西比较多,毕竟我们做了七八年了,您肯定要稍微花些时间去熟悉。

有没有具体点的  播放视频流的  介绍或者说 是简单的调用方式
author: admin    time: 2019-9-17 16:44
哦,还是上午微信群说的,您打群里留的手机号,我们让研发给您讲讲。

author: 张先生    time: 2019-9-18 17:02
admin post on2019-9-17 16:44
哦,还是上午微信群说的,您打群里留的手机号,我们让研发给您讲讲。

Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x1c in tid 30935 (.saruan.mcutest), pid 30912 (.saruan.mcutest)  这个致命错误  是什么样的情况下造成的?
author: 张先生    time: 2019-9-18 17:03
张先生 post on2019-9-18 17:02
Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x1c in tid 30935 (.saruan.mcutest),  ...

failed to wait for crash_dump helper: No child processes  和这个

author: besovideo    time: 2019-9-18 17:29
兄弟,请详细说下上下文和具体的代码情况。

author: 张先生    time: 2019-9-18 17:36
besovideo post on2019-9-18 17:29
兄弟,请详细说下上下文和具体的代码情况。

现在是   打断点能出视频偶尔不出,不打断点的话  就会出现发的那种情况
author: xuwei    time: 2019-9-18 17:44
张先生 post on2019-9-18 17:36
现在是   打断点能出视频偶尔不出,不打断点的话  就会出现发的那种情况

对比看下SDK DEMO有没有这个问题,如果没有,可能需要你这边对比下未修改的DEMO代码排查下调用的流程是不是有疏漏
author: xuwei    time: 2019-9-18 17:45
xuwei post on2019-9-18 17:44
对比看下SDK DEMO有没有这个问题,如果没有,可能需要你这边对比下未修改的DEMO代码排查下调用的流程是不 ...

看到你这边是自己的工程.saruan.mcutest
author: besovideo    time: 2019-9-18 17:54
嗯,提供了简单协议DEMO的BVCU SDK给你了。

author: 张先生    time: 2019-9-19 11:20
besovideo post on2019-9-18 17:54
嗯,提供了简单协议DEMO的BVCU SDK给你了。

这个SDK是默认UA的  有没有不是默认UA的?
author: xuwei    time: 2019-9-19 11:23
张先生 post on2019-9-19 11:20
这个SDK是默认UA的  有没有不是默认UA的?

param.iClientType = BVCU_CLIENT_TYPE.BVCU_CLIENT_TYPE_UA;改为BVCU_CLIENT_TYPE.BVCU_CLIENT_TYPE_CU
author: besovideo    time: 2019-9-19 11:25
这样登录就不是UA,而是CU了,就不需要认证了。

author: 张先生    time: 2019-9-19 11:32
  1.   BVCU_SessionParam param = new BVCU_SessionParam();
  2.         BVCU_ServerParam serverParam = new BVCU_ServerParam();
  3.         serverParam.szClientID = getClientID();
  4.         serverParam.iCmdProtoType = 1;
  5.         serverParam.szServerAddr = ip;
  6.         serverParam.iServerPort = port;
  7.         serverParam.szUserName = username;
  8.         serverParam.szPassword = password;
  9.         serverParam.szUserAgent = "monitor";
  10. //        BVPU_ServerParam bvpuServerParam = new BVPU_ServerParam();
  11.         param.iClientType = BVCU_CLIENT_TYPE.BVCU_CLIENT_TYPE_CU;
  12.         param.iCmdProtoType = serverParam.iCmdProtoType;
  13.         param.iMaxChannelOpenCount = 0;
  14.         param.iServerPort = serverParam.iServerPort;
  15.         param.iTimeOut = 30 * 1000;
  16.         param.szClientID = serverParam.szClientID;
  17.         param.szPassword = serverParam.szPassword;
  18.         param.szServerAddr = serverParam.szServerAddr;
  19.         param.szUserAgent = serverParam.szUserAgent;
  20.         param.szUserName = serverParam.szUserName;
  21. //        bvpuServerParam.szDeviceName = "SDK测试";
  22. //        bvpuServerParam.iMediaDir ^= BVCU_MediaDir.BVCU_MEDIADIR_VIDEOSEND;
  23. //        bvpuServerParam.iMediaDir ^= BVCU_MediaDir.BVCU_MEDIADIR_TALKONLY;

  24.         int loginStatus = BVCU.getSDK().login(param);
  25.         Log.d("登陆状态", "loginStatus:" + loginStatus);
copycode



D/登陆状态: loginStatus:-65522
author: xuwei    time: 2019-9-19 11:45
张先生 post on2019-9-19 11:32
D/登陆状态: loginStatus:-65522

return "UA_" + String.valueOf(i3);改为return “CU_” + String.valueOf(i3);修改完,卸载重新安装
author: 张先生    time: 2019-9-19 11:57
  1.    private void login(String ip, int port, String username, String password) {
  2.         BVCU_SessionParam param = new BVCU_SessionParam();
  3.         BVCU_ServerParam serverParam = new BVCU_ServerParam();
  4.         serverParam.szClientID = getClientID();
  5.         serverParam.iCmdProtoType = 1;
  6.         serverParam.szServerAddr = ip;
  7.         serverParam.iServerPort = port;
  8.         serverParam.szUserName = username;
  9.         serverParam.szPassword = password;
  10.         serverParam.szUserAgent = "monitor";
  11. //        BVPU_ServerParam bvpuServerParam = new BVPU_ServerParam();
  12.         param.iClientType = BVCU_CLIENT_TYPE.BVCU_CLIENT_TYPE_CU;
  13.         param.iCmdProtoType = serverParam.iCmdProtoType;
  14.         param.iMaxChannelOpenCount = 0;
  15.         param.iServerPort = serverParam.iServerPort;
  16.         param.iTimeOut = 30 * 1000;
  17.         param.szClientID = serverParam.szClientID;
  18.         param.szPassword = serverParam.szPassword;
  19.         param.szServerAddr = serverParam.szServerAddr;
  20.         param.szUserAgent = serverParam.szUserAgent;
  21.         param.szUserName = serverParam.szUserName;
  22. //        bvpuServerParam.szDeviceName = "SDK测试";
  23. //        bvpuServerParam.iMediaDir ^= BVCU_MediaDir.BVCU_MEDIADIR_VIDEOSEND;
  24. //        bvpuServerParam.iMediaDir ^= BVCU_MediaDir.BVCU_MEDIADIR_TALKONLY;

  25.         int loginStatus = BVCU.getSDK().login(param);
  26.         Log.d("登陆状态", "loginStatus:" + loginStatus);
  27.     }

  28.     @TargetApi(Build.VERSION_CODES.LOLLIPOP)
  29.     String getRandomID() {
  30.         ThreadLocalRandom threadLocalRandom = ThreadLocalRandom.current();
  31.         int i3 = threadLocalRandom.nextInt(10000, 99999);
  32.         return "CU_" + String.valueOf(i3);
  33.     }

  34.     String getClientID() {
  35.         SharedPreferences sp = getSharedPreferences("config", MODE_PRIVATE);
  36.         String ID = sp.getString("client_id", null);
  37.         if (ID == null) {
  38.             ID = getRandomID();
  39.             SharedPreferences.Editor editor = sp.edit();//获得sp编辑器
  40.             editor.putString("client_id", ID);
  41.             editor.commit();//类似于数据库的事务,保证数据同时提交
  42.         }
  43.         return ID;
  44.     }
copycode


进入界面  初始化   BVCU.getSDK().init(getApplicationContext());  然后直接调用登陆   一直失败
author: besovideo    time: 2019-9-19 11:58
前面要您卸载一下。
author: 张先生    time: 2019-9-19 12:02
已经卸载了    这个不是你们写的DEMO了  是我直接复制出来的  登录
author: xuwei    time: 2019-9-19 12:04
张先生 post on2019-9-19 12:02
已经卸载了    这个不是你们写的DEMO了  是我直接复制出来的  登录

建议先在Demo验证,功能验证没问题,流程理解后再移植到新的APP上面
author: xuwei    time: 2019-9-19 12:05
张先生 post on2019-9-19 12:02
已经卸载了    这个不是你们写的DEMO了  是我直接复制出来的  登录

错误返回码是什么?

author: 张先生    time: 2019-9-19 12:15
xuwei post on2019-9-19 12:05
错误返回码是什么?

D/登陆状态: loginStatus:-65522
author: xuwei    time: 2019-9-19 12:21
张先生 post on2019-9-19 12:15
D/登陆状态: loginStatus:-65522

打印serverParam.szClientID,看下
author: 张先生    time: 2019-9-19 12:26
xuwei post on2019-9-19 12:21
打印serverParam.szClientID,看下

  serverParam.szClientID  =  CU_54020
author: xuwei    time: 2019-9-19 12:26
xuwei post on2019-9-19 12:21
打印serverParam.szClientID,看下

如果一定要用新工程来验证,有没有把BVCU SDK DEMO里面的armeabi-v7a中so库文件和bvcu.jar全部覆盖拷贝到新工程
author: 张先生    time: 2019-9-19 12:30
xuwei post on2019-9-19 12:26
如果一定要用新工程来验证,有没有把BVCU SDK DEMO里面的armeabi-v7a中so库文件和bvcu.jar全部覆盖拷贝到 ...

这个肯定有 要不项目会报错
author: xuwei    time: 2019-9-19 12:32
张先生 post on2019-9-19 12:30
这个肯定有 要不项目会报错

用BVCU SDK Demo验证也是返回错误么
author: 张先生    time: 2019-9-19 12:33
xuwei post on2019-9-19 12:32
用BVCU SDK Demo验证也是返回错误么

demo  不会   
author: xuwei    time: 2019-9-19 12:38
张先生 post on2019-9-19 12:33
demo  不会

那要对比看下哪里代码没调用
author: 张先生    time: 2019-9-19 12:38
xuwei post on2019-9-19 12:32
用BVCU SDK Demo验证也是返回错误么

但是从UA  改为  CU  卸载在打开之后会提示认证成功
author: 张先生    time: 2019-9-19 12:40
xuwei post on2019-9-19 12:38
那要对比看下哪里代码没调用

doAuth(); 这个方法必须调用嘛?

author: xuwei    time: 2019-9-19 12:40
张先生 post on2019-9-19 12:38
但是从UA  改为  CU  卸载在打开之后会提示认证成功

登录成功还是认证成功
author: 张先生    time: 2019-9-19 12:42
xuwei post on2019-9-19 12:40
登录成功还是认证成功

打开demo之后会先提示认证成功
author: xuwei    time: 2019-9-19 13:16
张先生 post on2019-9-19 12:42
打开demo之后会先提示认证成功

那就先在demo上验证,OK后,再按照demo的调用流程移植
author: 张先生    time: 2019-9-19 14:20
  1. private void doAuth() {
  2.                 BVAuth_Request bvAuth_request = new BVAuth_Request();
  3.                 bvAuth_request.setSzDeveloperAppID(Constant.APP_ID);
  4.                 bvAuth_request.setSzAppType(Constant.TYPE_MCP);
  5.                 bvAuth_request.setSzDeveloperRsaE(Constant.RSAE);
  6.                 bvAuth_request.setSzDeveloperRsaN(Constant.RSAN);
  7.                 String serial_num = sharedTools.getShareString("auth.serialnumber","");
  8.                 bvAuth_request.setSzSerialNumber(serial_num);
  9.                 bvAuth_request.setSzInnerInfo("");
  10.                 bvAuth_request.setUserLabel(Constant.USER_LABEL);
  11.                 bvAuth_request.setSzHardwareSN(Build.FINGERPRINT);// TODO
  12.                 BVCU.getSDK().setEventCallback(bvcuEventCallback);
  13.                 BVCU.getAuth().setAuthEventCallback(bvAuthEventCallback);
  14.                 int status = BVCU.getAuth().auth(getApplicationContext(), bvAuth_request);
  15.                 Log.d(TAG, "status=" + status);
  16.         }
copycode


在SDK DEMO 上测试  去掉这个方法登录不成功  
author: xuwei    time: 2019-9-19 14:40
张先生 post on2019-9-19 14:20
在SDK DEMO 上测试  去掉这个方法登录不成功

doAuth();需要调用
author: 张先生    time: 2019-9-19 15:17
xuwei post on2019-9-19 14:40
doAuth();需要调用

现在那个DEMO  登录不成功。。。。
author: 张先生    time: 2019-9-19 15:52
现在那个SDK登录返回    -65522
author: xuwei    time: 2019-9-19 15:54
张先生 post on2019-9-19 15:52
现在那个SDK登录返回    -65522

login返回的,还是回调返回的
author: 张先生    time: 2019-9-19 15:56
  1. private void login(String ip, int port, String username, String password) {
  2.                 BVCU_SessionParam param = new BVCU_SessionParam();
  3.                 BVCU_ServerParam serverParam = new BVCU_ServerParam();
  4.                 serverParam.szClientID = getClientID();
  5.                 serverParam.iCmdProtoType = 1;
  6.                 serverParam.szServerAddr = ip;
  7.                 serverParam.iServerPort = port;
  8.                 serverParam.szUserName = username;
  9.                 serverParam.szPassword = password;
  10.                 serverParam.szUserAgent = Constant.USER_AGENT;
  11.                 BVPU_ServerParam bvpuServerParam = new BVPU_ServerParam();
  12.                 param.iClientType = BVCU_CLIENT_TYPE.BVCU_CLIENT_TYPE_CU;
  13.                 param.iCmdProtoType = serverParam.iCmdProtoType;
  14.                 param.iMaxChannelOpenCount = 0;
  15.                 param.iServerPort = serverParam.iServerPort;
  16.                 param.iTimeOut = 30 * 1000;
  17.                 param.szClientID = serverParam.szClientID;
  18.                 param.szPassword = serverParam.szPassword;
  19.                 param.szServerAddr = serverParam.szServerAddr;
  20.                 param.szUserAgent = serverParam.szUserAgent;
  21.                 param.szUserName = serverParam.szUserName;
  22.                 bvpuServerParam.szDeviceName = "SDK测试";
  23.                 bvpuServerParam.iMediaDir ^= BVCU_MediaDir.BVCU_MEDIADIR_VIDEOSEND;
  24.                 bvpuServerParam.iMediaDir ^= BVCU_MediaDir.BVCU_MEDIADIR_TALKONLY;
  25.                 if (serverParam.szClientID.contains("UA")) {
  26.                         param.iClientType = BVCU_CLIENT_TYPE.BVCU_CLIENT_TYPE_UA;
  27.                         param.stEntityInfo = new BVCU_EntityInfo();
  28.                         PUDeviceInfo.initPUEntityInfo(param.stEntityInfo, bvpuServerParam);
  29.                 }
  30.                 int loginStatus = BVCU.getSDK().login(param);
  31.                 Log.d(TAG, "loginStatus:" + loginStatus);
  32.         }
copycode


这句返回的

author: 张先生    time: 2019-9-19 15:57
打印的返回结果
author: 张先生    time: 2019-9-19 16:18
这个SDK刚开始还行  但是现在不知道为什么突然就登录不上了   不知道是否是把  默认的UA 转为 CU 的原因   现在打开还提示认证失败
author: xuwei    time: 2019-9-19 16:41
张先生 post on2019-9-19 16:18
这个SDK刚开始还行  但是现在不知道为什么突然就登录不上了   不知道是否是把  默认的UA 转为 CU 的原因    ...

我这边验证代码没有任何问题,麻烦打包下你修改的代码发过来看下
author: 张先生    time: 2019-9-19 16:43
xuwei post on2019-9-19 16:41
我这边验证代码没有任何问题,麻烦打包下你修改的代码发过来看下

我自己的 还是  DEMO的?

author: xuwei    time: 2019-9-19 16:55
张先生 post on2019-9-19 16:43
我自己的 还是  DEMO的?

bvcu sdk demo,在没有清楚调用流程的情况下,不要直接写测试工程,出现调用问题,这边没法验证
author: 张先生    time: 2019-9-20 15:09
xuwei post on2019-9-19 16:55
bvcu sdk demo,在没有清楚调用流程的情况下,不要直接写测试工程,出现调用问题,这边没法验证

如果获取设备定位 需要单独查询一次  设备信息里没有是吗?我看设备信息的那个定位都是0
author: xuwei    time: 2019-9-20 16:34
张先生 post on2019-9-20 15:09
如果获取设备定位 需要单独查询一次  设备信息里没有是吗?我看设备信息的那个定位都是0

是的,需要单独查询
author: 张先生    time: 2019-9-20 16:49
xuwei post on2019-9-20 16:34
是的,需要单独查询

能不能设置设备信息里边包含定位地址
author: besovideo    time: 2019-9-20 18:07
最好按我们现有的来做,你要有让我们改动是要付费的,我们现有的也并不麻烦。尽量按我们现有的机制来做,不要试图去改变它。
author: 张先生    time: 2019-9-21 09:51
besovideo post on2019-9-20 18:07
最好按我们现有的来做,你要有让我们改动是要付费的,我们现有的也并不麻烦。尽量按我们现有的机制来做,不 ...

现有的意思是  根据你们SDK上的那个电子地图嘛?
author: 张先生    time: 2019-9-21 10:06
张先生 post on2019-9-21 09:51
现有的意思是  根据你们SDK上的那个电子地图嘛?

简单的有示例吗?我看你们的SDK  是分开的不是合并的
author: besovideo    time: 2019-9-21 10:39
我们提供过2套SDK给你们,如果要带UI界面的,那么就用那个MCP SDK吧,那个编译出来就是我们标准的MCP APP。

author: 张先生    time: 2019-9-21 11:14
besovideo post on2019-9-21 10:39
我们提供过2套SDK给你们,如果要带UI界面的,那么就用那个MCP SDK吧,那个编译出来就是我们标准的MCP APP。 ...

现在的实现效果就是在拉流的界面上显示一下  设备定位就行了  可以不用一直定位   
author: 张先生    time: 2019-9-21 11:31
besovideo post on2019-9-21 10:39
我们提供过2套SDK给你们,如果要带UI界面的,那么就用那个MCP SDK吧,那个编译出来就是我们标准的MCP APP。 ...

查询定位的指令是什么?我只要能找到经纬度,剩下的我可以自己解析
author: besovideo    time: 2019-9-21 12:46
可以用MCP SDK设断点跟踪下。
author: xuwei    time: 2019-9-21 13:08
张先生 post on2019-9-21 11:31
查询定位的指令是什么?我只要能找到经纬度,剩下的我可以自己解析

看一下mcp的实现就行了
author: 张先生    time: 2019-9-21 14:06
xuwei post on2019-9-21 13:08
看一下mcp的实现就行了

设备和自己的位置在一块  设备定位不显示?
author: besovideo    time: 2019-9-21 17:46
都显示的呀,你拿我们标准APP先看一下。
author: 张先生    time: 2019-9-26 14:23
besovideo post on2019-9-21 17:46
都显示的呀,你拿我们标准APP先看一下。

发现只要点击一次定位,然后退出定位界面,也一直在定位那个设备,有没有方法退出定位界面的时候,停止定位那个设备
author: coldflame    time: 2019-9-26 14:25
设备是一直持续上报GPS坐标的,默认的是每隔1s上报一次。
这个不能停止。

author: 张先生    time: 2019-9-26 14:39
coldflame post on2019-9-26 14:25
设备是一直持续上报GPS坐标的,默认的是每隔1s上报一次。
这个不能停止。

那如果两到三个设备在线,都点击一下定位,会一直上传这三个的定位是吗?
author: coldflame    time: 2019-9-26 14:46
是的,一个设备多的平台,几百台设备在线,都一直上报心跳和GPS数据的。
author: xuwei    time: 2019-9-26 14:50
张先生 post on2019-9-26 14:23
发现只要点击一次定位,然后退出定位界面,也一直在定位那个设备,有没有方法退出定位界面的时候,停止定 ...

退出界面的时候可以调用closeDialog接口关闭GPS数据通道




欢迎光临 mobile CCTV,mobile surveillance,police body worn cameras (http://bbs.besovideo.com:8067/) Powered by Discuz! X3.2