设备控制方法、装置、电子设备及存储介质与流程

文档序号:19414157发布日期:2019-12-14 00:45阅读:105来源:国知局
设备控制方法、装置、电子设备及存储介质与流程
本申请涉及视频监控技术,尤其涉及一种设备控制方法、装置、电子设备及存储介质。
背景技术
:nvr(networkvideorecorder,网络硬盘录像机)设备属于cctv(closedcircuittelevision,闭路电视监控系统)领域行业应用的电子产品,随着科技的发展和业务需求的增加,nvr支持的功能多样且复杂,相应地,nvr的配置和维护等操作难度也增大了,若所有的nvr配置和维护均由专业技术人员到现场进行操作,不仅效率低,且成本太高。技术实现要素:有鉴于此,本申请提供一种设备控制方法、装置、电子设备及存储介质。具体地,本申请是通过如下技术方案实现的:根据本申请实施例的第一方面,提供一种设备控制方法,应用于nvr,该方法包括:使用数据信号处理dsp编解码芯片抓取所述nvr的输出窗口画面,并对所抓取到的输出窗口画面进行h264编码,以得到h264码流;将所述h264码流发送给远程控制中心;接收所述远程控制中心发送的远程控制指令;将所述远程控制指令转换为本地控制指令,并执行所述本地控制指令。可选的,所述方法还包括:根据发送缓冲区中的数据量动态调整编码帧率或/和码率。可选的,所述根据发送缓冲区中的数据量动态调整编码帧率或/和码率,包括:根据所述发送缓冲区中的数据占比,查询预设数据占比区间与编码帧率或/和码率的对应关系,以确定所述发送缓冲区中的数据占比对应的目标编码帧率或/和码率;其中,数据占比区间的数值越高,对应的编码帧率或/和码率越小;若当前使用的编码帧率或/和码率与所述目标编码帧率或/和码率不一致,则将当前使用的编码帧率或/和码率更新为所述目标编码帧率或/和码率。可选的,所述根据发送缓冲区中的数据量动态调整编码帧率或/和码率,包括:当所述发送缓冲区的数据占比超过第一预设阈值时,降低当前使用的编码帧率或/和码率;当所述发送缓冲区的数据占比低于第二预设阈值时,提高当前使用的编码帧率或/和码率;其中,所述第二预设阈值小于等于所述第一预设阈值。可选的,所述将所述h264码流发送给远程控制中心,包括:采用实时流传输协议rtsp协议将所述h264码流发送给远程控制中心。根据本申请实施例的第二方面,提供一种设备控制装置,应用于nvr,该装置包括:画面处理单元,用于使用数据信号处理dsp编解码芯片抓取所述nvr的输出窗口画面,并对所抓取到的输出窗口画面进行h264编码,以得到h264码流;传输单元,用于将所述h264码流发送给远程控制中心;所述传输单元,还用于接收所述远程控制中心发送的远程控制指令;指令处理单元,用于将所述远程控制指令转换为本地控制指令,并执行所述本地控制指令。可选的,所述装置还包括:调整单元,用于根据发送缓冲区中的数据量动态调整编码帧率或/和码率。可选的,所述调整单元,具体用于根据所述发送缓冲区中的数据占比,查询预设数据占比区间与编码帧率或/和码率的对应关系,以确定所述发送缓冲区中的数据占比对应的目标编码帧率或/和码率;其中,数据占比区间的数值越高,对应的编码帧率或/和码率越小;若当前使用的编码帧率或/和码率与所述目标编码帧率或/和码率不一致,则将当前使用的编码帧率或/和码率更新为所述目标编码帧率或/和码率。可选的,所述调整单元,具体用于当所述发送缓冲区的数据占比超过第一预设阈值时,降低当前使用的编码帧率或/和码率;当所述发送缓冲区的数据占比低于第二预设阈值时,提高当前使用的编码帧率或/和码率;其中,所述第二预设阈值小于等于所述第一预设阈值。可选的,所述传输单元,具体用于采用实时流传输协议rtsp协议将所述h264码流发送给远程控制中心。根据本申请实施例的第三方面,提供一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;存储器,用于存放计算机程序;处理器,用于执行存储器上所存放的程序时,实现上述设备控制方法步骤。根据本申请实施例的第四方面,提供一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述设备控制方法步骤。本申请实施例的设备控制方法,nvr通过使用dsp编解码芯片抓取nvr的输出窗口画面,并对所抓取到的输出窗口画面进行h264编码,以得到h264码流,并将该h264码流发送给远程控制中心,在保证画面的流畅性和清晰度的同时,节省了带宽资源;nvr接收到远程控制中心发送的远程控制指令时,将接收到的远程控制指令转换为本地控制指令,并执行该本地控制指令,实现了nvr的远程控制,提高了nvr的配置和维护等操作的效率,并降低了成本。附图说明图1是本申请一示例性实施例示出的一种设备控制系统的架构示意图;图2是本申请一示例性实施例示出的一种设备控制方法的流程示意图;图3是本申请一示例性实施例示出的一种具体应用场景的架构示意图;图4a是本申请一示例性实施例示出的一种码流处理的流程示意图;图4b是本申请一示例性实施例示出的一种控制指令处理的流程示意图;图5是本申请一示例性实施例示出的一种设备控制装置的结构示意图;图6是本申请又一示例性实施例示出的一种设备控制装置的结构示意图;图7是本申请一示例性实施例示出的一种电子设备的硬件结构示意图。具体实施方式这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。为了使本领域技术人员更好地理解本申请实施例提供的技术方案,下面先对本申请实施例适用的系统架构进行简单说明。请参见图1,为本申请实施例提供的一种设备控制系统的架构示意图,如图1所示,在设备控制系统中包括nvr端和远程控制中心;其中,nvr端至少包括nvr和第一显示设备(该显示器可以为nvr自带的显示设备(若存在)或nvr外接的显示设备);远程控制中心包括第二显示设备和输入设备(如鼠标、键盘等)。在该设备控制系统中,nvr可以使用dsp(digitalsignalprocessing,数字信号处理)编解码芯片抓取nvr的输出窗口画面(显示在第一显示设备中),并将抓取到的输出窗口画面进行h264(一种数字视频编解码器标准)编码,进而将得到的h264码流发送给远程控制中心。远程控制中心接收到nvr发送的h264码流时,可以对其进行解码,并在第二显示设备中显示,进而远程控制中心的技服人员可以远程查看nvr的实时操作窗口画面,并通过输入装置输入相应的控制指令(如鼠标或/和键盘事件)。第二显示设备通过获取本地输入的控制指令,并将其传输给nvr端。nvr接收到远程控制指令时,可以将接收到的远程控制指令转换为本地控制指令,并执行本地控制指令,从而可以实现nvr的远程控制,提高了nvr的配置和维护等操作的效率,并降低了成本。为了使本申请实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本申请实施例中技术方案作进一步详细的说明。请参见图2,为本申请实施例提供的一种设备控制方法,其中,该设备控制方法可以应用于nvr(如图1所示设备控制系统中的nvr),如图2所示,该设备控制方法可以包括以下步骤:步骤s200、使用dsp编码芯片抓取nvr的输出窗口画面,并对抓取到的输出窗口画面进行h264编码,以得到h264码流。本申请实施例中,nvr可以使用dsp编码芯片抓取nvr的输出窗口画面(nvr的操作窗口画面在显示设备(如图1中的第一显示设备)中的实时输出画面),并对抓取到的输出窗口画面进行h264编码,以得到h264码流。步骤s210、将得到的h264码流发送给远程控制中心。本申请实施例中,nvr得到h264码流之后,可以将得到的h264码流发送给远程控制中心。例如,nvr可以通过与远程控制中心之间的远程控制连接将h264码流发送给远程控制中心。其中,该远程控制连接可以由nvr在需要进行远程控制时与远程控制中心建立(由nvr触发或远程控制中心触发),或者,该远程控制连接可以在nvr正常运行时一直存在。在一个示例中,为了提高h264码流传输的实时性,nvr可以通过rtsp(realtimestreamingprotocol,实时流传输协议)将h264码流发送给远程控制中心。本申请实施例中,远程控制中心接收到nvr发送的h264码流时,可以对其进行解码,并在本地显示设备(如图1中的第二显示设备)显示,以便远程控制中心的技服人员能够实时观看nvr的输出窗口画面,并根据实际情况输入控制指令(如通过图1中的输入设备)。远程控制中心的显示设备(或其它设备(若存在))可以获取本地输入的控制指令,如捕捉鼠标事件(鼠标在输出窗口画面中的位置和操作(如单击或双击等))或/和键盘事件(键盘操作(如信息输入)),并将获取到的控制指令发送给nvr,如通过tcp(transmissioncontrolprotocol,传输控制协议)协议发送给nvr。步骤s220、接收远程控制中心发送的远程控制指令。步骤s230、将远程控制指令转换为本地控制指令,并执行该本地控制指令。本申请实施例中,nvr接收到远程控制中心发送的远程控制指令时,可以将接收到的远程控制指令转换为本地控制指令,如转换为本地的鼠标事件或/和键盘事件,并执行该本地控制指令。可见,在图2所示方法流程中,通过在视频监控系统中应用远程协助方案,nvr通过dps编解码芯片抓取输出窗口画面,并对抓取到的输出窗口画面进行h264编码,进而将得到的码流发送给远程控制中心,由远程控制中心解码后根据得到的输出窗口画面进行远程控制,提高了画面传输的流畅性和画面的清晰度,并节省了带宽资源;当nvr接收到远程控制中心的发送的远程控制指令时,将其转换为本地控制指令并执行,从而实现了nvr的远程控制,提高了nvr的配置和维护等操作的效率,并降低了成本。进一步地,在本申请实施例中,考虑到nvr向远程控制中心传输h264码流时,可能会由于数据量过大(如编码帧率或/和码率过高)导致发送缓冲区中累积大量数据,进而影响画面传输的实时性。相应地,在本申请其中一个实施例中,nvr可以根据发送缓冲区中的数据量动态调整编码帧率或/和码率。例如,当发送缓冲区中的数据量较多(如超过预设阈值)时,降低编码帧率或/和码率;当发送缓冲区中的数据量较少(如低于预设阈值)时,提高编码帧率或/和码率,即发送缓冲区中的数据量与编码帧率或/和码率负相关。在本申请的一种实施方式中,上述根据发送缓冲区中的数据量动态调整编码帧率或/和码率,可以包括:根据发送缓冲区中的数据占比,查询预设数据占比区间与编码帧率或/和码率的对应关系,以确定发送缓冲区中的数据占比对应的目标编码帧率或/和码率;其中,数据占比区间的数值越高,对应的编码帧率或/和码率越小;若当前使用的编码帧率或/和码率与所述目标编码帧率或/和码率不一致,则将当前使用的编码帧率或/和码率更新为所述目标编码帧率或/和码率。在该实施方式中,为了实现nvr根据发送缓冲区中的数据量动态调整编码帧率或/和码率,可以预先在nvr中配置发送缓冲区中的数据占比区间与编码帧率或/和码率的对应关系(本文中称为预设数据占比区间与编码帧率或/和码率的对应关系),其中,发送缓冲区中的数据占比为发送缓冲区中的数据量与发送缓冲区的总空间大小的比值,数据占比区间的数据越高,对应的编码帧率或/和码率越小。相应地,nvr向远程控制中心传输h264码流的过程中,nvr可以定时(如周期性地)检测发送缓冲区中的数据占比,并根据检测到的发送缓冲区中的数据占比,查询预设数据占比区间与编码帧率或/和码率的对应关系,以确定检测到的发送缓冲区中的数据占比对应的编码帧率或/和码率(本文中称为目标编码帧率或/和码率)。进而,nvr可以比较当前使用的编码帧率或/和码率与目标编码帧率或/和码率;若二者不一致,则nvr可以将当前使用的编码帧率或/和码率更新为目标编码帧率或/和码率,并使用更新后的编码帧率或/和码率(即目标编码帧率或/和码率)进行编码和码流传输。需要说明的是,在该实施方式中,当nvr确定当前使用的编码帧率或/和码率与目标编码帧率或/和码率一致时,nvr可以保持当前使用的编码帧率或/和码率。在该实施例的另一种实施方式中,上述根据发送缓冲区中的数据量动态调整编码帧率或/和码率,可以包括:当发送缓冲区的数据占比超过第一预设阈值时,降低当前使用的编码帧率或/和码率;当发送缓冲区的数据占比低于第二预设阈值时,提高当前使用的编码帧率或/和码率;其中,第二预设阈值小于等于第一预设阈值。在该实施方式中,为了实现nvr根据发送缓冲区中的数据量动态调整编码帧率或/和码率,可以预先在nvr中设置用于调整编码帧率或/和码率的阈值。相应地,nvr向远程控制中心传输h264码流的过程中,nvr可以定时(如周期性地)检测发送缓冲区中的数据占比,并比较检测到的发送缓冲区中的数据占比与预设阈值。在该实施方式中,当发送缓冲区中的数据占比超过预设阈值(本文中称为第一预设阈值)时,降低当前使用的编码帧率或/和码率。例如,按照预先设置的调整幅度或调整比例(本文中称为第一调整幅度或调整比例)向下调整当前使用的编码帧率或/和码率。当发送缓冲区中的数据占比低于预设阈值(本文中称为第二预设阈值)时,提高当前使用的编码帧率或/和码率。例如,按照预先设置的调整幅度或调整比例(本文中称为第二调整幅度或调整比例)向上调整当前使用的编码帧率或/和码率。其中,上述第二预设阈值小于等于第一预设阈值,上述第二调整幅度或调整比例与第一调整幅度或比例可以相同或不相同。优选地,上述第二预设阈值小于第一预设阈值,以避免出现降低(提高)当前使用的编码帧率或/和码率之后,又很快需要提高(降低)当前使用的编码帧率或/和码率的情况,进而出现震荡,影响h264码流正常传输。为了使本领域技术人员更好地理解本申请实施例提供的技术方案,下面结合具体应用场景对本申请实施例提供的技术方案进行说明。请参见图3,为本申请实施例提供的一种具体应用场景的架构示意图,如图3所示,该应用场景中包括远程控制中心和nvr端;其中,远程控制中心包括服务器和pc(personalcomputer,个人计算机),nvr端包括nvr和vga(videographicsarray,视频图形阵列)/hdmi(highdefinitionmultimediainterface,高清晰度多媒体接口)显示器以及鼠标、键盘等输入设备(未在图中示出)。nvr端与远程控制中心通过网络互联。基于图3所示应用场景,本申请实施例提供的设备控制方案实现流程如下:一、数据传输nvr通过dsp编解码芯片实时抓取vga/hdmi显示器中显示的nvr的操作窗口画面,并进行h264编码,得到h264码流,并将h264码流保存在码流发送缓冲区。nvr通过rtsp协议将发送缓冲区中的h264码流发送给远程控制中心的服务器中的码流接收缓冲区。在该实施例中,nvr在传输h264码流的过程中,可以定时检测码流发送缓冲区中的数据占比,并根据检测到的码流发送缓冲区中的数据占比查询表1所示的数据占比区间与编码帧率和码率的对应关系,以确定检测到的码流发送缓冲区中的数据占比对应的目标编码率和目标码率:表1数据占比区间编码帧率码率[0,dr1)fr1br1[dr1,dr2)fr2br2[dr2,dr3)fr3br3………其中,dr3>dr2>dr1>0,fr1>fr2>fr3,br1>br2>br3。nvr确定了目标编码帧率和目标码率之后,可以按照该目标编码帧率和目标码率进行编码和码流传输。假设nvr检测到的码流发送缓冲区中的数据占比为dr0,且dr0∈[dr1,dr2),则nvr可以确定数据占比dr0对应的目标编码帧率为fr2,目标码率为br2,进而,nvr可以按照编码帧率fr2进行h264编码,并按照码率br2进行h264码流传输(若当前使用的编码帧率和码率不是fr2和br2,则需要进行编码帧率和码率更新)。在该实施例中,远程控制中心的服务器从码流接收缓冲区中读取h264码流,通过解码库解码h264码流,并显示到pc的显示器上,从而远程控制中心的技服人员可以远程观看nvr的操作窗口画面,其示意图可以如图4a所示。二、控制指令传输pc捕获技服人员在pc上的鼠标事件(鼠标位置和操作)和键盘事件(输入操作),生成控制指令保存在指令发送缓冲区,并实时将指令缓冲区中的控制控制发送给nvr端的指令接收缓冲区。nvr从指令接收缓冲区中获取控制指令(远程控制指令),将获取到的远程控制指令转换为本地控制指令(即将远程控制中心的鼠标事件和键盘事件转换为本地的鼠标事件和键盘事件),并执行该本地控制指令,从而实现远程控制中心对nvr的控制,其示意图可以如图4b所示。本申请实施例中,nvr通过使用dsp编解码芯片抓取nvr的输出窗口画面,并对所抓取到的输出窗口画面进行h264编码,以得到h264码流,并将该h264码流发送给远程控制中心,在保证画面的流畅性和清晰度的同时,节省了带宽资源;nvr接收到远程控制中心发送的远程控制指令时,将接收到的远程控制指令转换为本地控制指令,并执行该本地控制指令,实现了nvr的远程控制,提高了nvr的配置和维护等操作的效率,并降低了成本。以上对本申请提供的方法进行了描述。下面对本申请提供的装置进行描述:请参见图5,为本申请实施例提供的一种设备控制装置的结构示意图,其中,该设备控制装置可以应用于上述方法实施例中的nvr,如图5所示,该设备控制装置可以包括:画面处理单元510,用于使用数据信号处理dsp编解码芯片抓取所述nvr的输出窗口画面,并对所抓取到的输出窗口画面进行h264编码,以得到h264码流;传输单元520,用于将所述h264码流发送给远程控制中心;所述传输单元520,还用于接收所述远程控制中心发送的远程控制指令;指令处理单元530,用于将所述远程控制指令转换为本地控制指令,并执行所述本地控制指令。请一并参见图6,为本申请实施例提供的另一种设备控制装置的结构示意图,如图6所示,在图5所示设备控制装置的基础上,图6所示设备控制装置还可以包括:调整单元540,用于根据发送缓冲区中的数据量动态调整编码帧率或/和码率。在一种可选的实施方式中,所述调整单元540,具体用于根据所述发送缓冲区中的数据占比,查询预设数据占比区间与编码帧率或/和码率的对应关系,以确定所述发送缓冲区中的数据占比对应的目标编码帧率或/和码率;其中,数据占比区间的数值越高,对应的编码帧率或/和码率越小;若当前使用的编码帧率或/和码率与所述目标编码帧率或/和码率不一致,则将当前使用的编码帧率或/和码率更新为所述目标编码帧率或/和码率。在一种可选的实施方式中,所述调整单元540,具体用于当所述发送缓冲区的数据占比超过第一预设阈值时,降低当前使用的编码帧率或/和码率;当所述发送缓冲区的数据占比低于第二预设阈值时,提高当前使用的编码帧率或/和码率;其中,所述第二预设阈值小于等于所述第一预设阈值。在一种可选的实施方式中,所述传输单元520,具体用于采用实时流传输协议rtsp协议将所述h264码流发送给远程控制中心。请参见图7,为本申请实施例提供的一种电子设备的硬件结构示意图。该电子设备可以包括处理器701、通信接口702、存储器703和通信总线704。处理器701、通信接口702以及存储器703通过通信总线704完成相互间的通信。其中,存储器703上存放有计算机程序;处理器701可以通过执行存储器703上所存放的程序,执行上文描述的设备控制方法。本文中提到的存储器703可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,存储器702可以是:ram(radomaccessmemory,随机存取存储器)、易失存储器、非易失性存储器、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、dvd等),或者类似的存储介质,或者它们的组合。本申请实施例还提供了一种存储有计算机程序的机器可读存储介质,例如图7中的存储器703,所述计算机程序可由图7所示电子设备中的处理器701执行以实现上文描述的设备控制方法。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1