CN108391120B - 一种摄像头开启测试方法、装置、设备和存储介质 - Google Patents
一种摄像头开启测试方法、装置、设备和存储介质 Download PDFInfo
- Publication number
- CN108391120B CN108391120B CN201810230364.7A CN201810230364A CN108391120B CN 108391120 B CN108391120 B CN 108391120B CN 201810230364 A CN201810230364 A CN 201810230364A CN 108391120 B CN108391120 B CN 108391120B
- Authority
- CN
- China
- Prior art keywords
- camera
- instruction
- starting
- thread
- exception
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N17/00—Diagnosis, testing or measuring for television systems or their details
- H04N17/002—Diagnosis, testing or measuring for television systems or their details for television cameras
Landscapes
- Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- General Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Studio Devices (AREA)
Abstract
本发明公开了一种摄像头开启测试方法、装置、设备和存储介质。包括:向摄像头发送开启指令,在确认所述开启指令被所述摄像头接收失败时,抛出指令传输异常;在确认所述开启指令被所述摄像头接收成功且所述摄像头开启失败时,抛出硬件启动异常。本发明通过捕获超时判断后的异常信息,可解决不同厂商的摄像头的超时处理问题,获取异常不需要不依赖数据源的发送,简单高效。
Description
技术领域
本发明实施例涉及连接检测技术,尤其涉及一种摄像头开启测试方法、装置、设备和存储介质。
背景技术
摄像头在日常生活中的应用越来越常见,不同厂家会对摄像头做一些特殊处理,导致了用户在开启摄像头的时候,主机需要增加额外的逻辑来开启摄像头。
摄像头属于硬件资源,在某些情况下存在开启不了的现象。不同厂商对于摄像头所使用的图像传感器不一致,导致开启摄像头需要设置的参数也有所不同。针对判定摄像头开启异常的情况,采用的方法一般是设置超时判断,当超出某个时间限制,抛出异常进行捕获处理。但是,在Rxjava中,常用的timeout操作符在处理超判断时会存在一个问题,只有当Observable发送了数据的时候,timeout才会启动一个计时器,如果超过指定时间没有发送下一个数据,那么Observable发送一个onError终止通知这个Observable。
可是,当我们开启摄像头这个操作都阻塞的时候,那么设置的超时策略其实是无效的。此时,不仅摄像头开启不了,而且也无法抛出异常,此时会出现程序无响应的情况。
发明内容
本发明提供一种摄像头开启测试方法、装置、设备和存储介质,以实现通过捕获超时判断后的异常信息的问题。
第一方面,本发明实施例提供了一种摄像头开启测试方法,包括:
向摄像头发送开启指令,在确认所述开启指令被所述摄像头接收失败时,抛出指令传输异常;
在确认所述开启指令被所述摄像头接收成功且所述摄像头开启失败时,抛出硬件启动异常。
第二方面,本发明实施例还提供了一种摄像头开启测试装置,包括:
传输异常抛出模块,用于向摄像头发送开启指令,在确认所述开启指令被所述摄像头接收失败时,抛出指令传输异常;
启动异常抛出模块,用于在确认所述开启指令被所述摄像头接收成功且所述摄像头开启失败时,抛出硬件启动异常。
第三方面,本发明实施例还提供了一种设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
摄像头,用于被检测是否成功开启;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如实施例中任一所述的摄像头开启测试方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如实施例中任一所述的摄像头开启测试方法。
本发明通过捕获超时判断后的异常信息,解决不同厂商的摄像头的超时处理问题,实现获取异常不需要不依赖数据源的发送,简单高效。
附图说明
图1是本发明实施例一提供的一种摄像头开启测试方法的流程图;
图2为本发明实施例二提供的一种摄像头开启测试方法的流程图;
图3为本发明实施例三提供的一种摄像头开启测试装置的结构示意图;
图4为本发明实施例四提供的一种摄像头开启测试设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1是本发明实施例一提供的一种摄像头开启测试方法的流程图。本实施例可适用于将摄像头连接于设备时,判断摄像头是否连接失败的情况,该方法可以由一种摄像头开启测试装置来执行,该装置可以通过软件的方式实现,并集成在设备中。
其中,摄像头可分为数字摄像头和模拟摄像头两大类。数字摄像头可以将视频采集设备产生的模拟视频信号转换成数字信号,进而将其储存在计算机里。模拟摄像头捕捉到的视频信号必须经过特定的视频捕捉卡将模拟信号转换成数字模式,并加以压缩后才可以转换到计算机上运用。数字摄像头可以直接捕捉影像,然后通过串、并口或者通用串行总线接口传到计算机里。本发明可针对不同厂商的摄像头进行连接判定,故不对摄像头类型作限定。
参考图1,本发明实施例具体包括如下步骤:
S110、向摄像头发送开启指令。
其中,开启指令是指开启摄像头的指令,是所有对摄像头操作的基础指令。
具体的,当摄像头接收到开启指令之后,执行判断所述开启指令是否被所述摄像头接收成功的操作。
S120、判断所述开启指令是否被所述摄像头接收成功。若被所述摄像头接收成功,则执行S130;若没有被摄像头接收成功,则执行S131。
S130、判断摄像头是否开启成功。若开启成功,执行S140;若开启失败,执行S141。
具体的,当摄像头成功接收到开启指令时,开始执行开启摄像头的操作。
S131、抛出指令传输异常。
具体的,当摄像头没有成功接收到开启指令时,抛出指令传输异常。可通过获得这个指令传输异常,解析出摄像头接收不到指令的具体原因。
S140、启动摄像头。
具体的,摄像头开启成功后,可通过连接屏幕显示摄像头获得的画面,也可以直接显示“摄像设备连接成功”等提示语言。
S141、抛出硬件启动异常。
具体的,当摄像头开启失败时,抛出硬件启动异常。可通过获得这个硬件启动异常,解析出摄像头无法开启的原因。
从主机端来讲,接受指令传输异常或接收硬件启动异常在时间上不会有太大的时间差,但是可以通过对异常的解析,得到异常的类型,从而判定出摄像头连接失败的具体问题所在。如果判定为指令传输异常,则可能是主机端软件设置存在问题、主机端接口存在问题或主机端与摄像头连接存在问题。如果判定为硬件启动异常,则可以判定为摄像头设备本身存在问题,那么可以通过更换摄像头设备解决问题。
本发明通过捕获超时判断后的异常信息,可解决不同厂商的摄像头的超时处理问题,获取异常不需要不依赖数据源的发送,简单高效的确定产生摄像头连接失败的原因,便于及时处理问题。
实施例二
图2为本发明实施例二提供的一种摄像头开启测试方法的流程图。本实施例是在实施例一基础上的细化,具体描述了如何通过设置函数产生并获得指令传输异常。具体的:
向摄像头发送开启指令,在确认所述开启指令被所述摄像头接收失败时,抛出指令传输异常,包括:
向摄像头发送开启指令,开启第一线程以接收摄像头响应所述开启指令的返回参数;
若在预设时间内所述第一线程未接收到所述摄像头响应所述开启指令的返回参数,抛出指令传输异常。
进一步的,若所述摄像头开启成功,终止所述第一线程。
进一步的,显示所述摄像头的异常类型,终止所述摄像头的开启过程。
具体的,参考图2,本实施例提供的方法具体包括:
S210、向摄像头发送开启指令。
S220、开启第一线程以接收摄像头响应所述开启指令的返回参数。
具体的,开启第一线程之前先去掉原先Rxjava中设置的timeout操作符,原先是将开启摄像头这个操作作为整条数据发送,这也是各个厂家自由设置的数据,因为不同timeout操作符的设置,导致不同厂商开启摄像头需要设置的参数也有所不同。去掉timeout操作符后开启一个子线程(第一子线程)并获取一个ExcutorService,然后通过ExcutorService中的submit方法执行一个新的Callable,并返回一个Future。其中,ExecutorService提供了管理终止的方法,以及可为跟踪一个或多个异步任务执行状况而生成Future的方法。
S230、判断在预设时间内是否接收到摄像头响应开启指令的返回参数。若接收到返回参数,则执行S240;若没有接收到返回参数,则执行S241。
其中,预设时间是人为设定的时间,可根据摄像头的属性、设备之间的具体连接方式等进行不同设置,如无线设备间的连接时间会长于有线设备之间连接的时间。摄像头响应开启指令的返回参数是指Callable在被子线程执行后,可以获取返回值,同时这个返回值会被Future拿到,也就是说Future可以拿到异步执行任务的返回值。
具体的,设置预设时间,在预设时间内如果Future拿不到异步执行的结果,那么就抛出异常。
S240、判断摄像头是否开启成功。若果开启成功,则执行S250;若果开启失败,则执行S251。
具体的,设置预设时间,在预设时间内如果Future拿到了异步执行的结果,则判断摄像头是否开启成功。
S241、抛出指令传输异常。
具体的,在预设时间内如果Future拿不到异步执行的结果,那么就抛出指令传输异常。
S250、终止第一线程。
具体的,关闭第一线程,与此同时ExecutorService也关闭,这将导致其停止接受新任务,减少线程占用。
S251、抛出硬件启动异常。
本实施例通过捕获超时判断后的异常信息,可解决不同厂商的摄像头的超时处理问题,获取异常不需要不依赖数据源的发送,简单高效的确定产生摄像头连接失败的原因,便于及时处理问题。
实施例三
图3为本发明实施例三提供的一种摄像头开启测试装置的结构示意图。该装置具体包括:传输异常抛出模块31和启动异常抛出模块32。其中:
传输异常抛出模块31,用于向摄像头发送开启指令,在确认所述开启指令被所述摄像头接收失败时,抛出指令传输异常;
启动异常抛出模块32,用于在确认所述开启指令被所述摄像头接收成功且所述摄像头开启失败时,抛出硬件启动异常。
本实施例通过捕获超时判断后的异常信息,可解决不同厂商的摄像头的超时处理问题,获取异常不需要不依赖数据源的发送,简单高效的确定产生摄像头连接失败的原因,便于及时处理问题。
在上述实施例的基础上:
传输异常抛出模块,具体包括:
第一线程开启单元,用于向摄像头发送开启指令,开启第一线程以接收摄像头响应所述开启指令的返回参数;
指令传输异常抛出单元,用于若在预设时间内所述第一线程未接收到所述摄像头响应所述开启指令的返回参数,抛出指令传输异常。
在上述实施例的基础上,还包括:
第一线程终止模块,用于若所述摄像头开启成功,终止所述第一线程。
在上述实施例的基础上,还包括:
开启过程终止模块,用于显示所述摄像头的异常类型,终止所述摄像头的开启过程。
本实施例提供的摄像头开启测试装置可用于执行上述实施例提供的摄像头开启测试方法,具有相应的功能和有益效果。
实施例四
图4为本发明实施例四提供的一种摄像头开启测试设备的结构示意图。如图4所示,该设备包括处理器40、存储器41、通信模块42、输入装置43和输出装置44;设备中处理器40的数量可以是一个或多个,图4中以一个处理器40为例;设备中的处理器40、存储器41、通信模块42、输入装置43和输出装置44可以通过总线或其他方式连接,图4中以通过总线连接为例。
存储器41作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本实施例中的一种摄像头开启测试方法对应的模块(例如,一种摄像头开启测试装置中的传输异常抛出模块31和启动异常抛出模块32)。处理器40通过运行存储在存储器41中的软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述的一种摄像头开启测试方法。
存储器41可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据设备的使用所创建的数据等。此外,存储器41可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器41可进一步包括相对于处理器40远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
通信模块42,用于与显示屏建立连接,并实现与显示屏的数据交互。输入装置43可用于接收输入的数字或字符信息,以及产生与设备的用户设置以及功能控制有关的键信号输入。输出装置44还可包括音箱等设备,也可包括其他可用于输出的装置。
本实施例提供的一种设备,可执行本发明任一实施例提供的摄像头开启测试方法,具体相应的功能和有益效果。
实施例五
本发明实施例五还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行一种摄像头开启测试方法,该方法包括:
向摄像头发送开启指令,在确认所述开启指令被所述摄像头接收失败时,抛出指令传输异常;
在确认所述开启指令被所述摄像头接收成功且所述摄像头开启失败时,抛出硬件启动异常。
当然,本实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的方法操作,还可以执行本发明任一实施例所提供的摄像头开启测试方法中的相关操作。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
值得注意的是,上述摄像头开启测试装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (8)
1.一种摄像头开启测试方法,其特征在于,包括:
向摄像头发送开启指令,在确认所述开启指令被所述摄像头接收失败时,抛出指令传输异常,包括:
向摄像头发送开启指令,开启第一线程以接收摄像头响应所述开启指令的返回参数,其中,开启第一线程之前先去掉Rxjava中设置的timeout操作符;
若在预设时间内所述第一线程未接收到所述摄像头响应所述开启指令的返回参数,抛出指令传输异常;若在预设时间内所述第一线程接收到所述摄像头响应所述开启指令的返回参数,判断摄像头是否开启成功;
在确认所述开启指令被所述摄像头接收成功且所述摄像头开启失败时,抛出硬件启动异常。
2.根据权利要求1所述的方法,其特征在于,所述方法,还包括:
若所述摄像头开启成功,终止所述第一线程。
3.根据权利要求1所述的方法,其特征在于,所述抛出指令传输异常之后,还包括:
显示所述摄像头的异常类型,终止所述摄像头的开启过程。
4.一种摄像头开启测试装置,其特征在于,包括:
传输异常抛出模块,用于向摄像头发送开启指令,在确认所述开启指令被所述摄像头接收失败时,抛出指令传输异常;所述传输异常抛出模块,具体包括:第一线程开启单元,用于向摄像头发送开启指令,开启第一线程以接收摄像头响应所述开启指令的返回参数,其中,开启第一线程之前先去掉Rxjava中设置的timeout操作符;指令传输异常抛出单元,用于若在预设时间内所述第一线程未接收到所述摄像头响应所述开启指令的返回参数,抛出指令传输异常;若在预设时间内所述第一线程接收到所述摄像头响应所述开启指令的返回参数,判断摄像头是否开启成功;
启动异常抛出模块,用于在确认所述开启指令被所述摄像头接收成功且所述摄像头开启失败时,抛出硬件启动异常。
5.根据权利要求4所述的装置,其特征在于,包括:
第一线程终止模块,用于若所述摄像头开启成功,终止所述第一线程。
6.根据权利要求4所述的装置,其特征在于,包括:
开启过程终止模块,用于显示所述摄像头的异常类型,终止所述摄像头的开启过程。
7.一种摄像头开启测试设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
摄像头,用于被检测是否成功开启;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-3中任一所述的摄像头开启测试方法。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-3中任一所述的摄像头开启测试方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810230364.7A CN108391120B (zh) | 2018-03-20 | 2018-03-20 | 一种摄像头开启测试方法、装置、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810230364.7A CN108391120B (zh) | 2018-03-20 | 2018-03-20 | 一种摄像头开启测试方法、装置、设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108391120A CN108391120A (zh) | 2018-08-10 |
CN108391120B true CN108391120B (zh) | 2020-11-03 |
Family
ID=63067817
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810230364.7A Active CN108391120B (zh) | 2018-03-20 | 2018-03-20 | 一种摄像头开启测试方法、装置、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108391120B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109815694B (zh) * | 2018-12-20 | 2022-03-25 | 合肥联宝信息技术有限公司 | 一种图像采集设备的检测方法及装置 |
CN115883822B (zh) * | 2023-02-07 | 2023-05-30 | 深圳市永兴元科技股份有限公司 | 在线考试系统摄像头调试方法、装置及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101539876A (zh) * | 2008-03-21 | 2009-09-23 | 环隆电气股份有限公司 | 开机测试系统及其方法 |
CN105302673A (zh) * | 2015-11-20 | 2016-02-03 | 小米科技有限责任公司 | 信息备份方法、装置及终端 |
CN106506174A (zh) * | 2016-10-21 | 2017-03-15 | 广州视睿电子科技有限公司 | 用于远程设备的控制方法、远程服务器及远程设备 |
CN107087164A (zh) * | 2017-04-20 | 2017-08-22 | 广州视源电子科技股份有限公司 | 一种设备开机的方法和装置 |
-
2018
- 2018-03-20 CN CN201810230364.7A patent/CN108391120B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101539876A (zh) * | 2008-03-21 | 2009-09-23 | 环隆电气股份有限公司 | 开机测试系统及其方法 |
CN105302673A (zh) * | 2015-11-20 | 2016-02-03 | 小米科技有限责任公司 | 信息备份方法、装置及终端 |
CN106506174A (zh) * | 2016-10-21 | 2017-03-15 | 广州视睿电子科技有限公司 | 用于远程设备的控制方法、远程服务器及远程设备 |
CN107087164A (zh) * | 2017-04-20 | 2017-08-22 | 广州视源电子科技股份有限公司 | 一种设备开机的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN108391120A (zh) | 2018-08-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110188016B (zh) | 应用程序无响应阻塞的检测方法、终端以及存储介质 | |
US10432860B2 (en) | Camera operation mode control | |
CN108391120B (zh) | 一种摄像头开启测试方法、装置、设备和存储介质 | |
CN107885635B (zh) | 黑屏检测方法、移动终端及计算机可读存储介质 | |
CN112860408A (zh) | 一种云真机中的进程保活方法、装置、系统及存储介质 | |
CN110806965A (zh) | 自动测试方法、装置、设备和介质 | |
CN113067810A (zh) | 网络抓包方法、装置、设备和介质 | |
WO2017219872A1 (zh) | 机顶盒的升级、换台方法及系统 | |
CN109542385B (zh) | 一种多数据流同屏显示方法、系统、装置及可读存储介质 | |
CN111354216A (zh) | 一种车辆停放位置的识别方法、装置及相关设备 | |
CN113268211A (zh) | 图像获取方法、装置、电子设备及存储介质 | |
CN114301812A (zh) | 报文处理结果的监控方法、装置、设备以及存储介质 | |
CN111050027A (zh) | 镜头畸变补偿方法、装置、设备和存储介质 | |
CN112839097B (zh) | 远程控制方法、设备及系统 | |
CN112911348B (zh) | 基于onvif协议的视频管理系统、方法及终端 | |
KR20210113595A (ko) | 이상 처리 방법, 단말 기기 및 저장 매체 | |
CN115509781A (zh) | 安卓系统中页面渲染控件异常的处理方法和装置 | |
US8432577B2 (en) | Scanner parameter techniques | |
CN112950447B (zh) | 资源调度方法、装置、服务器及存储介质 | |
CN109618121B (zh) | 视频会议信息安全的处理方法及装置 | |
CN115883822B (zh) | 在线考试系统摄像头调试方法、装置及存储介质 | |
CN107948316B (zh) | 一种文件同步方法、装置及设备 | |
CN106201825A (zh) | 一种智能后视镜运行状态监控方法及系统 | |
CN112433877A (zh) | 应用启动崩溃的检测方法、装置、电子设备及存储介质 | |
CN113709408B (zh) | 一种数据获取方法、装置及视频处理设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |