发明内容
本发明实施方式所要解决的技术问题在于,提供一种视频图像文件压缩***、客户端及方法,以解决现有技术中视频压缩的过程在一台设备中完成而不能有效地利用设备的运算能力,降低了对视频压缩文件的处理速度的技术问题,从而将运算任务分解,以充分利用计算资源,提高视频压缩处理速度。
为解决上述技术问题,本发明提供一种视频图像文件压缩***,包括至少一服务器,还包括至少一客户端,与该至少一服务器通信连接,该客户端包括视频图像文件获取单元、视频图像播放单元、画面组划分单元、压缩任务获取单元以及视频图像文件压缩单元,该服务器包括控制单元、压缩任务控制单元、画面组封装单元、存储单元。该视频图像文件获取单元用于响应播放视频图像文件的请求获取视频图像文件以及由该视频图像播放单元播放相应的视频图像,该客户端还用于响应压缩该视频图像文件的请求产生相应的压缩请求信号,并发送该压缩请求信号至该服务器,该压缩请求信号包括该视频图像文件的识别信息。
该控制单元用于当侦测到该压缩请求信号时将接收到的一确定是否对该视频图像文件进行压缩的反馈信息发送至发该压缩请求信号的客户端。
该客户端的画面组划分单元用于确定该反馈信息为对所视频图像文件进行压缩时将该视频图像文件信息划分为多个画面组信息,并将该多个画面组信息发送至该服务器。
该服务器的压缩任务控制单元用于根据该多个画面组信息产生一记录该多个画面组信息的任务列表。
该客户端的压缩任务获取单元用于从该任务列表中获取一画面组信息,该视频图像文件压缩单元用于根据该获取的画面组信息压缩相应的画面组文件,以及将经过压缩的画面组文件反馈至该服务器。
该服务器的画面组封装单元用于将该客户端发送的经过压缩后的画面组文件进行合并以及封装,从而形成相应的视频压缩文件,并将该视频压缩文件存储在该存储单元中。
进一步地,本发明还提供一种视频图像文件压缩客户端,该客户端与一服务器通信连接,该客户端包括:
控制单元,用于响应用户播放视频图像的请求产生相应的请求信号。响应一压缩视频图像文件的请求产生相应的压缩请求信号,并发送携带该视频图像文件身份识别信息的压缩请求信号至该服务器,以触发该服务器将一确定是否对该视频图像文件进行压缩的反馈信息反馈至该客户端。以及识别该反馈信息为对该视频图像文件进行压缩时产生相应的压缩信号。
视频图像文件获取单元,用于响应该请求信号获取所需播放的视频图像文件。
视频图像播放单元,用于播放该获取的视频图像文件对应的视频图像文件。
画面组划分单元,用于响应该压缩信号将该视频图像文件信息划分为多个画面组信息,并将该多个画面组信息发送至该服务器,以触发该服务器根据该多个画面组信息产生一记录多个画面组信息的任务列表。
压缩任务获取单元,用于从该服务器的任务列表中获取一画面组信息。以及
视频图像文件压缩单元,用于根据获取的该画面组信息压缩相应的画面组文件,并将经过压缩的画面组文件反馈至该服务器,以触发该服务器将接收到的经过压缩后的画面组文件进行合并以及封装从而形成相应的视频压缩文件并由该服务器存储该视频压缩文件。
进一步地,本发明还提供一种视频图像文件压缩方法,该方法包括:
连接至少一客户端至至少一服务器。
由该服务器接收由一客户端根据压缩该视频图像文件的请求而发送的压缩请求信号,该压缩请求信号包括该视频图像文件的识别信息。
由该服务器将接收到的一确定是否对该视频图像文件进行压缩的反馈信息发送至发该压缩请求信号的客户端。
由该客户端确定该反馈信息为对该视频图像文件进行压缩时将该视频图像文件信息划分为多个画面组信息,并将该多个画面组信息发送至该服务器。
由该服务器生成一记录该多个画面组信息的任务列表。
由该至少一客户端从该服务器的任务列表中相应地获取一画面组信息。
由该客户端根据该获取的画面组信息压缩相应的画面组文件并将经过压缩的画面组文件发送至该服务器。以及
由该服务器将接收到的经过压缩的画面组文件合并以及封装形成相应的视频压缩文件,并存储该视频压缩文件。
本发明提供的一种视频图像文件压缩***、客户端及方法,通过客户端将视频图像文件划分为多个画面组,并将对应的画面组信息上传至服务器以形成相应的任务列表,至少一个客户端可以通过读取任务列表获取相应的GOP信息并对相应的GOP文件进行压缩,以及在服务器中完成多个经过压缩的GOP文件的合并与封装从而完成视频图像文件的压缩和保存,解决现有技术中视频压缩的过程在一台设备中完成而不能有效地利用设备的运算能力,降低了对视频压缩文件的处理速度的技术问题,从而将运算任务分解,以充分利用计算资源,提高视频压缩处理速度。
具体实施方式
为详细说明本发明的技术内容、构造特征、所实现目的及效果,以下结合实施方式并配合附图详予说明。
请参阅图1,为本发明实施方式中的视频图像文件压缩***的硬件架构示意图,该***10包括至少一服务器20以及至少一客户端30,其中,每个客户端30均通过网络与服务器20进行通信连接,该网络可以是蓝牙、红外线、wifi等无线通信连接网络,还可以是Internet等有线连接网络。在本实施方式中,该服务器20为云端服务器,该客户端30为具有视频/音频播放功能的电子设备。例如,该客户端30可以是智能手机、平板电脑、个人计算机等能够运行播放程序的智能电子设备。
请同时参阅图2和图3,为本发明一实施方式中的视频图像文件压缩***10中的服务器20及客户端30的功能模块示意图。该服务器20包括存储单元21、控制单元22、输入单元23、GOP封装单元24、压缩任务控制单元25以及通信单元26。每个客户端30均包括存储单元31、视频图像播放单元32、视频图像文件压缩单元33、控制单元34、通信单元35、输入单元36、视频图像文件获取单元37、GOP划分单元38以及压缩任务获取单元39。其中,该客户端30的通信单元35与服务器20的通信单元26进行通信连接,使得客户端30与服务器20通信连接。在本实施方式中,该存储单元21可以是一数据库。
具体地,以一个客户端30与一个服务器20进行通信连接为例对视频图像文件压缩过程加以说明。该输入单元36响应用户播放视频图像的请求产生相应的请求信号,并由控制单元34响应该请求信号调用视频图像文件获取单元37获取所需播放的视频图像文件,以及调用视频图像播放单元32播放该获取的视频图像文件对应的视频图像。在本实施方式中,该视频图像文件获取单元37通过通信单元35从与该客户端30进行网络通信连接的其他装置(图未示)中获取该所需的视频图像文件。在另一实施方式中,原始视频图像文件预先存储在该服务器20的存储单元21中,该视频图像文件获取单元37可以通过通信单元35从服务器20的存储单元21中获取所需的视频图像文件。进一步地,在本实施方式中,该视频图像文件获取单元37还将获取的视频图像文件作为缓存文件存储在存储单元31中。由客户端30的视频图像播放单元32播放及显示视频图像为现有技术,在此不加赘述。
该控制单元34还响应一压缩视频图像文件的请求产生相应的压缩请求信号,并调用通信单元35发送该压缩请求信号至该服务器20,该压缩请求信号包括该客户端30播放的视频图像的文件身份识别信息,以下简称为识别信息,该识别信息可以包括格式、大小、名称以及文件内容的哈希值等该视频图像文件的唯一性识别信息。在本实施方式中,该控制单元34响应用户通过输入单元36输入的操作指令产生该压缩请求信号,在其他实施方式中,该控制单元34还能够在视频图像播放单元32播放视频图像的同时产生该压缩请求信号。
当服务器20接收到客户端30发送的压缩请求信号时,该控制单元22解析该接收到的请求信号中的识别信息,并将该识别信息存储在存储单元21中。在本实施方式中,该控制单元22将接收到的识别信息作为后台数据存储在存储单元21中,***管理员通过与该服务器20进行通信连接的监控设备获取该识别信息,并根据获取的识别信息判断是否对该识别信息对应的视频图像文件进行压缩处理,同时该监控设备根据管理员的判断反馈相应的控制信号至服务器20。其中,该监控设备可以是计算机或者服务器。该服务器20通过通信单元26将该接收到的控制信号发送至相应的客户端30。
当客户端30接收到该控制信号时,该控制单元34识别该控制信号为执行视频图像文件压缩时产生相应的压缩信号,该GOP划分单元38响应该压缩信号获取相应的视频图像文件,并根据该视频图像文件信息划分出多个画面组信息(GOP,group of pictures),以及调用通信单元35将该多个GOP信息发送至服务器20。其中,每个GOP信息包括相应GOP的图像信息,例如,GOP的帧信息。该GOP划分单元38响应该压缩信号获取相应视频图像文件的方法如上所述。
当服务器20接收到客户端30发送的多个GOP信息时,该压缩任务控制单元25根据该多个GOP信息产生一记录多个GOP信息任务列表。
当多个客户端30与该服务器20通信连接时,该多个客户端30中的一个或多个客户端30能够调用相应的通信单元35读取服务器20中的任务列表,并通过压缩任务获取单元39获取其中一GOP信息。在本实施方式中,该压缩任务获取单元39从任务列表中随机地获取一GOP信息。该视频图像文件压缩单元33根据该获取的GOP信息压缩相应的GOP文件,以及调用通信单元35将经过压缩的GOP文件反馈至服务器20。在本实施方式中,该视频图像文件压缩单元33为H.265编解码器。当服务器20接收到由一个或多个客户端30反馈的经过压缩的GOP文件后,该GOP封装单元24将接收到的多个经过压缩后的GOP文件按照原始视频图像文件的顺序进行合并以及封装,从而形成相应的视频压缩文件。同时,该GOP封装单元24将该生成的视频压缩文件存储在存储单元21中。
在本实施方式中,该压缩任务控制单元25能够自动获取每个客户端30的地址信息,该地址信息可以包括客户端30的IP地址、接口信息、网络动态码等。当客户端30的视频图像文件获取单元37获取任务列表中一GOP信息时,该压缩任务控制单元25还将获取该GOP信息的客户端的地址信息记录在任务列表中,并与该GOP信息对应。
相应地,当与服务器20通信连接的客户端30的数量少于任务列表中记录的GOP信息的数量时,未被一客户端30获取的任务,即任务列表中的该GOP信息未被记录对应的客户端地址信息。当有新的客户端30与服务器20通信连接并且压缩任务获取单元39需要从任务列表中获取GOP信息时,该压缩任务获取单元39根据GOP信息是否具有对应的客户端地址信息判断该GOP信息是否已经由其他客户端30获取并压缩,并且由该压缩任务获取单元39根据判断结果从任务列表中获取未被分配至客户端30的GOP信息。然后,由该新的客户端30按照上述记录的方法将该GOP信息对应的GOP文件进行压缩并发送至服务器20。
在本实施方式中,该压缩任务控制单元25还判断任务列表中的GOP信息是否全部被分配一客户端地址信息,并当确定任务列表中的GOP信息已经被全部分配一客户端地址信息时产生相应的压缩任务完成指令,以及当确定任务列表中的GOP信息未全部被分配客户端地址信息时不产生任何指令。该GOP封装单元24响应该压缩任务完成指令将该视频压缩文件存储至存储单元21中。从而,当视频图像文件信息被划分的全部GOP信息完成压缩、合并及封装时,将生成的视频压缩文件存储在存储单元21中。
请同时参阅图4和图5,为本发明另一实施方式中的视频图像文件压缩***10中的服务器20’及客户端30’的功能模块示意图。该服务器20’包括存储单元21’、控制单元22’、输入单元23’、GOP封装单元24’、压缩任务控制单元25’、通信单元26’以及GOP划分单元27’。每个客户端30’均包括存储单元31’、视频图像播放单元32’、视频图像文件压缩单元33’、控制单元34’、通信单元35’、输入单元36’、视频图像文件获取单元37’以及压缩任务获取单元38’。
当服务器20接收到由监控设备根据管理员的判断反馈的是否对视频图像文件进行压缩处理的控制信号时,该控制单元22’识别该控制信号为执行视频图像文件压缩时产生相应地压缩信号,该GOP划分单元27’响应该压缩信号获取相应的视频图像文件,并将该视频图像文件信息划分为多个GOP信息。该压缩任务控制单元25’根据该多个GOP信息产生一记录多个GOP信息任务列表。然后,该***按照如上所述的方法对视频图像文件进行压缩处理。
请参阅图6,为本发明一实施方式中视频图像文件压缩方法的流程图,该方法包括:
步骤S40,连接至少一个客户端30至服务器20,其中,每个客户端30均通过网络与服务器20进行通信连接,该网络可以是蓝牙、红外线、wifi等无线通信连接网络,还可以是Internet等有线连接网络。
步骤S41,与该服务器20通信连接的一个或多个客户端30的其中一客户端30响应用户播放视频图像的请求获取视频图像文件并播放相应的视频图像。
在本实施方式中,该视频图像文件由该客户端30的视频图像文件获取单元37通过通信单元35从与该客户端30进行网络通信连接的其他装置中获取。在另一实施方式中,该视频图像文件预先存储在服务器20的存储单元21中,该视频图像文件获取单元37通过通信单元35从服务器20的存储单元21中获取该视频图像文件。进一步地,在本实施方式中,该视频图像文件获取单元37还将获取的视频图像文件作为缓存文件存储在存储单元31中。
步骤S42,该客户端30的控制单元34响应一压缩视频图像文件的请求产生相应的压缩请求信号,并调用通信单元35发送该压缩请求信号至服务器20,该压缩请求信号包括该客户端30播放的视频图像的文件身份识别信息,以下简称为识别信息,该识别信息可以包括格式、大小、名称以及文件内容的哈希值等该视频图像文件的唯一性识别信息。
在本实施方式中,该控制单元34响应用户通过输入单元36输入的操作指令产生该压缩请求信号,在其他实施方式中,该控制单元34还能够在视频图像播放单元32播放视频图像的同时产生该压缩请求信号。
步骤S43,当该服务器20接收到客户端30发送的压缩请求信号时,该服务器20的控制单元22解析该接收到的压缩请求信号中的识别信息,并将该识别信息存储在存储单元21中,以及根据一反馈信息判断是否对该识别信息对应的视频图像文件进行压缩处理。若是,则进入步骤S44,否则,继续执行该步骤。
在本实施方式中,该控制单元22将接收到的识别信息作为后台数据存储在存储单元21中,***管理员通过与该服务器20进行通信连接的监控设备获取该识别信息,并根据获取的识别信息判断是否对该识别信息对应的视频图像文件进行压缩处理,同时该监控设备根据管理员的判断发送上述反馈信息至服务器20。
步骤S44,该服务器20通过通信单元26将该接收到的反馈信息发送至相应的客户端30,由该客户端30的控制单元34产生相应的压缩信号,该GOP划分单元38响应该压缩信号获取相应的视频图像文件,并将该视频图像文件信息划分为多个GOP信息,以及调用通信单元35将该多个GOP信息发送至服务器20。其中,每个GOP信息包括相应GOP的图像信息,例如,GOP的帧信息。
该GOP划分单元38响应该压缩信号获取相应视频图像文件的方法如上所述。
步骤S45,当服务器20接收到客户端30发送的多个GOP信息时,该压缩任务控制单元25根据该多个GOP信息产生一记录多个GOP信息任务列表。
步骤S46,该多个客户端30中的一个或多个客户端30调用相应的通信单元35读取服务器20中的任务列表,并通过压缩任务获取单元39获取其中一GOP信息。
在本实施方式中,该压缩任务获取单元39从任务列表中随机地获取一GOP信息。
步骤S47,该客户端30的视频图像文件压缩单元33’根据该获取的GOP信息压缩相应的GOP文件,以及调用通信单元35将经过压缩的GOP文件反馈至服务器20。
在本实施方式中,该视频图像文件压缩单元33’为H.265编解码器。
步骤S48,当服务器20接收到由一个或多个客户端30反馈的经过压缩的GOP文件后,该GOP封装单元24将接收到的多个经过压缩后的GOP文件按照原始视频图像文件的顺序进行合并以及封装,从而形成相应的视频压缩文件。同时,该GOP封装单元24将该生成的视频压缩文件存储在存储单元21中。然后,流程结束。
在本实施方式中,该压缩任务控制单元25能够自动获取每个客户端30的地址信息,该地址信息可以包括客户端30的IP地址、接口信息、网络动态码等。当客户端30的视频图像文件获取单元37获取任务列表中一GOP信息时,该压缩任务控制单元25还将获取该GOP信息的客户端的地址信息记录在任务列表中,并与该GOP信息对应。该压缩任务获取单元39根据GOP信息是否具有对应的客户端地址信息判断该GOP信息是否已经由其他客户端30获取并压缩,并且由该压缩任务获取单元39根据判断结果从任务列表中获取未被分配至客户端30的GOP信息。该压缩任务控制单元25还判断任务列表中的GOP信息是否全部被分配一客户端地址信息,并当确定任务列表中的GOP信息已经被全部分配一客户端地址信息时产生相应的压缩任务完成指令,以及当确定任务列表中的GOP信息未全部被分配客户端地址信息时不产生任何指令。该GOP封装单元24响应该压缩任务完成指令将该视频压缩文件存储至存储单元21中。从而,当视频图像文件被划分的全部GOP信息对应的GOP文件完成压缩、合并及封装时,将生成的视频压缩文件存储在存储单元21中。
请参阅图7,为本发明另一实施方式中视频图像文件压缩方法的流程图,该方法包括:
步骤S50,连接至少一个客户端30至服务器20’,其中,每个客户端30均通过网络与服务器20’进行通信连接。
步骤S51,与该服务器20’通信连接的一个或多个客户端30的其中一客户端30响应用户播放视频图像的请求获取视频图像文件并播放相应的视频图像。
步骤S52,该客户端30的控制单元34响应一压缩视频图像文件的请求产生相应的压缩请求信号,并调用通信单元35发送该压缩请求信号至服务器20’,该压缩请求信号包括该客户端30播放的视频图像的文件身份识别信息。
步骤S53,当该服务器20’接收到客户端30发送的压缩请求信号时,该服务器20’的控制单元22’解析该接收到的压缩请求信号中的识别信息,并将该识别信息存储在存储单元21’中,以及根据一反馈信息判断是否对该识别信息对应的视频图像文件进行压缩处理。若是,则进入步骤S54,否则,继续执行该步骤。
步骤S54,该服务器20’的控制单元22’产生相应的压缩信号,该GOP划分单元27’响应该压缩信号获取相应的视频图像文件,并将该视频图像文件信息划分为多个GOP信息。
步骤S55,服务器20’的压缩任务控制单元25’根据该多个GOP信息产生一记录多个GOP信息任务列表。
步骤S56,该多个客户端30中的一个或多个客户端30调用相应的通信单元35读取服务器20’中的任务列表,并通过压缩任务获取单元39’获取其中一GOP信息。
步骤S57,该客户端30的视频图像文件压缩单元33’根据该获取的GOP信息压缩相应的GOP文件,以及调用通信单元35将经过压缩的GOP文件反馈至服务器20’。
步骤S58,当服务器20’接收到由一个或多个客户端30反馈的经过压缩的GOP文件后,该GOP封装单元24’将接收到的多个经过压缩后的GOP文件按照原始视频图像文件的顺序进行合并以及封装,从而形成相应的视频压缩文件。同时,该GOP封装单元24’将该生成的视频压缩文件存储在存储单元21’中。然后,流程结束。
本发明提供的一种视频图像文件压缩***、客户端及方法,通过客户端将视频图像文件划分为多个画面组,并将对应的画面组信息上传至服务器以形成相应的任务列表,至少一个客户端可以通过读取任务列表获取相应的GOP信息并对相应的GOP文件进行压缩,以及在服务器中完成多个经过压缩的GOP信息的合并与封装从而完成视频图像文件的压缩和保存,解决现有技术中视频压缩的过程在一台设备中完成而不能有效地利用设备的运算能力,降低了对视频压缩文件的处理速度的技术问题,从而将运算任务分解,以充分利用计算资源,提高视频压缩处理速度。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。