萤石云移动端sdk常见问题

news2024/9/22 15:29:20

使用萤石云的SDK时常会遇到各种问题

首先,请先查看错误码文档,这能解决其中的绝大多数!!!

如果没有找到,可以看看下方这些常见问题能否解决你碰到的情况。(iOS可以在打印日志中搜索opensdk error找到错误码,android可以在Logcat日志中搜索handle error找到错误码)

 
如果未解决,请先自行运行Demo,确保问题能在Demo上复现。如不能复现,请参考Demo实现;如能复现,请提供以下信息并提交工单
1.是否已在Demo上复现,偶现还是必现
2.安卓还是iOS问题、SDK版本号
3.问题详细描述+demo启动至问题复现过程的日志 (不是开发好的App)
4.提供appKey+accessToken+设备序列号+验证码
相关文档地址
文档url
安卓接入文档https://open.ys7.com/help/36
IOS接入文档https://open.ys7.com/help/43
SDK & Demo下载https://open.ys7.com/mobile/download.html
一、配网流程

二、常见问题

1.预览问题

  • 预览失败

      1.确定是否是网络问题,切换至外网试试

      2.如果demo正常,用户自己App不正常,可能是验证码问题。SDK中验证码要传入明文,用户App验证码可能获取了后端加密的验证码

      3.可能是服务端返回设备未加密,设备实际是加密状态,进入demo该设备的设置页面,开启或关闭“视频图片加密”,同步下再试下

      4.打开萤石SDK调试模式,将调试栏里的ysproto://xxx 地址复制出来,提工单反馈排查

  • 预览花屏、绿屏

      出现此问题是因为设备端网络不稳定或设备有问题,发送过来的原始码流就有问题,并不是SDK的问题,需要检查设备网络情况或找设备技术排查

      android原始码流获取方法:先打开调试模式:EZOpenSDK.showSDKLog(true),复现问题后,打开文件存储路径/storage/emulated/0/Android/data/ezviz.ezopensdk/files,stream.txt即是原始码流文件。

      iOS原始码流获取方法:先打开调试模式:[EZOPENSDK setDebugLogEnable:YES],复现问题后,打开文件存储路径/SandBox/Documents/EZSaveStreamData,设备序列号_通道号_日期_xxx 即是原始码流文件。

2.SD卡回放问题

  • 打开萤石SDK调试模式,将调试栏里的ysproto://xxx 地址复制出来,提工单反馈排查

3.云存储回放问题

  • 提供api环境+appkey+access token+设备序列号,提工单反馈排查
 

4.对讲问题

  • 确定设备是NVR还是IPC,是否支持对讲

> 如果是  IPC设备,打开SDK调试模式,调试栏中搜索supportExtShort字段第2位数字。(1:支持全双工 3:支持半双工 4:同时支持全双工和半双工;其他:不支持)

> 如果是NVR设备,打开SDK调试模式,调试栏中搜索supportExtShort字段第192位数字。(1:支持通道对讲;其他:不支持)

  • 打开萤石SDK调试模式,将调试栏里的tts://xxx 地址复制出来,提工单反馈排查
 

5.局域网设备搜索问题

  • 提供错误日志,提工单反馈排查

6.SD卡格式化失败问题

  • SDK这边只是发送了一个https请求,服务端下发信令(0x2883)给设备,需要设备技术排查。
  • 内存卡要求:为防止出现内存卡异常、无法识别等现象,建议使用萤石视频监控专用micro SD卡或者也可使用正品金士顿、闪迪之类的Micro SD卡。Micro SD卡需满足以下条件:
  1. 读写速度要求:Class10级别;
  2. 文件格式:FAT32;(目前萤石设备支持FAT32和EXFAT格式的内存卡,如果使用其他格式的内存卡,客户端会显示不可用,然后点击格式化后会自动格式化为FAT32格式。)
  3. 容量大小:一般为“8G≤内存卡容量≤128G”(大部分摄像机开始陆续升级支持256G)。

注:运动相机、行车记录仪推荐闪迪U1读写速度以上内存卡。

7.根据不同录像类型获取SD卡回放视频,数据一样

  •  同一个视频可以同时是事件录像、定时录像,所以就算传的类型不一样,也可能返回相同的数据。具体需要咨询设备端同事。

8.接口问题

  • 提供请求报文 & 响应报文,提工单反馈排查

9.配网问题

  • android sdk配网弹出网络连接确认框,萤石云App没有

安卓Q-SDK API 29-系统版本号10.0以上,旧的强制连接wifi的api已被废弃,使用的话会失败。必须使用新的api来做网络连接,就会弹出提示需要用户确认才能进行网络连接。

萤石云不弹框提示是因为国内的App target还是28,所以还能用旧的api。

EZOpenSDK是国内和海外公用的,有些用户需要将App上架到谷歌的Play Store,而Play Store最低的target sdk要求就是30,所以只能使用新的api来配网。

