视频录制管理系统、方法、控制管理节点以及录制节点与流程

文档序号:19060100发布日期:2019-11-06 01:41阅读:216来源:国知局
视频录制管理系统、方法、控制管理节点以及录制节点与流程

本申请实施例涉及计算机技术领域,特别涉及一种视频录制管理系统、方法、控制管理节点以及录制节点。



背景技术:

目前,在使用电子设备播放视频文件时,或是在游戏过程中播放相应的游戏视频时,通常会对播放的视频进行录制,以便今后查看或分享录制的视频。

相关技术在对视频录制进行管理的过程中,在高配置的单个机器上同时安装大量客户端,通过单机同时启动大量客户端的方式并行录制,以得到多个录制视频。

在实现本申请实施例的过程中,发明人发现相关技术至少存在以下问题:

相关技术中,通过单机同时启动大量客户端的方式并行录制,当单机故障时,所有客户端均难以正常工作,导致视频录制的可靠性较低。



技术实现要素:

本申请实施例提供了一种视频录制管理系统、方法、控制管理节点以及录制节点,可用于解决相关技术中的问题。所述技术方案如下:

一方面,本申请实施例提供了一种视频录制管理系统,所述系统包括:

部署在云端的一个或多个连接管理节点、控制管理节点以及一个或多个录制节点;每个连接管理节点连接一个或多个录制节点,所述控制管理节点与各个录制节点连接;

每个录制节点部署有多版本的录制客户端、窗口管理模块、逻辑管理模块和版本更新模块,所述窗口管理模块用于管理录制客户端,所述逻辑管理模块用于实现自定义录制功能;

每个连接管理节点部署有远程桌面连接管理程序,通过所述远程桌面连接管理程序对所述录制客户端进行图形环境会话管理。

另一方面,本申请实施例提供了一种视频录制管理方法,所述方法应用于视频录制管理系统,所述系统包括部署在云端的一个或多个连接管理节点、控制管理节点以及一个或多个录制节点;每个连接管理节点连接一个或多个录制节点,所述控制管理节点与各个录制节点连接;所述方法包括:

所述控制管理节点获取逻辑管理模块的更新数据;

所述控制管理节点将所述逻辑管理模块的更新数据发送至所述视频录制管理系统中的录制节点,由所述录制节点根据所述逻辑管理模块的更新数据进行逻辑管理模块的更新。

另一方面,本申请实施例提供了一种控制管理节点,所述控制管理节点部署在云端,所述控制管理节点应用于视频录制管理系统,所述系统还包括部署在云端的一个或多个连接管理节点以及一个或多个录制节点;每个连接管理节点连接一个或多个录制节点,所述控制管理节点与各个录制节点连接;

所述控制管理节点,用于获取逻辑管理模块的更新数据;将所述逻辑管理模块的更新数据发送至所述视频录制管理系统中的录制节点,由所述录制节点根据所述逻辑管理模块的更新数据进行逻辑管理模块的更新。

另一方面,本申请实施例提供了一种录制节点,所述录制节点部署在云端,所述录制节点应用于视频录制管理系统,所述系统还包括部署在云端的一个或多个连接管理节点以及控制管理节点;每个连接管理节点连接一个或多个录制节点,所述控制管理节点与各个录制节点连接;

所述录制节点,用于接收所述控制管理节点发送的逻辑管理模块的更新数据,根据所述逻辑管理模块的更新数据进行逻辑管理模块的更新。

本申请实施例提供的技术方案带来的有益效果至少包括:

视频录制管理系统部署在云端,由于云端中部署有多个录制节点,所以即使某个录制节点故障,也不会影响其他录制节点上的录制客户端的录制过程,视频录制的可靠性较高。此外,窗口管理模块用于管理录制客户端,逻辑管理模块用于实现自定义录制功能,两者互不影响,便于后续的更新,能够提高视频录制的稳定性,进而实现大规模的视频并行录制。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请实施例的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本申请实施例提供的一种实施环境的示意图;

图2是本申请实施例提供的一种视频录制管理系统的示意图;

图3是本申请实施例提供的一种视频录制管理方法的流程图;

图4是本申请实施例提供的一种更新逻辑管理模块的过程示意图;

图5是本申请实施例提供的一种视频录制管理方法的流程图;

图6是本申请实施例提供的一种更新录制客户端的过程示意图;

图7是本申请实施例提供的一种控制管理节点的结构示意图;

图8是本申请实施例提供的一种录制节点的结构示意图;

图9是本申请实施例提供的一种录制节点的结构示意图;

图10是本申请实施例提供的一种录制节点的结构示意图。

具体实施方式

为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施例实施方式作进一步地详细描述。

目前,在使用电子设备播放视频文件时,或是在游戏过程中播放相应的游戏视频时,通常会对播放的视频进行录制,以便今后查看或分享录制的视频。

对此,本申请实施例提供了一种视频录制管理系统、方法、控制管理节点以及录制节点,请参考图1,其示出了本申请实施例提供的方法实施环境的示意图。该实施环境可以包括:云端10、终端11和服务器12。

其中,在云端10上部署有视频录制管理系统,终端11和服务器12可基于云端10上部署的视频录制管理系统管理视频录制过程。当需要对视频录制进行管理时,可基于本申请实施例提供的管理系统,应用本申请实施例提供的管理方法管理视频录制过程。云端10可以获取录制的视频数据并存储,也可以将录制的视频数据发送至终端11或者服务器12上进行存储。

可选地,终端11可以是诸如手机、平板电脑、个人计算机等的智能设备。服务器12可以是一台服务器,也可以是由多台服务器组成的服务器集群。云端10与终端11通过有线或无线网络建立通信连接,云端10与服务器12通过有线或无线网络建立通信连接。

本领域技术人员应能理解上述云端10、终端11和服务器12仅为举例,其他现有的或今后可能出现的云端、终端或服务器如可适用于本申请实施例,也应包含在本申请实施例保护范围以内,并在此以引用方式包含于此。

本申请实施例提供一种视频录制管理系统,该视频录制系统部署在云端。在进行云端视频录制的过程中,需要在云端的图形环境中部署录制客户端,当图像运行环境会话中的窗口程序启动后,录制客户端才能运行。此外,由于云端缺乏外部显示器以及声卡,所以需要通过远程桌面连接形式维持固定的图形运行环境会话。又由于对窗口程序的启动控制需通过该图形环境会话中的窗口程序管理才能生效,所以窗口程序的更新需通过在已建立的固定会话进行。然而,这种远程桌面窗口程序更新的自动管理相当困难,因为窗口程序一旦更新代码,需要手动重启窗口程序,而手动重启窗口程序的过程涉及到屏幕自动点击等操作,可靠性较差。

对此,本申请实施例提供了一种视频录制管理系统,通过该系统来改善上述窗口程序管理困难的问题。以该系统应用于图1所示的实施环境中的云端10为例。该视频录制管理系统包括:部署在云端的一个或多个连接管理节点、控制管理节点以及一个或多个录制节点;每个连接管理节点连接一个或多个录制节点,控制管理节点与各个录制节点连接。每个录制节点部署有多版本的录制客户端、窗口管理模块、逻辑管理模块和版本更新模块,窗口管理模块用于管理录制客户端,逻辑管理模块用于实现自定义录制功能;每个连接管理节点部署有远程桌面连接管理程序(remotedesktopconnectionmanager,rdcm),通过远程桌面连接管理程序对录制客户端进行图形环境会话管理。

可选地,每个连接管理节点基于部署的远程桌面连接管理程序通过远程桌面连接协议(remotedesktopconnection,rdc)连接一个或多个录制节点,以实现对云端用于部署录制客户端的图像环境会话的管理。

可选地,将属于同一图像环境会话的一个或多个录制节点划分到一个录制节点组,每个连接管理节点通过rdc协议连接一个录制节点组,每个录制节点组中包括一个或多个录制节点。

可选地,控制管理节点与各个录制节点连接包括:控制管理节点通过超文本传输协议(hypertexttransferprotocol,http)与各个录制节点连接,进行录制客户端的更新;控制管理节点通过用于远程登录管理的安全外壳协议(secureshell,ssh)与各个录制节点连接,进行逻辑管理模块的更新。也就是说,当需要更新录制客户端时,控制管理节点通过http协议与各个录制节点连接;当需要更新逻辑管理模块时,控制管理节点通过ssh协议与各个录制节点连接。

可选地,录制节点是指能够进行视频录制的节点,每个录制节点部署的多版本的录制客户端中每个版本可只有一个录制客户端。每个录制节点部署的窗口管理模块中包括固定基础代码,基于该固定基础代码管理录制客户端。固定基础代码可以在每个录制节点中通过镜像安装录制客户端的形式一次性实现。由于固定基础代码用于管理录制客户端,而且一般情况下固定基础代码不需要更新,所以录制客户端能够稳定的完成视频录制过程。

每个录制节点部署的逻辑管理模块中包括逻辑代码,基于该逻辑代码实现自定义录制功能。其中,自定义录制功能可以包括自定义的录制开始时间、自定义的录制结束时间、自定义的录制形式等。根据视频录制的要求的变化,逻辑代码可以频繁变更。每个录制节点部署的版本更新模块用于更新录制客户端。

例如,视频录制管理系统可如图2所示。在该系统中,包含一个控制管理节点,两个连接管理节点和两个录制节点组,每个录制节点组中包含三个录制节点,每个录制节点均部署有窗口管理模块、逻辑管理模块和版本更新模块。连接管理节点1基于rdc协议连接录制节点组1中的三个录制节点,连接管理节点2基于rdc协议连接录制节点组2中的三个录制节点。控制管理节点可以通过ssh协议连接各个录制节点,以实现逻辑管理模块的更新。

由于视频录制管理系统部署在云端,云端中部署有多个录制节点,所以即使某个录制节点故障,也不会影响其他录制节点上的录制客户端的录制过程,视频录制的可靠性较高。此外,窗口管理模块用于管理录制客户端,逻辑管理模块用于实现自定义录制功能,两者互不影响,便于后续的更新,能够提高视频录制的稳定性,进而实现大规模的视频并行录制。

本申请实施例还提供了一种视频录制管理方法,该方法在云端部署录制客户端并行回放录屏,控制录制逻辑的代码以windows服务形式存在,通过接收云端指令实现自定义录制。由于microsoftwindows(一种操作系统)服务使得能够创建在windows会话中可长时间运行的可执行应用程序。这些服务可以在计算机启动时自动启动,可以暂停和重新启动而且不显示任何用户界面。这种服务非常适合在服务器上使用,或任何时候,为了不影响在同一台计算机上工作的其他用户,需要长时间运行功能时使用。还可以在不同于登录用户的特定用户帐户或默认计算机帐户的安全上下文中运行服务。因此,本申请实施例以控制录制逻辑的代码以windows服务的形式存在,来实现云端的自定义录制。

以应用于游戏视频录制场景为例,由于游戏录制客户端以及逻辑代码经常有版本更新,而游戏视频录制需运行在windows图形环境下,云端图形环境对运行程序自动管理困难,本申请实施例提供的方法提供了在这种受限环境下无损发布逻辑代码的方法,扩展性好,能自动管理500个以上的录制客户端,实现大规模的并行录制。

该方法应用于视频录制管理系统,系统包括部署在云端的一个或多个连接管理节点、控制管理节点以及一个或多个录制节点;每个连接管理节点连接一个或多个录制节点,控制管理节点与各个录制节点连接。如图3所示,本申请实施例提供的方法可以包括如下几个步骤:

在步骤301中,控制管理节点获取逻辑管理模块的更新数据。

逻辑管理模块中包括逻辑代码,以基于该逻辑代码实现自定义录制功能。逻辑管理模块的更新数据可以是指更新后的逻辑代码。此时,控制管理节点获取逻辑管理模块的更新数据即为获取更新后的逻辑代码。

控制管理节点获取逻辑管理模块的更新数据的过程可以是:当逻辑管理模块需要更新时,视频录制管理系统的开发人员将逻辑管理模块的更新数据打包上传至视频录制管理系统的开发终端,然后该开发终端将打包后的逻辑管理模块的更新数据上传至云端,控制管理节点从云端获取打包后的逻辑管理模块的更新数据。

需要说明的是,由于录制节点中部署有用于管理录制客户端的窗口管理模块和用于实现自定义录制功能的逻辑管理模块,二者相互分离,所以在获取逻辑管理模块的更新数据的过程中,窗口管理模块不发生任何变化。由于逻辑管理模块的更新不影响窗口管理模块,使得窗口管理模块能够正常管理录制客户端,不影响录制客户端的视频录制,从而能够保证录制的可靠性。

在步骤302中,控制管理节点将逻辑管理模块的更新数据发送至视频录制管理系统中的录制节点,由录制节点根据逻辑管理模块的更新数据进行逻辑管理模块的更新。

可选地,控制管理节点可以将逻辑管理模块的更新数据一同发送至视频录制管理系统中的录制节点,也可以分批次发送至视频录制管理系统中的录制节点。

其中,分批次发送的过程包括但不限于:确定每批次发送的录制节点的数量以及发送批次,然后根据每批次发送的录制节点的数量以及发送批次分批次发送逻辑管理模块的更新数据至视频录制管理系统中的录制节点。每批次发送的录制节点的数量以及发送批次可以根据需要更新逻辑管理模块的总录制节点数量确定。需要说明的是,每批次发送的录制节点的数量可以相同,也可以不同,本申请实施例对此不加以限定。

在控制管理节点将逻辑管理模块的更新数据发送至视频录制管理系统中的录制节点之后,接收到逻辑管理模块的更新数据的录制节点依次执行更新逻辑管理模块、等待录制任务结束、重启逻辑管理模块。该过程可以如图4所示。也就是说,录制节点在接收到逻辑管理模块的更新数据之后,立即更新逻辑管理模块,在更新逻辑管理模块的过程中不影响当前录制任务,也就是更新逻辑模块之后当前录制任务能够继续正常进行;在更新逻辑管理模块后,等待当前录制任务结束;在当前录制任务结束后,录制节点重新启动逻辑管理模块,以使接下来的录制任务基于更新后的逻辑管理模块进行。

云端录制方案需在云端的图形运行环境部署录制客户端,然后通过图形运行环境中的窗口程序来管理录制客户端以实现自定义录制功能,以及接收云端控制实现并行录制的能力。相关技术中,云端的图形运行环境中的窗口程序管理困难,窗口程序一旦更新代码,必须手动重启窗口程序,涉及到屏幕自动点击等操作,可靠性较差,不利于大规模实例的部署及管理。在本申请实施例提供的视频录制管理方法中,不直接管理窗口程序,而是将窗口程序分离为用于管理录制客户端的窗口管理模块和用于实现自定义录制功能的逻辑管理模块,当逻辑管理模块中的逻辑代码更新时,仅需要重启逻辑管理模块,窗口管理模块不需要发生任何改变;另外,当录制管理系统中的录制节点因故障发生重新启动时,在录制节点连接到云端网络后,窗口程序就可以自动启动,不需要手动操作,可靠性较高,有利于大规模实例的部署及管理。

在本申请实施例中,视频录制管理系统部署在云端,由于云端中部署有多个录制节点,所以即使某个录制节点故障,也不会影响其他录制节点上的录制客户端的录制过程,视频录制的可靠性较高。此外,窗口管理模块用于管理录制客户端,逻辑管理模块用于实现自定义录制功能,两者互不影响,便于后续对逻辑管理模块的更新,能够提高视频录制的稳定性,进而实现大规模的视频并行录制。

本申请实施例还提供了一种视频录制管理方法,该方法应用于视频录制管理系统,系统包括部署在云端的一个或多个连接管理节点、控制管理节点以及一个或多个录制节点;每个连接管理节点连接一个或多个录制节点,控制管理节点与各个录制节点连接。如图5所示,本申请实施例提供的方法可以包括如下几个步骤:

在步骤501中,控制管理节点获取录制客户端的更新数据。

录制客户端的更新数据可以是指录制客户端的全量更新数据,也可以是指录制客户端的热更新数据,本申请实施例对此不加以限定。

可选地,控制管理节点获取录制客户端的更新数据的过程可以是:当录制客户端需要更新时,视频录制管理系统的开发人员将录制客户端的更新数据打包上传至视频录制管理系统的开发终端,然后该开发终端将打包后录制客户端的更新数据上传至云端,控制管理节点从云端中获取打包后的录制客户端的更新数据。

在步骤502中,控制管理节点将录制客户端的更新数据发送至视频录制管理系统中的录制节点,由录制节点根据录制客户端的更新数据进行录制客户端的更新。

可选地,控制管理节点将录制客户端的更新数据发送至视频录制管理系统中的录制节点,包括:控制管理节点将录制客户端的更新数据发送至视频录制管理系统中的任一录制节点;控制管理节点与接收到录制客户端的更新数据的录制节点并行将录制客户端的更新数据发送至未接收到录制客户端的更新数据的录制节点。也就是说,获取到录制客户端的更新数据的控制管理节点以及接收到录制客户端的更新数据的录制节点可以同时将录制客户端的更新数据发送至其他未接收到录制客户端的更新数据的录制节点,以提高发送更新数据的效率。

例如,控制管理节点将录制客户端的更新数据发送至视频录制管理系统中的录制节点的过程如图6所示。在第一轮发送过程中,控制管理节点随机选择视频录制管理系统中的任一录制节点a,将录制客户端的更新数据发送至录制节点a,本轮共完成1个录制节点的发送;在第二轮发送过程中,控制管理节点将录制客户端的更新数据发送至录制节点c,录制节点a将录制客户端的更新数据发送至录制节点b,本轮累积完成3个录制节点的发送。以此类推,直至完成将录制客户端的更新数据发送至视频录制管理系统中的各个录制节点。根据上述并行发送过程,经过n轮的发送,可以累积完成2n-1个录制节点的发送。通过并行发送录制客户端的更新数据的方式,能够实现以指数级别快速更新录制客户端,进而提高视频录制的效率。

可选地,上述录制客户端的更新数据的发送过程可以采用点对点技术(peer-to-peer,p2p)。p2p又称对等互联网络技术,是一种网络新技术,该技术在发送更新数据的过程中,依赖的是网络中参与者的计算能力和带宽,而不是只依赖较少的几台服务器。在p2p技术中没有客户端或服务器的概念,只有平等的同级节点,从而能够提高录制客户端的更新数据的发送效率。

在本申请实施例中,视频录制管理方法应用于部署在云端的视频录制管理系统,由于云端中部署有多个录制节点,所以即使某个录制节点故障,也不会影响其他录制节点中的录制客户端的录制过程,视频录制的可靠性较高。此外,单独获取录制客户端的更新数据并进行录制客户端的更新,此过程只涉及版本更新模块,不影响录制节点中的其他模块,能够提高更新录制客户端的效率,提高视频录制的稳定性,进而实现大规模的视频并行录制。

本申请实施例还提供了一种控制管理节点,该控制管理节点部署在云端,该控制管理节点应用于视频录制管理系统,系统还包括部署在云端的一个或多个连接管理节点以及一个或多个录制节点;每个连接管理节点连接一个或多个录制节点,控制管理节点与各个录制节点连接。

参见图7,该控制管理节点包括:

获取模块701,用于获取逻辑管理模块的更新数据;

发送模块702,用于将逻辑管理模块的更新数据发送至视频录制管理系统中的录制节点,由录制节点根据逻辑管理模块的更新数据进行逻辑管理模块的更新。

可选地,发送模块702,用于将逻辑管理模块的更新数据分批次发送至视频录制管理系统中的录制节点,使得接收到逻辑管理模块的更新数据的录制节点依次执行更新逻辑管理模块、等待录制任务结束、重启逻辑管理模块。

可选地,获取模块701,还用于获取录制客户端的更新数据;

发送模块702,还用于将录制客户端的更新数据发送至视频录制管理系统中的录制节点,由录制节点根据录制客户端的更新数据进行录制客户端的更新。

可选地,发送模块702,还用于将录制客户端的更新数据发送至视频录制管理系统中的任一录制节点;控制管理节点与接收到录制客户端的更新数据的录制节点并行将录制客户端的更新数据发送至未接收到录制客户端的更新数据的录制节点。

在本申请实施例中,视频录制管理系统部署在云端,由于云端中部署有多个录制节点,所以即使某个录制节点故障,也不会影响其他单机中的录制客户端的录制过程,视频录制的可靠性较高。此外,窗口管理模块用于管理录制客户端,逻辑管理模块用于实现自定义录制功能,两者互不影响,能够提高视频录制的稳定性,进而实现大规模的视频并行录制。

需要说明的是,上述实施例提供的控制管理节点在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的控制管理节点与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。

在另一个实施例中还提供一种录制节点,该录制节点部署在云端,该录制节点应用于视频录制管理系统,系统还包括部署在云端的一个或多个连接管理节点以及控制管理节点;每个连接管理节点连接一个或多个录制节点,控制管理节点与各个录制节点连接。

参见图8,该录制节点包括:

接收模块801,用于接收控制管理节点发送的逻辑管理模块的更新数据;

更新模块802,用于根据逻辑管理模块的更新数据进行逻辑管理模块的更新。

可选地,参见图9,该录制节点还包括:

等待模块803,用于在根据逻辑管理模块的更新数据进行逻辑管理模块的更新后,等待录制任务结束;

重启模块804,用于在录制任务结束后,重启逻辑管理模块。

可选地,接收模块801,还用于接收控制管理节点发送的录制客户端的更新数据;

更新模块802,还用于根据录制客户端的更新数据进行录制客户端的更新。

可选地,参见图10,该录制节点还包括:

发送模块805,用于接收到录制客户端的更新数据后,与控制管理节点并行将录制客户端的更新数据发送至未接收到录制客户端的更新数据的录制节点。

在本申请实施例中,视频录制管理系统部署在云端,由于云端中部署有多个单机,所以即使某个单机故障,也不会影响其他单机中的录制客户端的录制过程,视频录制的可靠性较高。此外,窗口管理模块用于管理录制客户端,逻辑管理模块用于实现自定义录制功能,两者互不影响,能够提高视频录制的稳定性,进而实现大规模的视频并行录制。

需要说明的是,上述实施例提供的录制节点在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的录制节点与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。

在示例性实施例中,还提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令。所述至少一条指令经配置以由一个或者一个以上处理器执行,以实现上述任一种视频录制管理方法。

在示例性实施例中,还提供了一种计算机可读存储介质,所述存储介质中存储有计算机程序,所述计算机程序在被计算机设备的处理器执行时实现上述任一种视频录制管理方法。

应当理解的是,在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。

上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。

以上所述仅为本申请实施例的示例性实施例,并不用以限制本申请实施例,凡在本申请实施例的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请实施例的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1