返回

EasyCVR 排查与解决通道列表为空的问题

闲谈

问题: EasyCVR 出现通道列表为空的问题。

排查步骤:

  1. 确认您已正确配置 EasyCVR 服务器。
  2. 检查您是否正确地添加了通道。
  3. 确认您已正确地设置了通道的流媒体协议。
  4. 检查您是否已正确地设置了通道的端口。
  5. 检查您是否已正确地设置了通道的 IP 地址。
  6. 确认您已正确地设置了通道的用户名和密码。

解决方案:

  1. 如果您尚未正确配置 EasyCVR 服务器,请按照 EasyCVR 的官方文档进行配置。
  2. 如果您尚未正确地添加通道,请按照 EasyCVR 的官方文档添加通道。
  3. 如果您尚未正确地设置通道的流媒体协议,请按照 EasyCVR 的官方文档设置通道的流媒体协议。
  4. 如果您尚未正确地设置通道的端口,请按照 EasyCVR 的官方文档设置通道的端口。
  5. 如果您尚未正确地设置通道的 IP 地址,请按照 EasyCVR 的官方文档设置通道的 IP 地址。
  6. 如果您尚未正确地设置通道的用户名和密码,请按照 EasyCVR 的官方文档设置通道的用户名和密码。
private List<EasyCvrDevice> getDeviceList() {
        List<EasyCvrDevice> easyCvrDeviceList = new ArrayList<>();
        // 查询总表设备数据
        String sql = "select * from easy_cvr_device where pid = 0";
        List<Map<String, Object>> deviceList = jdbcTemplate.queryForList(sql);
        for (Map<String, Object> deviceMap : deviceList) {
            EasyCvrDevice easyCvrDevice = new EasyCvrDevice();
            easyCvrDevice.setDeviceId((Integer) deviceMap.get("id"));
            easyCvrDevice.setDeviceName((String) deviceMap.get("name"));
            easyCvrDevice.setPid((Integer) deviceMap.get("pid"));
            easyCvrDevice.setIp((String) deviceMap.get("ip"));
            easyCvrDevice.setPort((Integer) deviceMap.get("port"));
            easyCvrDevice.setUsername((String) deviceMap.get("username"));
            easyCvrDevice.setPassword((String) deviceMap.get("password"));
            // 查询子表设备数据
            String subSql = "select * from easy_cvr_device where pid = " + easyCvrDevice.getDeviceId();
            List<Map<String, Object>> subDeviceList = jdbcTemplate.queryForList(subSql);
            if (subDeviceList.isEmpty()) {
                // 如果子表设备不存在,程序将主表数据清除
                String deleteSql = "delete from easy_cvr_device where id = " + easyCvrDevice.getDeviceId();
                jdbcTemplate.execute(deleteSql);
            } else {
                easyCvrDevice.setSubDeviceList(subDeviceList);
                easyCvrDeviceList.add(easyCvrDevice);
            }
        }
        return easyCvrDeviceList;
    }

预防措施:

  1. 定期检查 EasyCVR 的日志文件,以确保没有错误消息。
  2. 定期更新 EasyCVR 的软件,以确保您使用的是最新版本。

注意:

  1. 本文仅提供有关如何排查和解决 EasyCVR 通道列表为空问题的指导。
  2. EasyCVR 是一款复杂的产品,可能存在多种导致通道列表为空的问题。
  3. 如果您在排查和解决过程中遇到任何问题,请随时向 EasyCVR 的官方技术支持团队寻求帮助。