综上,这个是正常现象。以后国内应用商城targetsdk要求上来了,国内的萤石云App也会使用新的api,会出现网络连接弹框提示的。

  • android AP配网连接设备热点,不断弹框提示是否连接网络

问题原因:系统在wifi连接到设备的AP 热点后,大概过了30s,系统启动外网的检测机制,当发现该设备热点wifi无外网时,给该设备热点打上一个无外网的标签并且缓存到系统里面。当App调用API主动连接wifi名相同的热点时,系统读取到缓存认为这个wifi无网络,直接强行关闭弹窗,重新弹窗。

解决方案:手动去wifi管理页面,把缓存的相同wifi名删除掉即可。

  • SoftAP设备无法配网

我们的SDK默认支持的是基线设备(热点WIFI名为EZVIZ_序列号)。如果您的设备是定制的,前缀可能是SoftAP_序列号或者其他,那热点验证码则为SoftAP_验证码。

iOS Demo需要在支持页面(EZSupportViewController.m)输入对应的WiFi Prefix,如SoftAP

android Demo 如果是AP配网,ApConfigWifiPresenterForFullSdk.java类中会调用配网方法,确保deviceHotspotSSID和deviceHotspotPwd这两个参数一定要传入对应的设备热点名和设备热点密码,否则配网失败。其他同理

  • iOS Smart配网问题

  1. Smart配网失败是正常情况,所以现在设备都用AP配网方式了。
  2. 苹果手机芯片可能不支持smart配网的,可以使用安卓手机去配网。

  •  其他配网问题

请提供demo配网过程视频(用另一个手机拍,不是手机配网录屏,需要观察设备的响应提示)& demo配网过程完整日志。

  • wifi密码错误问题

Android将WiFi信息发送给设备后,会在SDK内部去轮询设备是否注册到平台,如果成功才会回调给应用层,应用层再进行设备添加。 iOS将WiFi信息发送给设备后,直接回调一个结                  果(WiFi信息发送给设备)给应用层,回调YES仅仅代表成功将WiFi信息发送给设备,不代表设备配网成功。如果发送成功,会出现添加设备按钮,然后在应用层查询设备是否配网成功                  并注册到平台,如果注册成功,最后再进行设备添加。应用层无法判断wifi密码是否正确,只能在端上去判断

10.IOS SDK集成,报No such file or directory错误

  • 阅读包中的README(集成必读)

11.基线门铃接入,实现预览对讲

  • 把EZCameraListActivity内的getDeviceList替换成getDeviceListEx方法, getDeviceInfo替换成getDeviceInfoEx方法即可

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2081823.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

python查看wifi密码

抱歉,没有办法发出来,如果有需要的可以私信我!!!

安卓13去掉权限动态申请,默认授权,不用动态申请权限

总纲 android13 rom 开发总纲说明 1、前言 2、问题分析 3.代码处理 4.代码修改 5.编译 6.彩蛋 1、前言

SpringBoot 一文复习知识点概览

目录 1、第一个SpringBoot程序 2、运行原理初探 2.1、pom.xml 2.2、启动器 spring-boot-starter 2.3、主启动类 2.4、注解 2.5、run方法流程分析 3、SpringBoot配置 3.1、yaml配置文件 3.2、JSR303数据校验 3.2.1、常见参数 3.3、多环境配置及配置文件优先顺序 3.…

基于yolov8的麦穗计数系统python源码+onnx模型+评估指标曲线+精美GUI界面

【算法介绍】 基于YOLOv8的麦穗计数系统是一种利用深度学习技术,特别是YOLOv8目标检测模型,对小麦麦穗进行自动识别和计数的系统。YOLOv8作为Ultralytics公司开发的最新版本,具备更高的性能和灵活性,能够在各种硬件平台上运行&am…

干货整理|一篇文章告诉你监控电脑的软件叫什么?10款电脑屏幕监控软件任你选择!(珍藏篇)

现代社会,电脑屏幕监控软件已成为企业管理和家庭教育中不可或缺的工具。 这类软件不仅可以帮助管理者监督员工的工作效率,保障企业信息安全,还能让家长更好地了解孩子的上网行为。 下面是精心挑选的10款备受好评的电脑屏幕监控软件&#xf…

【python】懂车帝字体反爬逐层解密案例(附完整代码)

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,阿里云开发者社区专家博主,CSDN全栈领域优质创作者,掘金优秀博主,51CTO博客专家等。 🏆《博客》:Python全…

台灯怎么选对眼睛好?护眼台灯怎么选的六大技巧一定要看!

根据2024年国家卫健委最新公布的数据,我国儿童青少年总体近视率为52.7%,这一数据表明视力健康已成为不容忽视的问题。小学生近视率为42%,初中生高达80.7%,高中生更是达到了85.7%。儿童的学习环境对学习效果和视力健康有着重要影响…

系统中没有安装 git

系统中没有安装 git 安装git一、CentOS/RHEL 系统二、Ubuntu/Debian 系统 这个错误表明系统中没有安装 git。 安装git 一、CentOS/RHEL 系统 使用以下命令安装: sudo yum install git二、Ubuntu/Debian 系统 使用以下命令安装: sudo apt install g…

Java技术栈 —— Spark入门(二)之实时WordCount

Java技术栈 —— Spark入门(二) 一、kafka1.1 创建topic1.2 准备input与查看output 二、spark2.1 spark下的程序文件2.2 用spark-submit提交作业 参考文章: 参考文章或视频链接[1] 《Kafka Spark Stream实时WordCount》 实验环境&#xff…

使用dx工具将jar和class打包成dex

最近用到将三方jar和自己的class打包成dex的需求,研究了下,遇到了上些问题,最终成功了,记录下: 将jar放在ss目录下,将class放在与包名对应的目录下 com.example.myapplication.Heav.class 打包命令&#x…

android13固定app方向 强制app方向

总纲 android13 rom 开发总纲说明 1.前言 经常遇到客户有固定或者设置应用方向,不让他们改成其他方向的需求。今天我们就来处理这种问题。 2.问题分析 在 Android 10 之前,显示旋转的处理逻辑分散在多个类和模块中,Android 10 统一了这些逻辑,集中在 DisplayRotation.ja…

【数据结构】队列(Queue)

目录 队列概念 ​方法 队列模拟实现 链表实现队列 入队列 出队列 获取队头元素 数组实现队列 入队列 出队列 返回头队列 返回尾队列 完整代码 双链表实现队列 数组实现队列(设计循环队列) 队列概念 队列:只允许在一段进行插入…

传奇开服教程之新GOM引擎登录器配置教程

现在新GOM引擎的版本比以前多了一些,是时候和你们分享一期新GOM引擎登录器配置教程了,顺便来和你们分享下新GOM引擎和老GOM引擎的区别。 新GOM引擎与老GOM的区别 1、老GOM引擎1108的pak.txt就在登录器配置文件夹下,新GOM引擎的pak.txt在登录…

谷歌浏览器与edge哪个好用

浏览器是我们工作和生活中的重要工具,其中谷歌浏览器与edge是两款备受关注的浏览器工具。那么这二者中,哪一款更胜一筹呢?本文将比较这两款浏览器的功能、性能和用户体验等,帮助大家做出明智的选择。 谷歌浏览器的历史与发展&…

Java面试宝典-java基础01

Java面试宝典-java基础01 1、java的跨平台性2、Java是如何实现跨平台性的?3、JDK 和 JRE 有什么区别?4、为何要配置Java环境变量?5、Java都有哪些特性?6、 和 equals 的区别是什么?7、Java中有哪些数学函数&#xff1f…

1894. 二分查找左侧边界

代码 #include<bits/stdc.h> using namespace std; int a[110000],n,q; int zc(int x) {int l1,rn,mid;while(l<r){mid(lr)/2;if(x<a[mid]) rmid-1;else if(x>a[mid]) lmid1;else if(xa[mid]) rmid-1;}if(a[l]x) return l;else return -1; } int main() {int i…

通过React实现萤石摄像头rtsp地址格式的视频流的web展示

首先&#xff0c;我们需要拿到rtsp格式的流地址&#xff08;rtsp://admin:[password][ip]&#xff09;&#xff0c;其中 password:设备底下的6位数验证码 ip:设备的ipv4地址 这里拿到ip的方式可以直连网线和绑定wifi两种方式 然后下载PC端的萤石工作室&#xff08;下载中心…

【区块链 + 司法存证】印记区块链电子印章 | FISCO BCOS应用案例

电子印章作为传统物理印章的数字化锚定&#xff0c;除了拥有和物理印章一样的法律效力外&#xff0c;还能够有效地为企业增效降 本提质。近年来&#xff0c;随着国家双碳目标的提出以及全球新冠疫情&#xff0c;进一步加速了企业数字化转型的步伐&#xff0c;电子印章 的价值也…

day12JS-Event事件

1. 事件的分类 事件类型包括有系统事件和自定义事件。 2. 初始化事件 1. 创建事件对象&#xff0c;Event是事件对象。 bubbles:true 表示支持冒泡。 var/let 变量名 new Event(事件类型&#xff0c;事件选项是否支持冒泡(可省略)); 2. 创建一个事件目标对象的实例化对象 。…

JetBrains`s IntelliJ IDEA springboot项目 gradle-bin安装 国内加速

gradle wapper加速 可以看到&#xff0c;一般我们直接init的springboot项目会默认使用wapper来安装不同版本的gradle&#xff0c;但services.gradle.org网速过慢&#xff0c;我们选择切换为国内源 发现一篇同样的文档,并在此补充多个源 源名urlgradle(原本)https\://service…